def createUI(self, parent): """ Create the UI """ IsClickedOptionVar = OptionVarFactory('cgmVar_IsClicked', value=0) self.setupVariables() def buttonAction(command): """ execute a command and let the menu know not do do the default button action but just kill the ui """ self.mmActionOptionVar.set(1) command killUI() sel = search.selectCheck() selPair = search.checkSelectionLength(2) ShowMatch = search.matchObjectCheck() IsClickedOptionVar.set(1) mc.menu(parent, e=True, deleteAllItems=True) MelMenuItem( parent, en=sel, l='Reset Selected', c=lambda *a: buttonAction(animToolsLib.ml_resetChannelsCall()), rp='N') MelMenuItem( parent, en=sel, l='dragBreakdown', c=lambda *a: buttonAction(animToolsLib.ml_breakdownDraggerCall()), rp='S') #>>> Keying Options KeyMenu = MelMenuItem(parent, l='Key type', subMenu=True) KeyMenuCollection = MelRadioMenuCollection() if self.KeyTypeOptionVar.value == 0: regKeyOption = True bdKeyOption = False else: regKeyOption = False bdKeyOption = True KeyMenuCollection.createButton(KeyMenu, l=' Reg ', c=Callback(self.toggleVarAndReset, self.KeyTypeOptionVar), rb=regKeyOption) KeyMenuCollection.createButton(KeyMenu, l=' Breakdown ', c=Callback(self.toggleVarAndReset, self.KeyTypeOptionVar), rb=bdKeyOption) #>>> Keying Mode KeyMenu = MelMenuItem(parent, l='Key Mode', subMenu=True) KeyMenuCollection = MelRadioMenuCollection() if self.KeyModeOptionVar.value == 0: regModeOption = True cbModeOption = False else: regModeOption = False cbModeOption = True KeyMenuCollection.createButton(KeyMenu, l=' Default ', c=Callback(self.toggleVarAndReset, self.KeyModeOptionVar), rb=regModeOption) KeyMenuCollection.createButton(KeyMenu, l=' Channelbox ', c=Callback(self.toggleVarAndReset, self.KeyModeOptionVar), rb=cbModeOption) MelMenuItemDiv(parent) MelMenuItem(parent, l='autoTangent', c=lambda *a: buttonAction(mel.eval('autoTangent'))) MelMenuItem(parent, l='tweenMachine', c=lambda *a: buttonAction(mel.eval('tweenMachine'))) MelMenuItem(parent, l='cgm.animTools', c=lambda *a: buttonAction(cgmToolbox.loadAnimTools())) MelMenuItemDiv(parent) MelMenuItem(parent, l='ml Set Key', c=lambda *a: buttonAction(animToolsLib.ml_setKeyCall())) MelMenuItem(parent, l='ml Hold', c=lambda *a: buttonAction(animToolsLib.ml_holdCall())) MelMenuItem(parent, l='ml Delete Key', c=lambda *a: buttonAction(animToolsLib.ml_deleteKeyCall())) MelMenuItem(parent, l='ml Arc Tracer', c=lambda *a: buttonAction(animToolsLib.ml_arcTracerCall())) MelMenuItemDiv(parent) MelMenuItem(parent, l="Reset", c=lambda *a: guiFactory.resetGuiInstanceOptionVars( self.optionVars))
def createUI(self, parent): """ Create the UI """ def buttonAction(command): """ execute a command and let the menu know not do do the default button action but just kill the ui """ killUI() command mmActionOptionVar.set(1) self.LocinatorUpdateObjectsBufferOptionVar = OptionVarFactory( 'cgmVar_LocinatorUpdateObjectsBuffer', defaultValue=['']) IsClickedOptionVar = OptionVarFactory('cgmVar_IsClicked', 'int') mmActionOptionVar = OptionVarFactory('cgmVar_mmAction', 'int') self.SnapModeOptionVar.update( ) #Check if another tool has changed this setting sel = search.selectCheck() selPair = search.checkSelectionLength(2) IsClickedOptionVar.set(1) mc.menu(parent, e=True, deleteAllItems=True) MelMenuItem(parent, en=selPair, l='Point Snap', c=lambda *a: buttonAction(tdToolsLib.doPointSnap()), rp='NW') MelMenuItem(parent, en=selPair, l='Parent Snap', c=lambda *a: buttonAction(tdToolsLib.doParentSnap()), rp='N') MelMenuItem(parent, en=selPair, l='Orient Snap', c=lambda *a: buttonAction(tdToolsLib.doOrientSnap()), rp='NE') MelMenuItem(parent, en=selPair, l='Surface Snap', c=lambda *a: buttonAction( tdToolsLib.doSnapClosestPointToSurface(False)), rp='W') if self.LocinatorUpdateObjectsOptionVar.value: ShowMatch = False if self.LocinatorUpdateObjectsBufferOptionVar.value: ShowMatch = True MelMenuItem(parent, en=ShowMatch, l='Buffer Snap', c=lambda *a: buttonAction( locinatorLib.doUpdateLoc(self, True)), rp='S') else: ShowMatch = search.matchObjectCheck() MelMenuItem(parent, en=ShowMatch, l='Match Snap', c=lambda *a: buttonAction( locinatorLib.doUpdateSelectedObjects(self)), rp='S') MelMenuItem( parent, en=0, l='Mirror', c=lambda *a: buttonAction(locinatorLib.doUpdateObj(self, True)), rp='SW') MelMenuItemDiv(parent) MelMenuItem(parent, l='Loc Me', c=lambda *a: buttonAction(locinatorLib.doLocMe(self))) MelMenuItem(parent, l='Tag Loc to Object', en=selPair, c=lambda *a: buttonAction(locinatorLib.doTagObjects(self))) # Update Mode UpdateMenu = MelMenuItem(parent, l='Update Mode', subMenu=True) UpdateMenuCollection = MelRadioMenuCollection() if self.LocinatorUpdateObjectsOptionVar.value == 0: slMode = True bufferMode = False else: slMode = False bufferMode = True UpdateMenuCollection.createButton( UpdateMenu, l='Selected', c=lambda *a: self.LocinatorUpdateObjectsOptionVar.set(0), rb=slMode) UpdateMenuCollection.createButton( UpdateMenu, l='Buffer', c=lambda *a: self.LocinatorUpdateObjectsOptionVar.set(1), rb=bufferMode) #>>>Match Mode self.MatchModeOptions = ['parent', 'point', 'orient'] self.MatchModeCollection = MelRadioMenuCollection() self.MatchModeCollectionChoices = [] MatchModeMenu = MelMenuItem(parent, l='Match Mode', subMenu=True) self.matchMode = self.SnapModeOptionVar.value for c, item in enumerate(self.MatchModeOptions): if self.matchMode == c: rbValue = True else: rbValue = False self.MatchModeCollectionChoices.append( self.MatchModeCollection.createButton( MatchModeMenu, label=item, rb=rbValue, command=Callback(self.SnapModeOptionVar.set, c))) #>>> Define DefineMenu = MelMenuItem(parent, l='Buffer', subMenu=True) MelMenuItem(DefineMenu, l="Define", c=lambda *a: locinatorLib.defineObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItem(DefineMenu, l="Add Selected", c=lambda *a: locinatorLib.addSelectedToObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItem(DefineMenu, l="Remove Selected", c=lambda *a: locinatorLib.removeSelectedFromObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItemDiv(DefineMenu) MelMenuItem(DefineMenu, l="Select Members", c=lambda *a: locinatorLib.selectObjBufferMembers( self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItem(DefineMenu, l="Clear", c=lambda *a: locinatorLib.clearObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItemDiv(parent) MelMenuItem(parent, l='Locinator', c=lambda *a: buttonAction(cgmToolbox.loadLocinator())) MelMenuItem(parent, l='cgm.animTools', c=lambda *a: buttonAction(cgmToolbox.loadAnimTools())) MelMenuItem(parent, l='cgm.tdTools', c=lambda *a: buttonAction(cgmToolbox.loadTDTools())) MelMenuItem(parent, l='cgm.attrTools', c=lambda *a: buttonAction(cgmToolbox.loadAttrTools())) MelMenuItemDiv(parent) MelMenuItem(parent, l="Reset", c=lambda *a: guiFactory.resetGuiInstanceOptionVars( self.optionVars))
def createUI(self,parent): """ Create the UI """ IsClickedOptionVar = OptionVarFactory('cgmVar_IsClicked',value = 0) self.setupVariables() def buttonAction(command): """ execute a command and let the menu know not do do the default button action but just kill the ui """ self.mmActionOptionVar.set(1) command killUI() sel = search.selectCheck() selPair = search.checkSelectionLength(2) ShowMatch = search.matchObjectCheck() IsClickedOptionVar.set(1) mc.menu(parent,e = True, deleteAllItems = True) MelMenuItem(parent, en = sel, l = 'Reset Selected', c = lambda *a:buttonAction(animToolsLib.ml_resetChannelsCall()), rp = 'N') MelMenuItem(parent, en = sel, l = 'dragBreakdown', c = lambda *a:buttonAction(animToolsLib.ml_breakdownDraggerCall()), rp = 'S') #>>> Keying Options KeyMenu = MelMenuItem( parent, l='Key type', subMenu=True) KeyMenuCollection = MelRadioMenuCollection() if self.KeyTypeOptionVar.value == 0: regKeyOption = True bdKeyOption = False else: regKeyOption = False bdKeyOption = True KeyMenuCollection.createButton(KeyMenu,l=' Reg ', c= Callback(self.toggleVarAndReset,self.KeyTypeOptionVar), rb= regKeyOption ) KeyMenuCollection.createButton(KeyMenu,l=' Breakdown ', c= Callback(self.toggleVarAndReset,self.KeyTypeOptionVar), rb= bdKeyOption ) #>>> Keying Mode KeyMenu = MelMenuItem( parent, l='Key Mode', subMenu=True) KeyMenuCollection = MelRadioMenuCollection() if self.KeyModeOptionVar.value == 0: regModeOption = True cbModeOption = False else: regModeOption = False cbModeOption = True KeyMenuCollection.createButton(KeyMenu,l=' Default ', c= Callback(self.toggleVarAndReset,self.KeyModeOptionVar), rb= regModeOption ) KeyMenuCollection.createButton(KeyMenu,l=' Channelbox ', c= Callback(self.toggleVarAndReset,self.KeyModeOptionVar), rb= cbModeOption ) MelMenuItemDiv(parent) MelMenuItem(parent,l = 'autoTangent', c = lambda *a: buttonAction(mel.eval('autoTangent'))) MelMenuItem(parent,l = 'tweenMachine', c = lambda *a: buttonAction(mel.eval('tweenMachine'))) MelMenuItem(parent, l = 'cgm.animTools', c = lambda *a: buttonAction(cgmToolbox.loadAnimTools())) MelMenuItemDiv(parent) MelMenuItem(parent,l = 'ml Set Key', c = lambda *a: buttonAction(animToolsLib.ml_setKeyCall())) MelMenuItem(parent,l = 'ml Hold', c = lambda *a: buttonAction(animToolsLib.ml_holdCall())) MelMenuItem(parent,l = 'ml Delete Key', c = lambda *a: buttonAction(animToolsLib.ml_deleteKeyCall())) MelMenuItem(parent,l = 'ml Arc Tracer', c = lambda *a: buttonAction(animToolsLib.ml_arcTracerCall())) MelMenuItemDiv(parent) MelMenuItem(parent, l="Reset", c=lambda *a: guiFactory.resetGuiInstanceOptionVars(self.optionVars))
def createUI(self,parent): """ Create the UI """ def buttonAction(command): """ execute a command and let the menu know not do do the default button action but just kill the ui """ killUI() mmActionOptionVar.value = 1 command self.LocinatorUpdateObjectsBufferOptionVar = cgmMeta.cgmOptionVar('cgmVar_LocinatorUpdateObjectsBuffer',defaultValue = ['']) IsClickedOptionVar = cgmMeta.cgmOptionVar('cgmVar_IsClicked', 'int') mmActionOptionVar = cgmMeta.cgmOptionVar('cgmVar_mmAction', 'int') self.SnapModeOptionVar.update()#Check if another tool has changed this setting _sel = mc.ls(sl=True) selPair = search.checkSelectionLength(2) _selecCheck = len(_sel) IsClickedOptionVar.value = 1 mc.menu(parent,e = True, deleteAllItems = True) mUI.MelMenuItem(parent, en = selPair, l = 'Point Snap', c = lambda *a:buttonAction(tdToolsLib.doPointSnap()), rp = 'NW') mUI.MelMenuItem(parent, en = selPair, l = 'Parent Snap', c = lambda *a:buttonAction(tdToolsLib.doParentSnap()), rp = 'N') mUI.MelMenuItem(parent, en = selPair, l = 'Orient Snap', c = lambda *a:buttonAction(tdToolsLib.doOrientSnap()), rp = 'NE') mUI.MelMenuItem(parent, en = selPair, l = 'Surface Snap', c = lambda *a:buttonAction(tdToolsLib.doSnapClosestPointToSurface(False)), rp = 'W') if self.LocinatorUpdateObjectsOptionVar.value: ShowMatch = False if self.LocinatorUpdateObjectsBufferOptionVar.value: ShowMatch = True mUI.MelMenuItem(parent, en = ShowMatch, l = 'Buffer Snap', c = lambda *a:buttonAction(locinatorLib.doUpdateLoc(self,True)), rp = 'S') else: ShowMatch = search.matchObjectCheck() mUI.MelMenuItem(parent, en = ShowMatch, l = 'Match Snap', c = lambda *a:buttonAction(locinatorLib.doUpdateSelectedObjects(self)), rp = 'S') mUI.MelMenuItem(parent, en = _selecCheck, l = 'RayCast', #c = mUI.Callback(buttonAction,raySnap_start(_sel)), c = lambda *a:buttonAction(raySnap_start(_sel)), rp = 'SW') mUI.MelMenuItem(parent, en = 0, l = 'Mirror', c = lambda *a:buttonAction(locinatorLib.doUpdateObj(self,True)), rp = 'SE') mUI.MelMenuItemDiv(parent) mUI.MelMenuItem(parent,l = 'Loc Me', c = lambda *a: buttonAction(locinatorLib.doLocMe(self))) mUI.MelMenuItem(parent, l = 'Tag Loc to Object',en = selPair, c = lambda *a: buttonAction(locinatorLib.doTagObjects(self))) # Update Mode UpdateMenu = mUI.MelMenuItem(parent, l='Update Mode', subMenu=True) UpdateMenuCollection = mUI.MelRadioMenuCollection() if self.LocinatorUpdateObjectsOptionVar.value == 0: slMode = True bufferMode = False else: slMode = False bufferMode = True UpdateMenuCollection.createButton(UpdateMenu,l='Selected', c=lambda *a: self.LocinatorUpdateObjectsOptionVar.setValue(0), rb=slMode ) UpdateMenuCollection.createButton(UpdateMenu,l='Buffer', c=lambda *a:self.LocinatorUpdateObjectsOptionVar.setValue(1), rb=bufferMode ) #>>>Match Mode self.MatchModeOptions = ['parent','point','orient'] self.MatchModeCollection = mUI.MelRadioMenuCollection() self.MatchModeCollectionChoices = [] MatchModeMenu = mUI.MelMenuItem( parent, l='Match Mode', subMenu=True) self.matchMode = self.SnapModeOptionVar.value for c,item in enumerate(self.MatchModeOptions): if self.matchMode == c: rbValue = True else: rbValue = False self.MatchModeCollectionChoices.append(self.MatchModeCollection.createButton(MatchModeMenu,label=item, rb = rbValue, command = mUI.Callback(self.SnapModeOptionVar.setValue,c))) #>>> Define DefineMenu = mUI.MelMenuItem( parent, l='Buffer', subMenu=True) mUI.MelMenuItem( DefineMenu, l="Define", c= lambda *a: locinatorLib.defineObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItem( DefineMenu, l="Add Selected", c= lambda *a: locinatorLib.addSelectedToObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItem( DefineMenu, l="Remove Selected", c= lambda *a: locinatorLib.removeSelectedFromObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItemDiv( DefineMenu ) mUI.MelMenuItem( DefineMenu, l="Select Members", c= lambda *a: locinatorLib.selectObjBufferMembers(self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItem( DefineMenu, l="Clear", c= lambda *a: locinatorLib.clearObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) try:#>>> Sym Axis.... _str_section = 'Ray Cast menu' uiMenu_rayCast = mUI.MelMenuItem( parent, l='Ray Cast Mode', subMenu=True) var_RayCastMode = cgmMeta.cgmOptionVar('cgmVar_SnapMenuRayCastMode', defaultValue=0) self.uiRC_RayCast = mUI.MelRadioMenuCollection() self.uiOptions_RayCast = [] _v = var_RayCastMode.value _modes = cgmDrag._clickMesh_modes for i,item in enumerate(_modes): if i == _v: _rb = True else:_rb = False self.uiOptions_RayCast.append(self.uiRC_RayCast.createButton(uiMenu_rayCast,label=item, c = mUI.Callback(var_RayCastMode.setValue,i), rb = _rb)) except Exception,err: log.error("{0} failed to load. err: {1}".format(_str_section,err))
def createUI(self,parent): """ Create the UI """ def buttonAction(command): """ execute a command and let the menu know not do do the default button action but just kill the ui """ killUI() command mmActionOptionVar.set(1) self.LocinatorUpdateObjectsBufferOptionVar = OptionVarFactory('cgmVar_LocinatorUpdateObjectsBuffer',defaultValue = ['']) IsClickedOptionVar = OptionVarFactory('cgmVar_IsClicked', 'int') mmActionOptionVar = OptionVarFactory('cgmVar_mmAction', 'int') self.SnapModeOptionVar.update()#Check if another tool has changed this setting sel = search.selectCheck() selPair = search.checkSelectionLength(2) IsClickedOptionVar.set(1) mc.menu(parent,e = True, deleteAllItems = True) MelMenuItem(parent, en = selPair, l = 'Point Snap', c = lambda *a:buttonAction(tdToolsLib.doPointSnap()), rp = 'NW') MelMenuItem(parent, en = selPair, l = 'Parent Snap', c = lambda *a:buttonAction(tdToolsLib.doParentSnap()), rp = 'N') MelMenuItem(parent, en = selPair, l = 'Orient Snap', c = lambda *a:buttonAction(tdToolsLib.doOrientSnap()), rp = 'NE') MelMenuItem(parent, en = selPair, l = 'Surface Snap', c = lambda *a:buttonAction(tdToolsLib.doSnapClosestPointToSurface(False)), rp = 'W') if self.LocinatorUpdateObjectsOptionVar.value: ShowMatch = False if self.LocinatorUpdateObjectsBufferOptionVar.value: ShowMatch = True MelMenuItem(parent, en = ShowMatch, l = 'Buffer Snap', c = lambda *a:buttonAction(locinatorLib.doUpdateLoc(self,True)), rp = 'S') else: ShowMatch = search.matchObjectCheck() MelMenuItem(parent, en = ShowMatch, l = 'Match Snap', c = lambda *a:buttonAction(locinatorLib.doUpdateSelectedObjects(self)), rp = 'S') MelMenuItem(parent, en = 0, l = 'Mirror', c = lambda *a:buttonAction(locinatorLib.doUpdateObj(self,True)), rp = 'SW') MelMenuItemDiv(parent) MelMenuItem(parent,l = 'Loc Me', c = lambda *a: buttonAction(locinatorLib.doLocMe(self))) MelMenuItem(parent, l = 'Tag Loc to Object',en = selPair, c = lambda *a: buttonAction(locinatorLib.doTagObjects(self))) # Update Mode UpdateMenu = MelMenuItem(parent, l='Update Mode', subMenu=True) UpdateMenuCollection = MelRadioMenuCollection() if self.LocinatorUpdateObjectsOptionVar.value == 0: slMode = True bufferMode = False else: slMode = False bufferMode = True UpdateMenuCollection.createButton(UpdateMenu,l='Selected', c=lambda *a: self.LocinatorUpdateObjectsOptionVar.set(0), rb=slMode ) UpdateMenuCollection.createButton(UpdateMenu,l='Buffer', c=lambda *a:self.LocinatorUpdateObjectsOptionVar.set(1), rb=bufferMode ) #>>>Match Mode self.MatchModeOptions = ['parent','point','orient'] self.MatchModeCollection = MelRadioMenuCollection() self.MatchModeCollectionChoices = [] MatchModeMenu = MelMenuItem( parent, l='Match Mode', subMenu=True) self.matchMode = self.SnapModeOptionVar.value for c,item in enumerate(self.MatchModeOptions): if self.matchMode == c: rbValue = True else: rbValue = False self.MatchModeCollectionChoices.append(self.MatchModeCollection.createButton(MatchModeMenu,label=item, rb = rbValue, command = Callback(self.SnapModeOptionVar.set,c))) #>>> Define DefineMenu = MelMenuItem( parent, l='Buffer', subMenu=True) MelMenuItem( DefineMenu, l="Define", c= lambda *a: locinatorLib.defineObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItem( DefineMenu, l="Add Selected", c= lambda *a: locinatorLib.addSelectedToObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItem( DefineMenu, l="Remove Selected", c= lambda *a: locinatorLib.removeSelectedFromObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItemDiv( DefineMenu ) MelMenuItem( DefineMenu, l="Select Members", c= lambda *a: locinatorLib.selectObjBufferMembers(self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItem( DefineMenu, l="Clear", c= lambda *a: locinatorLib.clearObjBuffer(self.LocinatorUpdateObjectsBufferOptionVar)) MelMenuItemDiv(parent) MelMenuItem(parent, l = 'Locinator', c = lambda *a: buttonAction(cgmToolbox.loadLocinator())) MelMenuItem(parent, l = 'cgm.animTools', c = lambda *a: buttonAction(cgmToolbox.loadAnimTools())) MelMenuItem(parent, l = 'cgm.tdTools', c = lambda *a: buttonAction(cgmToolbox.loadTDTools())) MelMenuItem(parent, l = 'cgm.attrTools', c = lambda *a: buttonAction(cgmToolbox.loadAttrTools())) MelMenuItemDiv(parent) MelMenuItem(parent, l="Reset", c=lambda *a: guiFactory.resetGuiInstanceOptionVars(self.optionVars))
def createUI(self, parent): """ Create the UI """ def buttonAction(command): """ execute a command and let the menu know not do do the default button action but just kill the ui """ killUI() mmActionOptionVar.value = 1 command self.LocinatorUpdateObjectsBufferOptionVar = cgmMeta.cgmOptionVar( 'cgmVar_LocinatorUpdateObjectsBuffer', defaultValue=['']) IsClickedOptionVar = cgmMeta.cgmOptionVar('cgmVar_IsClicked', 'int') mmActionOptionVar = cgmMeta.cgmOptionVar('cgmVar_mmAction', 'int') self.SnapModeOptionVar.update( ) #Check if another tool has changed this setting _sel = mc.ls(sl=True) selPair = search.checkSelectionLength(2) _selecCheck = len(_sel) IsClickedOptionVar.value = 1 mc.menu(parent, e=True, deleteAllItems=True) mUI.MelMenuItem(parent, en=selPair, l='Point Snap', c=lambda *a: buttonAction(tdToolsLib.doPointSnap()), rp='NW') mUI.MelMenuItem(parent, en=selPair, l='Parent Snap', c=lambda *a: buttonAction(tdToolsLib.doParentSnap()), rp='N') mUI.MelMenuItem(parent, en=selPair, l='Orient Snap', c=lambda *a: buttonAction(tdToolsLib.doOrientSnap()), rp='NE') mUI.MelMenuItem(parent, en=selPair, l='Surface Snap', c=lambda *a: buttonAction( tdToolsLib.doSnapClosestPointToSurface(False)), rp='W') if self.LocinatorUpdateObjectsOptionVar.value: ShowMatch = False if self.LocinatorUpdateObjectsBufferOptionVar.value: ShowMatch = True mUI.MelMenuItem(parent, en=ShowMatch, l='Buffer Snap', c=lambda *a: buttonAction( locinatorLib.doUpdateLoc(self, True)), rp='S') else: ShowMatch = search.matchObjectCheck() mUI.MelMenuItem(parent, en=ShowMatch, l='Match Snap', c=lambda *a: buttonAction( locinatorLib.doUpdateSelectedObjects(self)), rp='S') mUI.MelMenuItem( parent, en=_selecCheck, l='RayCast', #c = mUI.Callback(buttonAction,raySnap_start(_sel)), c=lambda *a: buttonAction(raySnap_start(_sel)), rp='SW') mUI.MelMenuItem( parent, en=0, l='Mirror', c=lambda *a: buttonAction(locinatorLib.doUpdateObj(self, True)), rp='SE') mUI.MelMenuItemDiv(parent) mUI.MelMenuItem(parent, l='Loc Me', c=lambda *a: buttonAction(locinatorLib.doLocMe(self))) mUI.MelMenuItem( parent, l='Tag Loc to Object', en=selPair, c=lambda *a: buttonAction(locinatorLib.doTagObjects(self))) # Update Mode UpdateMenu = mUI.MelMenuItem(parent, l='Update Mode', subMenu=True) UpdateMenuCollection = mUI.MelRadioMenuCollection() if self.LocinatorUpdateObjectsOptionVar.value == 0: slMode = True bufferMode = False else: slMode = False bufferMode = True UpdateMenuCollection.createButton( UpdateMenu, l='Selected', c=lambda *a: self.LocinatorUpdateObjectsOptionVar.setValue(0), rb=slMode) UpdateMenuCollection.createButton( UpdateMenu, l='Buffer', c=lambda *a: self.LocinatorUpdateObjectsOptionVar.setValue(1), rb=bufferMode) #>>>Match Mode self.MatchModeOptions = ['parent', 'point', 'orient'] self.MatchModeCollection = mUI.MelRadioMenuCollection() self.MatchModeCollectionChoices = [] MatchModeMenu = mUI.MelMenuItem(parent, l='Match Mode', subMenu=True) self.matchMode = self.SnapModeOptionVar.value for c, item in enumerate(self.MatchModeOptions): if self.matchMode == c: rbValue = True else: rbValue = False self.MatchModeCollectionChoices.append( self.MatchModeCollection.createButton( MatchModeMenu, label=item, rb=rbValue, command=mUI.Callback(self.SnapModeOptionVar.setValue, c))) #>>> Define DefineMenu = mUI.MelMenuItem(parent, l='Buffer', subMenu=True) mUI.MelMenuItem(DefineMenu, l="Define", c=lambda *a: locinatorLib.defineObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItem(DefineMenu, l="Add Selected", c=lambda *a: locinatorLib.addSelectedToObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItem(DefineMenu, l="Remove Selected", c=lambda *a: locinatorLib.removeSelectedFromObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItemDiv(DefineMenu) mUI.MelMenuItem(DefineMenu, l="Select Members", c=lambda *a: locinatorLib.selectObjBufferMembers( self.LocinatorUpdateObjectsBufferOptionVar)) mUI.MelMenuItem(DefineMenu, l="Clear", c=lambda *a: locinatorLib.clearObjBuffer( self.LocinatorUpdateObjectsBufferOptionVar)) try: #>>> Sym Axis.... _str_section = 'Ray Cast menu' uiMenu_rayCast = mUI.MelMenuItem(parent, l='Ray Cast Mode', subMenu=True) var_RayCastMode = cgmMeta.cgmOptionVar( 'cgmVar_SnapMenuRayCastMode', defaultValue=0) self.uiRC_RayCast = mUI.MelRadioMenuCollection() self.uiOptions_RayCast = [] _v = var_RayCastMode.value _modes = cgmDrag._clickMesh_modes for i, item in enumerate(_modes): if i == _v: _rb = True else: _rb = False self.uiOptions_RayCast.append( self.uiRC_RayCast.createButton( uiMenu_rayCast, label=item, c=mUI.Callback(var_RayCastMode.setValue, i), rb=_rb)) except Exception, err: log.error("{0} failed to load. err: {1}".format(_str_section, err))
def createUI(self, parent): """ Create the UI """ IsClickedOptionVar = OptionVarFactory('cgmVar_IsClicked') self.mmActionOptionVar = OptionVarFactory('cgmVar_mmAction') def buttonAction(command): """ execute a command and let the menu know not do do the default button action but just kill the ui """ self.mmActionOptionVar.set(1) command killUI() sel = search.selectCheck() selPair = search.checkSelectionLength(2) ShowMatch = search.matchObjectCheck() IsClickedOptionVar.set(1) mc.menu(parent, e=True, deleteAllItems=True) MelMenuItem( parent, en=sel, l='Reset Selected', c=lambda *a: buttonAction(animToolsLib.ml_resetChannelsCall()), rp='N') MelMenuItem( parent, en=sel, l='dragBreakdown', c=lambda *a: buttonAction(animToolsLib.ml_breakdownDraggerCall()), rp='S') MelMenuItemDiv(parent) MelMenuItem(parent, l='autoTangent', c=lambda *a: buttonAction(mel.eval('autoTangent'))) MelMenuItem(parent, l='tweenMachine', c=lambda *a: buttonAction(mel.eval('tweenMachine'))) MelMenuItem(parent, l='cgm.animTools', c=lambda *a: buttonAction(cgmToolbox.loadAnimTools())) MelMenuItemDiv(parent) MelMenuItem(parent, l='ml Set Key', c=lambda *a: buttonAction(animToolsLib.ml_setKeyCall())) MelMenuItem(parent, l='ml Hold', c=lambda *a: buttonAction(animToolsLib.ml_holdCall())) MelMenuItem(parent, l='ml Delete Key', c=lambda *a: buttonAction(animToolsLib.ml_deleteKeyCall())) MelMenuItem(parent, l='ml Arc Tracer', c=lambda *a: buttonAction(animToolsLib.ml_arcTracerCall())) MelMenuItemDiv(parent) MelMenuItem(parent, l="Reset", c=lambda *a: guiFactory.resetGuiInstanceOptionVars( self.optionVars))