summaryrefslogtreecommitdiffstats
path: root/tools/objectsnapper/code/scripts/os_main.mel
diff options
context:
space:
mode:
Diffstat (limited to 'tools/objectsnapper/code/scripts/os_main.mel')
-rw-r--r--tools/objectsnapper/code/scripts/os_main.mel228
1 files changed, 228 insertions, 0 deletions
diff --git a/tools/objectsnapper/code/scripts/os_main.mel b/tools/objectsnapper/code/scripts/os_main.mel
new file mode 100644
index 0000000..7a8c567
--- /dev/null
+++ b/tools/objectsnapper/code/scripts/os_main.mel
@@ -0,0 +1,228 @@
+//-----------------------------------------------------------------------------
+// Copyright (C) 2001 Radical Entertainment Ltd. All rights reserved.
+//
+// TE_main.mel
+//
+// Description: Installs the Object Snapper (OS) interface.
+// As a convention all Object Snapper global procedures
+// and global variables are prefixed with "os_". All commands
+// exposed through OS plugins are prefixed with "OS_".
+//
+// MCB = Menu Call Back
+// BCB = Button Call Back
+//
+// Modification History:
+// + Created March 18 2002 -- Cary Brisebois
+//-----------------------------------------------------------------------------
+
+
+global float $gOS_Offset = 0.10;
+
+
+//-----------------------------------------------------------------------------
+// o s _ b r e a k p o i n t
+//
+// Synopsis:
+//
+// Parameters: NONE
+//
+// Returns: NOTHING
+//
+// Constraints: NONE
+//
+//-----------------------------------------------------------------------------
+global proc os_breakpoint( string $tag )
+{
+ confirmDialog -m ( "BreakPoint: " + $tag );
+}
+
+//-----------------------------------------------------------------------------
+// o s _ M C B _ A b o u t
+//
+// Synopsis: Display an About Object Snapper window.
+//
+// Parameters: NONE
+//
+// Returns: NOTHING
+//
+// Constraints: NONE
+//
+//-----------------------------------------------------------------------------
+global proc os_MCB_About()
+{
+ string $pluginVersion = "1.0";
+
+ string $message = ( "\nSimpsons Road Rage Object Snapper.\n\n" +
+ "Release " + $pluginVersion + "\n" +
+ "(c) 2001, Radical Entertainment, Ltd.\n\n" );
+
+
+ confirmDialog -title "About Object Snapper"
+ -message $message
+ -button "OK"
+ -defaultButton "OK";
+}
+
+//-----------------------------------------------------------------------------
+// o s _ d o M a i n M e n u I t e m s
+//
+// Synopsis: Creates the OS menu on the menu handle passed in.
+//
+// Parameters: NONE
+//
+// Returns: NOTHING
+//
+// Constraints: NONE
+//
+//-----------------------------------------------------------------------------
+global proc os_doMainMenuItems( string $menu )
+{
+ menu -edit -tearOff true -allowOptionBoxes true $menu;
+
+ menuItem -label "Snap Single Selected" -command ( "os_MCB_SnapSingleSelected()" );
+
+ menuItem -divider true;
+
+ menuItem -label "Snap All Selected" -command ( "os_MCB_SnapSelected()" );
+
+ menuItem -divider true;
+
+ menuItem -label "Snap Tree Line" -command ( "os_MCB_SnapTreeLine()" );
+
+ menuItem -divider true;
+
+ menuItem -label "About" -command "os_MCB_About()";
+
+ menuItem -optionBox true -command "os_MCB_OSOptions()";
+
+ setParent -m ..;
+}
+
+//-----------------------------------------------------------------------------
+// o s _ I n s t a l l U I
+//
+// Synopsis:
+//
+// Parameters: NONE
+//
+// Returns: NOTHING
+//
+// Constraints: NONE
+//
+//-----------------------------------------------------------------------------
+global proc os_InstallUI()
+{
+
+ global string $gMainWindow;
+
+ //
+ // Install OS menu as a root menu.
+ //
+ if ( `menu -exists os_MainMenu` ) deleteUI os_MainMenu;
+ menu -label "Object Snapper" -allowOptionBoxes true -parent $gMainWindow os_MainMenu;
+
+ os_doMainMenuItems "os_MainMenu";
+}
+
+//==============================================================================
+// global proc os_RemoveUI
+//==============================================================================
+// Description: Comment
+//
+// Parameters: ()
+//
+// Return: global
+//
+//==============================================================================
+global proc os_RemoveUI()
+{
+ if ( `menu -exists os_MainMenu` ) deleteUI os_MainMenu;
+ if ( `window -exists os_OptionWindow` ) deleteUI os_OptionWindow;
+}
+
+//==============================================================================
+// global proc os_MCB_SnapSelected
+//==============================================================================
+// Description: Comment
+//
+// Parameters: ()
+//
+// Return: global
+//
+//==============================================================================
+global proc os_MCB_SnapSelected()
+{
+ global float $gOS_Offset;
+
+ OS_SnapSelected( $gOS_Offset, 0 );
+}
+
+
+//==============================================================================
+// global proc os_MCB_SnapSingleSelected
+//==============================================================================
+// Description: Comment
+//
+// Parameters: ()
+//
+// Return: global
+//
+//==============================================================================
+global proc os_MCB_SnapSingleSelected()
+{
+ global float $gOS_Offset;
+
+ OS_SnapSelected( $gOS_Offset, 1 );
+}
+
+//=============================================================================
+// global proc os_MCB_SnapTreeLine
+//=============================================================================
+// Description: Comment
+//
+// Parameters: ()
+//
+// Return: global
+//
+//=============================================================================
+global proc os_MCB_SnapTreeLine()
+{
+ global float $gOS_Offset;
+
+ OS_SnapSelected( $gOS_Offset, 2 );
+}
+
+//==============================================================================
+// global proc os_MCB_OSOptions
+//==============================================================================
+// Description: Comment
+//
+// Parameters: ()
+//
+// Return: global
+//
+//==============================================================================
+global proc os_MCB_OSOptions()
+{
+ global float $gOS_Offset;
+
+ if ( `window -exists os_OptionWindow` ) deleteUI os_OptionWindow;
+
+ window -title "Object Snapper Options" os_OptionWindow;
+
+ columnLayout;
+
+ rowLayout -nc 2;
+
+ text -label "Offset (M):";
+
+ floatField -min -10.0 -max 10.0 -value $gOS_Offset -cc ("$gOS_Offset = #1");
+
+ setParent ..;
+
+ setParent ..;
+
+ showWindow;
+}
+
+evalDeferred "os_InstallUI"; \ No newline at end of file