global proc jpConstToggle(string $slaveObject, string $channel, string $firstMaster, string $secondMaster, string $reverseNode) { select -clear; string $thisConst[] = `parentConstraint -mo -weight 1 $firstMaster $slaveObject`; parentConstraint -mo -weight 1 $secondMaster $slaveObject; string $revNode; if($reverseNode == "") { string $revNodeName = ($slaveObject + "_REV"); $revNode = `shadingNode -asUtility reverse -name $revNodeName`; } else { $revNode = $reverseNode; } connectAttr -force $channel ($thisConst[0] + "." + $firstMaster + "W0"); connectAttr -force $channel ($revNode + ".inputX"); connectAttr -force ($revNode + ".outputX") ($thisConst[0] + "." + $secondMaster + "W1"); }//end proc jpConstToggle global proc jpConstraintToggle() { string $winName = "constraintToggle"; if (`window -exists $winName`) deleteUI $winName; window -t "Constraint Toggle" //-wh 100 35 -rtf 1 $winName ; rowColumnLayout -nc 2 -cw 1 110 -cw 2 125; button -l "Slave Object -->" -width 110 -c ("textFieldGrp -e -tx `ls -sl` slaveObjectGrp"); textFieldGrp -cal 1 "left" -cw 1 125 slaveObjectGrp; button -l "First Master -->" -width 110 -c ("textFieldGrp -e -tx `ls -sl` firstMasterGrp"); textFieldGrp -cal 1 "left" -cw 1 125 firstMasterGrp; button -l "Second Master -->" -width 110 -c ("textFieldGrp -e -tx `ls -sl` secondMasterGrp"); textFieldGrp -cal 1 "left" -cw 1 125 secondMasterGrp; //text -fn "boldLabelFont" -l "Channel"; button -l "Control Channel -->" -width 110 -c ("jpConstToggle_loadChannel"); textFieldGrp -cal 1 "left" -cw 1 125 channelGrp; button -l "Do it. I dare you" -width 110 -c ("jpConstToggle_collectAndCall()"); showWindow $winName; }//end proc jpConstraintToggle global proc jpConstToggle_loadChannel() { global string $gChannelBoxName; string $sel[] = `ls -sl`; string $pickedAttrs[] = `channelBox -q -sma $gChannelBoxName`; textFieldGrp -e -tx ($sel[0] + "." + $pickedAttrs[0]) channelGrp; }//end procj jpConstToggle_loadChannel global proc jpConstToggle_collectAndCall() { string $slaveObject = `textFieldGrp -q -tx slaveObjectGrp`; string $firstMaster = `textFieldGrp -q -tx firstMasterGrp`; string $secondMaster = `textFieldGrp -q -tx secondMasterGrp`; string $channel = `textFieldGrp -q -tx channelGrp`; jpConstToggle($slaveObject, $channel, $firstMaster, $secondMaster, ""); }//end proc jpConstToggle_collectAndCall