summaryrefslogblamecommitdiffstats
path: root/tools/MayaTools/Maya4.0/scripts/others/os_main.mel
blob: 7a8c567d80fedb695818ff15f0846ee0d68a60c4 (plain) (tree)



































































































































































































































                                                                                          
//-----------------------------------------------------------------------------
// 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";