Interface Philosophy?

Hey there everybody-

I have finally dove into writing interfaces with mel. I have avoided it, as for the most part, I am the only one using my script work. Anyways, I am workin on an interface to allow one to select and do other relatively benign operations on a specific set of objects. I am wondering if anyone could shed some light on how to go about ensuring that eh interface will work in many situations. I forsee the following issues:

namespaces...
multiple duplicates of the same objects..

Currently, I am using global variables to store this data, and then allowing the user to input the names that reflect their particular setup. I suppose this is a bit oblique, but hear me out. I basically have created a Gui for characters. All it really does is make selection easier. I am in a mac environment, otherwise I would use the tools that are already out there. So far, I have setup a list of the controllers that the user can input the names of there controllers, and then the gui uses this list to grab the exact name of that object when they push the corresponding button. So here presents an issue. What happens when they duplicate that object? Now there are two objects with the same name...woops! So I had an idea to create a node that would be created when they defined a character. This node would serve two purposes. One, it could store the data for the object names, and two, it would run a script node that would open the interface when it was selected. Anywasys, I forsee some real problems with my current setup, and would like to hear from you guys who have experience with writing interfaces.

By the way, I am unsure on how to save the data into that node... just know I have seen that here a bunch... any clues on that would be appreciated.

Here is my code.. Currently it works enough to see what I am doing.

[codebox]global string $ns;
global string $char;
global int $selMode;
global string $selModeString;
global int $ghostMode;
global string $charGeomSet;

$win =window -t "Character Gui" -widthHeight 710 550 -sizeable true;
string $rowCol = rowColumnLayout -numberOfColumns 2 -columnWidth 1 500 -cw 2 200;
string $tabs = tabLayout -p $rowCol -cr 1 -innerMarginWidth 5 -innerMarginHeight 5;

windowPref $win;$cmdHead = "string $headString = textField -q -tx $cntHeadTF;";

 string $child1 = `columnLayout -co "left" 50 -adj true`;
    string $form = `formLayout -numberOfDivisions 100`;

//head Buttons Declarations

$headB = button -l "head" -w 50 -h 50 -c "eval $cmdHead;";
$ikFK_SpineFS = floatSlider -vis 0 -w 30 -hr false -min 0 -max 1;

//spineButtons
$spine1B = button -l "s1" -w 20 -h 20 -c "eval $cmdSpine1";
$spine2B = button -l "s2" -w 20 -h 20 -c "eval $cmdSpine2";
$spine3B = button -l "s3" -w 20 -h 20 -c "eval $cmdSpine3";
$spine4B = button -l "s4" -w 20 -h 20 -c "eval $cmdSpine4";
$rootB = button -l "root" -w 30 -h 20 -c "eval $cmdRoot";
$spineTnsVisB = button -l "Tv" -w 10 -h 10;
$masterCogB = button -l "masterCog" -w 300 -h 30;

//LArmButtons (FK)
$LArm_CollarB = button -l "L\_Cllr" -w 20 -h 15;
$LArm_ShldrB = button -l "L\_Shldr" -w 20 -h 20;
$LArm_ElbowB = button -l "L\_Elbow" -w 20 -h 20;
$LArm_WristB = button -l "L\_Wrist" -w 20 -h 20;
$LArm_HandB = button -l "L\_Hand" -w 40 -h 40;

$LArm_TnsVisB = button -l "Tv" -w 10 -h 10;

$ikFK_LArmFS = floatSlider -vis 0 -w 70 -min 0 -max 1 -value 0;
$ikFK_LArmFF = floatField -vis 0 -min 0 -max 1 -value 0;

//RArmButtons (FK)
$RArm_CollarB = button -l "R\_Cllr" -w 20 -h 15;
$RArm_ShldrB = button -l "R\_Shldr" -w 20 -h 20;
$RArm_ElbowB = button -l "R\_Elbow" -w 20 -h 20;
$RArm_WristB = button -l "R\_Wrist" -w 20 -h 20;
$RArm_HandB = button -l "R\_Hand" -w 40 -h 40;

$RArm_TnsVisB = button -l "Tv" -w 10 -h 10;

$ikFK_RArmFS = floatSlider -vis 0 -w 70 -min 0 -max 1 -value 0;
$ikFK_RArmFF = floatField -vis 0 -min 0 -max 1 -value 0;

//LLegButtons (FK)
$LLeg_FemurB = button -l "Fmr" -w 30 -h 30;
$LLeg_KneeB = button -l "Knee" -w 30 -h 30;
$LLeg_AnkleB = button -l "Ank" -w 20 -h 20;
$LLeg_MidFootB = button -l "MFt" -w 20 -h 20;
$LLeg_ToeB = button -l "Toe" -w 40 -h 20;
$LLeg_FootB = button -l "Foot" -w 80 -h 10;

$LLegTnsVisB = button -l "Tv" -w 10 -h 10;

//RLegButtons (FK)
$RLeg_FemurB = button -l "Fmr" -w 30 -h 30;
$RLeg_KneeB = button -l "Knee" -w 30 -h 30;
$RLeg_AnkleB = button -l "Ank" -w 20 -h 20;
$RLeg_MidFootB = button -l "MFt" -w 20 -h 20;
$RLeg_ToeB = button -l "Toe" -w 40 -h 20;

$RLegTnsVisB = button -l "Tv" -w 10 -h 10;

$RLeg_FootB = button -l "Foot" -w 80 -h 10;

///////////////////////////////////////////////////////
/////body Layout placement/////////////////////////////
///////////////////////////////////////////////////////

formLayout -edit

-attachForm $headB "top" 30
-attachPosition $headB "left" 45 35
-attachControl $spine4B "top" 40 $headB
-attachControl $spine4B "left" -35 $headB

-attachControl $spine3B "top" 10 $spine4B
-attachControl $spine3B "left" -20 $spine4B

-attachControl $spine2B "top" 10 $spine3B
-attachControl $spine2B "left" -20 $spine3B

-attachControl $spine1B "top" 10 $spine2B
-attachControl $spine1B "left" -20 $spine2B

-attachControl $rootB "top" 10 $spine1B
-attachControl $rootB "left" -25 $spine1B

-attachControl $spineTnsVisB "top" -20 $spine2B
-attachControl $spineTnsVisB "left" 25 $spine2B

-attachControl $masterCogB "top" 150 $rootB
-attachControl $masterCogB "left" -165 $rootB

//IKFK Spine Slider
-attachControl $ikFK_SpineFS "bottom" -50 $spine1B
-attachControl $ikFK_SpineFS "left" 20 $spine1B

//LArm Placement
-attachControl $LArm_CollarB "right" -5 $spine4B
-attachControl $LArm_CollarB "bottom" 15 $spine4B

-attachControl $LArm_ShldrB "right" 5 $LArm_CollarB
-attachControl $LArm_ShldrB "top" 5 $LArm_CollarB

-attachControl $LArm_ElbowB "right" 10 $LArm_ShldrB
-attachControl $LArm_ElbowB "top" -20 $LArm_ShldrB

-attachControl $LArm_WristB "right" 10 $LArm_ElbowB
-attachControl $LArm_WristB "top" -20 $LArm_ElbowB

-attachControl $ikFK_LArmFS "right" 10 $LArm_CollarB
-attachControl $ikFK_LArmFS "top" -15 $LArm_CollarB

-attachControl $ikFK_LArmFF "right" -120 $ikFK_LArmFS
-attachControl $ikFK_LArmFF "bottom" 5 $ikFK_LArmFS

-attachControl $LArm_HandB "right" 10 $LArm_WristB
-attachControl $LArm_HandB "top" -40 $LArm_WristB

-attachControl $LArm_TnsVisB "right" -20 $LArm_ElbowB
-attachControl $LArm_TnsVisB "bottom" 20 $LArm_WristB

//RArm Placement

-attachControl $RArm_CollarB "left" -5 $spine4B
-attachControl $RArm_CollarB "bottom" 15 $spine4B

-attachControl $RArm_ShldrB "left" 5 $RArm_CollarB
-attachControl $RArm_ShldrB "top" 5 $RArm_CollarB

-attachControl $RArm_ElbowB "left" 10 $RArm_ShldrB
-attachControl $RArm_ElbowB "top" -20 $RArm_ShldrB

-attachControl $RArm_WristB "left" 10 $RArm_ElbowB
-attachControl $RArm_WristB "top" -20 $RArm_ElbowB

-attachControl $ikFK_RArmFS "left" 10 $RArm_CollarB
-attachControl $ikFK_RArmFS "top" -15 $RArm_CollarB

-attachControl $ikFK_RArmFF "left" -120 $ikFK_RArmFS
-attachControl $ikFK_RArmFF "bottom" 5 $ikFK_RArmFS

-attachControl $RArm_HandB "left" 10 $RArm_WristB
-attachControl $RArm_HandB "top" -40 $RArm_WristB

-attachControl $RArm_TnsVisB "right" -20 $RArm_ElbowB
-attachControl $RArm_TnsVisB "bottom" 20 $RArm_WristB

//LLeg Placement

-attachControl $LLeg_FemurB "right" 5 $rootB
-attachControl $LLeg_FemurB "top" -20 $rootB

-attachControl $LLeg_KneeB "right" -30 $LLeg_FemurB
-attachControl $LLeg_KneeB "top" 5 $LLeg_FemurB

-attachControl $LLeg_AnkleB "right" -30 $LLeg_KneeB
-attachControl $LLeg_AnkleB "top" 15 $LLeg_KneeB

-attachControl $LLeg_MidFootB "right" 10 $LLeg_AnkleB
-attachControl $LLeg_MidFootB "top" 15 $LLeg_AnkleB

-attachControl $LLeg_ToeB "right" 10 $LLeg_MidFootB
-attachControl $LLeg_ToeB "top" -20 $LLeg_MidFootB

-attachControl $LLegTnsVisB "right" 10 $LLeg_FemurB
-attachControl $LLegTnsVisB "top" -20 $LLeg_FemurB

-attachControl $LLeg_FootB "right" -20 $LLeg_MidFootB
-attachControl $LLeg_FootB "top" 5 $LLeg_MidFootB

//RLeg Placement

-attachControl $RLeg_FemurB "left" 5 $rootB
-attachControl $RLeg_FemurB "top" -20 $rootB

-attachControl $RLeg_KneeB "left" -30 $RLeg_FemurB
-attachControl $RLeg_KneeB "top" 5 $RLeg_FemurB

-attachControl $RLeg_AnkleB "left" -30 $RLeg_KneeB
-attachControl $RLeg_AnkleB "top" 15 $RLeg_KneeB

-attachControl $RLeg_MidFootB "left" 10 $RLeg_AnkleB
-attachControl $RLeg_MidFootB "top" 15 $RLeg_AnkleB

-attachControl $RLeg_ToeB "left" 10 $RLeg_MidFootB
-attachControl $RLeg_ToeB "top" -20 $RLeg_MidFootB

-attachControl $RLegTnsVisB "left" 10 $RLeg_FemurB
-attachControl $RLegTnsVisB "top" -20 $RLeg_FemurB

-attachControl $RLeg_FootB "left" -20 $RLeg_MidFootB
-attachControl $RLeg_FootB "top" 5 $RLeg_MidFootB

$form;
setParent ..;
setParent ..;

/* string $child2 = columnLayout -cal "center" -adj true;
string $faceForm = formLayout -numberOfDivisions 100;

//mouth buttons

$mLCornB= button -l MCrn -w 40 -h 40;
$mRCornB= button -l MCrn -w 40 -h 40;

//Nose Button

$noseB = button -l Ns -w 40 -h 170;

//cheeks

$LChB = button -l CHK -w 30 -h 30;
$RChB = button -l CHK -w 30 -h 30;

//Eyes
$LEyeB = button -l EYE -w 30 -h 30;
$REyeB = button -l EYE -w 30 -h 30;

$LLLidB = button -l LD -w 80 -h 20;
$RLLidB = button -l LD -w 80 -h 20;

$LULidB = button -l LD -w 80 -h 20;
$RULidB = button -l LD -w 80 -h 20;

$LOutBrB= button -l OBr -w 20 -h 20;
$LMidBrB= button -l MBr -w 20 -h 20;
$LInBrB = button -l IBr -w 20 -h 20;

$ROutBrB= button -l OBr -w 20 -h 20;
$RMidBrB= button -l MBr -w 20 -h 20;
$RInBrB = button -l IBr -w 20 -h 20;

formLayout -edit

//Nose (Starting Point) Placment

-attachForm $noseB "top" 200
-attachPosition $noseB "left" 50 40

//Eye Placment

-attachControl $REyeB "right" 70 $noseB
-attachControl $REyeB "bottom" -30 $noseB

-attachControl $LEyeB "left" 70 $noseB
-attachControl $LEyeB "bottom" -30 $noseB

-attachControl $LULidB "left" -55 $LEyeB
-attachControl $LULidB "bottom" 5 $LEyeB

-attachControl $RULidB "right" -55 $REyeB
-attachControl $RULidB "bottom" 5 $REyeB

-attachControl $LLLidB "left" -55 $LEyeB
-attachControl $LLLidB "top" 5 $LEyeB

-attachControl $RLLidB "right" -55 $REyeB
-attachControl $RLLidB "top" 5 $REyeB

//mouth placments

-attachControl $mLCornB "left" 60 $noseB
-attachControl $mLCornB "top" 70 $noseB

-attachControl $mRCornB "right" 60 $noseB
-attachControl $mRCornB "top" 70 $noseB

-attachControl $RChB "left" 20 $mLCornB
-attachControl $RChB "bottom" 80 $mLCornB

-attachControl $LChB "right" 20 $mRCornB
-attachControl $LChB "bottom" 80 $mRCornB

//L eyebrow Placments

-attachControl $LOutBrB "left" 40 $LEyeB
-attachControl $LOutBrB "bottom" 70 $LEyeB

-attachControl $LMidBrB "left" -30 $LEyeB
-attachControl $LMidBrB "bottom" 90 $LEyeB

-attachControl $LInBrB "right" 40 $LEyeB
-attachControl $LInBrB "bottom" 70 $LEyeB

//R Eye brows placments

-attachControl $ROutBrB "right" 40 $REyeB
-attachControl $ROutBrB "bottom" 70 $REyeB

-attachControl $RMidBrB "right" -30 $REyeB
-attachControl $RMidBrB "bottom" 90 $REyeB

-attachControl $RInBrB "left" 40 $REyeB
-attachControl $RInBrB "bottom" 70 $REyeB

$faceForm;
setParent ..;
setParent ..;

string $child3 = columnLayout -cal "center" -adj true;

$rcLayout = rowColumnLayout -numberOfColumns 2
-columnWidth 1 320
-columnWidth 2 320
-cat 1 "left" 200
-cat 2 "right" 0
;

string $LHandForm = formLayout -numberOfDivisions 100;

$LHndAllB = button -l "Sel. All" -w 50 -h 50;

$LpalmB = button -l "Palm" -en 0 -w 80 -h 80;

$LPointMB= button -l "LPM" -w 15 -h 7;

$LPoint1B= button -l "LP1" -w 15 -h 20;
$LPoint2B= button -l "LP2" -w 15 -h 20;
$LPoint3B= button -l "LP3" -w 15 -h 20;

$LMidMB= button -l "LMM" -w 15 -h 7;

$LMid1B= button -l "LM1" -w 15 -h 25;
$LMid2B= button -l "LM2" -w 15 -h 20;
$LMid3B= button -l "LM3" -w 15 -h 20;

$LRngMB= button -l "LRM" -w 15 -h 7;

$LRng1B= button -l "LR1" -w 15 -h 23;
$LRng2B= button -l "LR2" -w 15 -h 20;
$LRng3B= button -l "LR3" -w 15 -h 20;

$LPnkMB= button -l "LPnM" -w 15 -h 7;

$LPnk1B= button -l "LPn1" -w 15 -h 17;
$LPnk2B= button -l "LPn2" -w 15 -h 20;
$LPnk3B= button -l "LPn3" -w 15 -h 20;

$LThmMB= button -l "LThmM" -w 7 -h 15;

$LThm1B= button -l "LThm1" -w 30 -h 15;
$LThm2B= button -l "LThm2" -w 25 -h 15;
$LThm3B= button -l "LThm3" -w 15 -h 15;

formLayout -edit

-attachControl $LHndAllB "bottom" -20 $LpalmB
-attachControl $LHndAllB "right" 40 $LpalmB

-attachForm $LpalmB "top" 140
-attachPosition $LpalmB "right" 20 80

-attachControl $LPointMB "bottom" 5 $LpalmB
-attachControl $LPointMB "right" -15 $LpalmB

-attachControl $LPoint1B "bottom" 5 $LPointMB
-attachControl $LPoint1B "right" -15 $LPointMB

-attachControl $LPoint2B "bottom" 5 $LPoint1B
-attachControl $LPoint2B "right" -15 $LPoint1B

-attachControl $LPoint3B "bottom" 5 $LPoint2B
-attachControl $LPoint3B "right" -15 $LPoint2B

-attachControl $LMidMB "bottom" 5 $LpalmB
-attachControl $LMidMB "right" -38 $LpalmB

-attachControl $LMid1B "bottom" 5 $LMidMB
-attachControl $LMid1B "right" -15 $LMidMB

-attachControl $LMid2B "bottom" 5 $LMid1B
-attachControl $LMid2B "right" -15 $LMid1B

-attachControl $LMid3B "bottom" 5 $LMid2B
-attachControl $LMid3B "right" -15 $LMid2B

-attachControl $LRngMB "bottom" 5 $LpalmB
-attachControl $LRngMB "right" -60 $LpalmB

-attachControl $LRng1B "bottom" 5 $LRngMB
-attachControl $LRng1B "right" -15 $LRngMB

-attachControl $LRng2B "bottom" 5 $LRng1B
-attachControl $LRng2B "right" -15 $LRng1B

-attachControl $LRng3B "bottom" 5 $LRng2B
-attachControl $LRng3B "right" -15 $LRng2B

-attachControl $LPnkMB "bottom" 5 $LpalmB
-attachControl $LPnkMB "right" -80 $LpalmB

-attachControl $LPnk1B "bottom" 5 $LPnkMB
-attachControl $LPnk1B "right" -15 $LPnkMB

-attachControl $LPnk2B "bottom" 5 $LPnk1B
-attachControl $LPnk2B "right" -15 $LPnk1B

-attachControl $LPnk3B "bottom" 5 $LPnk2B
-attachControl $LPnk3B "right" -15 $LPnk2B

-attachControl $LThmMB "bottom" -60 $LpalmB
-attachControl $LThmMB "right" 5 $LpalmB

-attachControl $LThm1B "bottom" -15 $LThmMB
-attachControl $LThm1B "right" 5 $LThmMB

-attachControl $LThm2B "bottom" -15 $LThm1B
-attachControl $LThm2B "right" 5 $LThm1B

-attachControl $LThm3B "bottom" -15 $LThm2B
-attachControl $LThm3B "right" 5 $LThm2B

$LHandForm;

setParent ..;

/////////////////////////////
/////////////////////////////

string $RHandForm = formLayout -numberOfDivisions 100;

$RHndAllB = button -l "Sel. All" -w 50 -h 50;

$RpalmB = button -l "Palm" -en 0 -w 80 -h 80;

$RPointMB= button -l "RPM" -w 15 -h 7;

$RPoint1B= button -l "RP1" -w 15 -h 20;
$RPoint2B= button -l "RP2" -w 15 -h 20;
$RPoint3B= button -l "RP3" -w 15 -h 20;

$RMidMB= button -l "RMM" -w 15 -h 7;

$RMid1B= button -l "RM1" -w 15 -h 25;
$RMid2B= button -l "RM2" -w 15 -h 20;
$RMid3B= button -l "RM3" -w 15 -h 20;

$RRngMB= button -l "RRM" -w 15 -h 7;

$RRng1B= button -l "RR1" -w 15 -h 23;
$RRng2B= button -l "RR2" -w 15 -h 20;
$RRng3B= button -l "RR3" -w 15 -h 20;

$RPnkMB= button -l "RPnM" -w 15 -h 7;

$RPnk1B= button -l "RPn1" -w 15 -h 17;
$RPnk2B= button -l "RPn2" -w 15 -h 20;
$RPnk3B= button -l "RPn3" -w 15 -h 20;

$RThmMB= button -l "RThmM" -w 7 -h 15;

$RThm1B= button -l "RThm1" -w 30 -h 15;
$RThm2B= button -l "RThm2" -w 25 -h 15;
$RThm3B= button -l "RThm3" -w 15 -h 15;

formLayout -edit

-attachControl $RHndAllB "bottom" -20 $RpalmB
-attachControl $RHndAllB "left" 40 $RpalmB

-attachForm $RpalmB "top" 140
-attachPosition $RpalmB "left" 30 20

-attachControl $RPointMB "bottom" 5 $RpalmB
-attachControl $RPointMB "left" -15 $RpalmB

-attachControl $RPoint1B "bottom" 5 $RPointMB
-attachControl $RPoint1B "left" -15 $RPointMB

-attachControl $RPoint2B "bottom" 5 $RPoint1B
-attachControl $RPoint2B "left" -15 $RPoint1B

-attachControl $RPoint3B "bottom" 5 $RPoint2B
-attachControl $RPoint3B "left" -15 $RPoint2B

-attachControl $RMidMB "bottom" 5 $RpalmB
-attachControl $RMidMB "left" -38 $RpalmB

-attachControl $RMid1B "bottom" 5 $RMidMB
-attachControl $RMid1B "left" -15 $RMidMB

-attachControl $RMid2B "bottom" 5 $RMid1B
-attachControl $RMid2B "left" -15 $RMid1B

-attachControl $RMid3B "bottom" 5 $RMid2B
-attachControl $RMid3B "left" -15 $RMid2B

-attachControl $RRngMB "bottom" 5 $RpalmB
-attachControl $RRngMB "left" -60 $RpalmB

-attachControl $RRng1B "bottom" 5 $RRngMB
-attachControl $RRng1B "left" -15 $RRngMB

-attachControl $RRng2B "bottom" 5 $RRng1B
-attachControl $RRng2B "left" -15 $RRng1B

-attachControl $RRng3B "bottom" 5 $RRng2B
-attachControl $RRng3B "left" -15 $RRng2B

-attachControl $RPnkMB "bottom" 5 $RpalmB
-attachControl $RPnkMB "left" -80 $RpalmB

-attachControl $RPnk1B "bottom" 5 $RPnkMB
-attachControl $RPnk1B "left" -15 $RPnkMB

-attachControl $RPnk2B "bottom" 5 $RPnk1B
-attachControl $RPnk2B "left" -15 $RPnk1B

-attachControl $RPnk3B "bottom" 5 $RPnk2B
-attachControl $RPnk3B "left" -15 $RPnk2B

-attachControl $RThmMB "bottom" -60 $RpalmB
-attachControl $RThmMB "left" 5 $RpalmB

-attachControl $RThm1B "bottom" -15 $RThmMB
-attachControl $RThm1B "left" 5 $RThmMB

-attachControl $RThm2B "bottom" -15 $RThm1B
-attachControl $RThm2B "left" 5 $RThm1B

-attachControl $RThm3B "bottom" -15 $RThm2B
-attachControl $RThm3B "left" 5 $RThm2B

$RHandForm;
*/

/////////////////////////////////
/////////////////////////////////

 string $child4 = `columnLayout -co "both" 50 -adj true`;

frameLayout -p $tabs -bs etchedOut -l "Control List";
scrollLayout;
rowColumnLayout -cal 1 "left" -cal 2 "left" -cat 1 "left" 0 -cat 2 "left" 0 -numberOfColumns 2 -columnWidth 1 150 -columnWidth 2 300 ;

text -l "Spine Controls" -fn boldLabelFont;

separator -h 10;

text -l "waist Cog";
$cntWaistCogTF = textField -w 180;

text -l "Root";
$cntRootTF = textField -w 180;

text -l "Spine1";
$cntSpine1TF = textField -w 180;

text -l "Spine2";
$cntSpine2TF = textField -w 180;

text -l "Spine3";
$cntSpine3TF = textField -w 180;

text -l "Spine4";
$cntSpine4TF = textField -w 180;

text -l "Head Control";
$cntHeadTF = textField -w 180;

////////////////////////////////////////////
////////////////////////////////////////////

text -l "Left Arm Controls" -fn boldLabelFont;

separator -h 10;

text -l "L-Clavical";
$cntLClavTF = textField -w 180;

text -l "L-Shldr";
$cntLShldrTF = textField -w 180;

text -l "L-Elbow";
$cntLElbowTF = textField -w 180;

text -l "L-Wrist";
$cntLWristTF = textField -w 180;

text -l "L-Hand";
$cntLHandTF = textField -w 180;

//////////////////////////////////////
//////////////////////////////////////
//////////////////////////////////////

text -l "Right Arm Controls" -fn boldLabelFont;

separator -h 10;

text -l "R-Clavical";
$cntRClavTF = textField -w 180;

text -l "R-Shldr";
$cntRShldrTF = textField -w 180;

text -l "R-Elbow";
$cntRElbowTF = textField -w 180;

text -l "R-Wrist";
$cntRWristTF = textField -w 180;

text -l "R-Hand";
$cntRHandTF = textField -w 180;

//////////////////////////////////////
//////////////////////////////////////
//////////////////////////////////////

text -l "Left Leg Controls" -fn boldLabelFont;

separator -h 10;

text -l "L-Femur";
$cntLFemurTF = textField -w 180;

text -l "L-Knee";
$cntLKneeTF = textField -w 180;

text -l "L-Ankle";
$cntLAnkleTF = textField -w 180;

text -l "L-MidFoot";
$cntLMidFootTF = textField -w 180;

text -l "L-Toe";
$cntLToeTF = textField -w 180;

//////////////////////////////////////
//////////////////////////////////////
//////////////////////////////////////

text -l "Right Leg Controls" -fn boldLabelFont;

separator -h 10;

text -l "R-Femur";
$cntRFemurTF = textField -w 180;

text -l "R-Knee";
$cntRKneeTF = textField -w 180;

text -l "R-Ankle";
$cntRAnkleTF = textField -w 180;

text -l "R-MidFoot";
$cntRMidFootTF = textField -w 180;

text -l "R-Toe";
$cntRToeTF = textField -w 180;

setParent ..;

/////////////////////////////////////////
/////////////////////////////////////////

 tabLayout -edit
     -tabLabel $child1 "FullBody" //-tabLabel $child2 "Face" -tabLabel $child3 "Hands"
//-tabLabel $child4 "Control List" 
     $tabs;

setParent $rowCol;
frameLayout -bs etchedOut -l "Modes and Switches";
columnLayout ;
frameLayout -l "Namespace and Character";
columnLayout;

text -l "Namespace" -fn "boldLabelFont";

$nsTF = textField -w 200 -tx $ns -cc "$nsString =textField -q -tx $nsTF; $ns = $nsString;";

text -l "Character" -fn "boldLabelFont";

$charTF = textField -w 200 -tx $char -cc "$charString =textField -q -tx $charTF; $char = $charString;";

separator -h 10;
$charGeomSetB = button -w 200 -l "Create Character Geom Set" -c "$sel =ls -sl; $selSize = size($sel); if ($selSize < 1){error \"No Objects Selected\";} else if (objExists ($char + \"_GeomSet\")){error \"Character Geom Set Already Exists\";}else{ $charGeomSet =sets -n ($char + \"_GeomSet\");};";
$addCharGeomSetB = button -w 200 -l "Add Geom to Set" -c "$sel =ls -sl; $selSize = size($sel); if ($selSize < 1){error \"No Objects Selected\";} else if (objExists ($char + \"_GeomSet\")){sets -fe ($char + \"\_GeomSet\") $sel;}";

setParent ..;

setParent ..;

frameLayout -l "Selection Mode" -fn boldLabelFont;
columnLayout;

$selModeRB = radioButtonGrp -numberOfRadioButtons 2 -w 200 -labelArray2 "Replace" "Add" -sl $selMode -cc "$selMode =radioButtonGrp -q -sl $selModeRB;if ($selMode == 1){$selModeString = \"-replace\";}else if ($selMode == 2){$selModeString = \"-add\";}";

setParent ..;

setParent ..;

frameLayout -lv 0;
columnLayout;

text -l "Ghosting" -fn boldLabelFont;
separator -vis 0-w 200;
$ghCB = checkBox -v $ghostMode -l "Enable Ghosting" -cc "$ghostModeInt =checkBox -q -v $ghCB; $ghostMode = $ghostModeInt; $charGeomSetMems =sets -q $charGeomSet; for ( $s in $charGeomSetMems ) { string $sShape[] =listRelatives -s $s; setAttr ($sShape[0] + \".ghosting\") $ghostMode;}";

setParent ..;

setParent ..;

showWindow $win;

window -q -w $win;
window -q -h $win;

[/codebox]

Thanks so much for any insights.

Sheriff