Go to: Synopsis. Return value. Flags. MEL examples.
scriptedPanelType [-addCallback string] [-copyStateCallback string] [-createCallback string] [-customView boolean] [-defineTemplate string] [-deleteCallback string] [-exists] [-initCallback string] [-obsolete boolean] [-removeCallback string] [-retainOnFileOpen boolean] [-saveStateCallback string] [-unique boolean] [-useTemplate string]
[string]
scriptedPanelType is undoable, queryable, and editable.
This command defines the callbacks for a type of scripted panel. The panel type created by this command is then used when creating a scripted panel. See also the 'scriptedPanel' command.
string | The name of the scripted panel type. |
In query mode, return type is based on queried flag.
Long name (short name) | Argument types | Properties | ||
---|---|---|---|---|
-addCallback(-acb)
|
string
|
![]() ![]() ![]() |
||
|
||||
-copyStateCallback(-ocb)
|
string
|
![]() ![]() ![]() |
||
|
||||
-createCallback(-ccb)
|
string
|
![]() ![]() ![]() |
||
|
||||
-customView(-cv)
|
boolean
|
![]() ![]() ![]() |
||
|
||||
-defineTemplate(-dt)
|
string
|
![]() |
||
|
||||
-deleteCallback(-dcb)
|
string
|
![]() ![]() ![]() |
||
|
||||
-exists(-ex)
|
|
![]() |
||
|
||||
-initCallback(-icb)
|
string
|
![]() ![]() ![]() |
||
|
||||
-obsolete(-o)
|
boolean
|
![]() ![]() ![]() |
||
|
||||
-removeCallback(-rcb)
|
string
|
![]() ![]() ![]() |
||
|
||||
-retainOnFileOpen(-rfo)
|
boolean
|
![]() ![]() ![]() |
||
|
||||
-saveStateCallback(-scb)
|
string
|
![]() ![]() ![]() |
||
|
||||
-unique(-u)
|
boolean
|
![]() ![]() ![]() |
||
|
||||
-useTemplate(-ut)
|
string
|
![]() |
||
|
![]() |
![]() |
![]() |
![]() |
// define callbacks for this type and make it a unique type // as we don't want two panels sharing the same global data. scriptedPanelType -ccb sampleCreateCallback -icb sampleInitCallback -acb sampleAddCallback -rcb sampleRemoveCallback -dcb sampleDeleteCallback -scb sampleSaveStateCallback -unique true sampleScriptedPanelType; global proc sampleCreateCallback(string $panelName) { // // Description: // Create any editors unparented here and do // any other initialization required. // // In this example we will only declare a global array to // maintain some state information. // global float $gSampleState[5]; } global proc sampleInitCallback(string $panelName) { // // Description: // Re-initialize the panel on file -new or file -open. // // In this example we will only re-init the global array. // global float $gSampleState[]; $gSampleState[0] = 20.2; $gSampleState[1] = 50.5; $gSampleState[2] = 34.7; $gSampleState[3] = 2.0; $gSampleState[4] = 1.0; } global proc sampleAddCallback(string $panelName) { // // Description: Create UI and parent any editors. // global float $gSampleState[]; columnLayout -adj true topCol; separator -style "none" -h 10; frameLayout -l "Sliders" -mw 10; columnLayout -adj true sampleCol; separator -style "none" -h 10; floatSliderGrp -l "Property A" -f true -v $gSampleState[0] fsg1; floatSliderGrp -l "Property B" -f true -v $gSampleState[1] fsg2; floatSliderGrp -l "Property C" -f true -v $gSampleState[2] fsg3; separator -style "none" -h 10; setParent ..; setParent ..; separator -style "none" -h 10; frameLayout -l "Radio Buttons" -mw 10; columnLayout sampleCol2; separator -style "none" -h 10; radioButtonGrp -nrb 3 -l "Big Options" -la3 "Option 1" "Option 2" "Option 3" -select $gSampleState[3] rbg; radioButtonGrp -nrb 3 -l "Little Options" -la3 "Option 4" "Option 5" "Option 6" -select $gSampleState[4] rbg2; separator -style "none" -h 10; } global proc sampleRemoveCallback(string $panelName) { // // Description: // Unparent any editors and save state if required. // global float $gSampleState[]; // Scope the control names to this panel. // string $control = `scriptedPanel -q -control $panelName`; setParent $control; $gSampleState[0] = `floatSliderGrp -q -v fsg1`; $gSampleState[1] = `floatSliderGrp -q -v fsg2`; $gSampleState[2] = `floatSliderGrp -q -v fsg3`; $gSampleState[3] = `radioButtonGrp -q -sl rbg`; $gSampleState[4] = `radioButtonGrp -q -sl rbg2`; } global proc sampleDeleteCallback(string $panelName) { // // Description: // Delete any editors and do any other cleanup required. } global proc string sampleSaveStateCallback(string $panelName) { // // Description: // Return a string that will restore the current state // when it is executed. global float $gSampleState[]; $indent = "\n\t\t\t"; return ($indent+"$gSampleState[0]="+$gSampleState[0]+";" + $indent+"$gSampleState[1]="+$gSampleState[1]+";" + $indent+"$gSampleState[2]="+$gSampleState[2]+";" + $indent+"$gSampleState[3]="+$gSampleState[3]+";" + $indent+"$gSampleState[4]="+$gSampleState[4]+";" + $indent+"setSamplePanelState $panelName;\n" ); } global proc setSamplePanelState( string $whichPanel ) { // // Description: // This is a convenience proc to set the panel state from the // global array global float $gSampleState[]; // Scope the control names to this panel. // string $control = `scriptedPanel -q -control $whichPanel`; if ("" != $control) { setParent $control; floatSliderGrp -e -v $gSampleState[0] fsg1; floatSliderGrp -e -v $gSampleState[1] fsg2; floatSliderGrp -e -v $gSampleState[2] fsg3; if (0 != $gSampleState[3]) { radioButtonGrp -e -sl $gSampleState[3] rbg; }; if (0 != $gSampleState[4]) { radioButtonGrp -e -sl $gSampleState[4] rbg2; } } } // This script will create an unparented scripted panel, place it // in one window, remove it, and place it in another window then // return it to the first window. // // Create unparented scripted panel // scriptedPanel -unParent -type sampleScriptedPanelType -label "Sample" sampleScriptedPanel; // Create a couple of windows and parent the scripted panel to the first. // window sampleWin; frameLayout -lv false -bv false frm; scriptedPanel -e -parent "sampleWin|frm" sampleScriptedPanel; showWindow; window -w `window -q -w sampleWin` -h `window -q -h sampleWin` sampleWin2; frameLayout -lv false -bv false frm; showWindow; // Reparent the scripted panel to the second window. // scriptedPanel -e -unParent sampleScriptedPanel; scriptedPanel -e -parent "sampleWin2|frm" sampleScriptedPanel; // Reparent the scripted panel back to the first window. // scriptedPanel -e -unParent sampleScriptedPanel; scriptedPanel -e -parent "sampleWin|frm" sampleScriptedPanel; // Close both windows // catch (`window -e -visible false sampleWin`); catch (`window -e -visible false sampleWin2`); // The scripted panel should appear in the Panel menu. Select // Panels->Panel->Sample and the panel should appear in the main window. //