def createWindow(self): ''' creates main GUI window and it's contents ''' BaseToolWindow.createWindow(self) self.targetUI = TargetDataDisplay() self.actions = MainUiActions(self.windowName) self.mainMenu = MainMenu() self.mainMenu.create() # putting tabs in a from targetUiLayout is needed to workaround maya2011 # bug with an additional empty tab appearing otherwise # form = FormLayout(parent=self.windowName) # targetUiLayout = self.targetUI.create(form) # form.attachForm(targetUiLayout, 0, Constants.MARGIN_SPACING_HORIZONTAL,None,Constants.MARGIN_SPACING_HORIZONTAL) # # self.mainTabLayout = cmds.tabLayout(childResizable=True,parent=form,scrollable=False,innerMarginWidth=3) # form.attachControl(self.mainTabLayout, targetUiLayout, Constants.MARGIN_SPACING_VERTICAL, None,None,None) # form.attachForm(self.mainTabLayout, None, 0,0,0) self.splitPosition = PersistentValueModel( name="ngSkinTools_mainWindow_splitPosition", defaultValue=50) def updateSplitPosition(*args): size = cmds.paneLayout(horizontalSplit, q=True, paneSize=True) # returns (widht, height, width, height) self.splitPosition.set(size[1]) horizontalSplit = cmds.paneLayout( configuration="horizontal2", width=100, height=200, separatorMovedCommand=updateSplitPosition) if Utils.getMayaVersion() >= Utils.MAYA2011: cmds.paneLayout(horizontalSplit, e=True, staticHeightPane=2) cmds.paneLayout(horizontalSplit, e=True, paneSize=(1, 100, self.splitPosition.get())) cmds.paneLayout(horizontalSplit, e=True, paneSize=(2, 100, 100 - self.splitPosition.get())) targetUiLayout = self.targetUI.create(horizontalSplit) self.mainTabLayout = cmds.tabLayout(childResizable=True, parent=horizontalSplit, scrollable=False, innerMarginWidth=3) self.tabPaint = self.addTab(TabPaint()) self.tabMirror = self.addTab(TabMirror()) self.tabRelax = self.addTab(TabSkinRelax()) self.tabAssignWeights = self.addTab(TabAssignWeights()) self.tabSettings = self.addTab(TabSettings()) self.actions.updateEnabledAll()
def createWindow(self): ''' creates main GUI window and it's contents ''' BaseToolWindow.createWindow(self) self.targetUI = TargetDataDisplay() self.actions = MainUiActions(self.windowName) self.mainMenu = MainMenu() self.mainMenu.create(); # putting tabs in a from targetUiLayout is needed to workaround maya2011 # bug with an additional empty tab appearing otherwise # form = FormLayout(parent=self.windowName) # targetUiLayout = self.targetUI.create(form) # form.attachForm(targetUiLayout, 0, Constants.MARGIN_SPACING_HORIZONTAL,None,Constants.MARGIN_SPACING_HORIZONTAL) # # self.mainTabLayout = cmds.tabLayout(childResizable=True,parent=form,scrollable=False,innerMarginWidth=3) # form.attachControl(self.mainTabLayout, targetUiLayout, Constants.MARGIN_SPACING_VERTICAL, None,None,None) # form.attachForm(self.mainTabLayout, None, 0,0,0) self.splitPosition = PersistentValueModel(name="ngSkinTools_mainWindow_splitPosition", defaultValue=50) def updateSplitPosition(*args): size = cmds.paneLayout(horizontalSplit,q=True,paneSize=True) # returns (widht, height, width, height) self.splitPosition.set(size[1]) horizontalSplit = cmds.paneLayout(configuration="horizontal2",width=100,height=200,separatorMovedCommand=updateSplitPosition) if Utils.getMayaVersion()>=Utils.MAYA2011: cmds.paneLayout(horizontalSplit,e=True,staticHeightPane=2) cmds.paneLayout(horizontalSplit,e=True,paneSize=(1,100,self.splitPosition.get())) cmds.paneLayout(horizontalSplit,e=True,paneSize=(2,100,100-self.splitPosition.get())) targetUiLayout = self.targetUI.create(horizontalSplit) self.mainTabLayout = cmds.tabLayout(childResizable=True,parent=horizontalSplit,scrollable=False,innerMarginWidth=3) self.tabPaint = self.addTab(TabPaint()) self.tabMirror = self.addTab(TabMirror()) self.tabRelax = self.addTab(TabSkinRelax()) self.tabAssignWeights = self.addTab(TabAssignWeights()) self.tabSettings = self.addTab(TabSettings()) self.actions.updateEnabledAll()
def createWindow(self): BaseToolWindow.createWindow(self) buttons = [('Close', self.closeWindow, '')] self.cmdLayout = CommandLayout(SkinToolsDocs.MIRRORWEIGHTS_INTERFACE, buttons) contentRoot = self.cmdLayout.innerLayout self.influenceMappingPreview.mirrorMode = True self.influenceMappingPreview.createUI(contentRoot) self.influenceMappingPreview.onDelete.addHandler( self.influencesManualMapping.removeSelectedManualMappings, contentRoot) manualGroup = uiGroup.create(contentRoot, 'Manual influence mapping') self.influencesManualMapping.mirrorMode = True self.influencesManualMapping.createUI(manualGroup) self.influencesManualMapping.getSelectedInfluences = lambda: self.influenceMappingPreview.currentInfluencesSelection def onManualOverridesChanged(): mll = MllInterface() mll.setManualMirrorInfluences( self.influencesManualMapping.manualOverrides) self.previewInfluenceMapping() self.influencesManualMapping.manualOverridesChanged.addHandler( onManualOverridesChanged, contentRoot) def updateForSelectionInfoChange(): log.info("updating for selection change") layersAvailable = selectionState.getLayersAvailable() cmds.layout(contentRoot, e=True, enable=layersAvailable) if not layersAvailable: log.info("layers unavailable") return self.previewInfluenceMapping() selectionState.selectionInfo.changed.addHandler( updateForSelectionInfoChange, contentRoot) selectionState.mirrorInfo.changed.addHandler( self.previewInfluenceMapping, contentRoot) updateForSelectionInfoChange()
def createWindow(self): BaseToolWindow.createWindow(self) margin1 = 5 margin2 = 10 form = cmds.formLayout(parent=self.windowName) self.topLabel = cmds.text(label='',font='boldLabelFont') self.customUIContainer = cmds.columnLayout(adjustableColumn=1,rowSpacing=margin2) cmds.separator() cmds.setParent('..') lowerRow = cmds.formLayout(height=Constants.BUTTON_HEIGHT) checkBox = CheckBoxField(Options.OPTION_CHECKFORUPDATES,label='Automatically check for updates', annotation='Check for updates automatically when ngSkinTools window is opened (once per Maya application session)') closeButton = cmds.button(label='Close',align='center',width=80,command=lambda *args:self.closeWindow()) cmds.formLayout(lowerRow,e=True,attachForm=[(closeButton,'top',0)]) cmds.formLayout(lowerRow,e=True,attachNone=[(closeButton,'left')]) cmds.formLayout(lowerRow,e=True,attachForm=[(closeButton,'right',margin1)]) cmds.formLayout(lowerRow,e=True,attachForm=[(closeButton,'bottom',0)]) cmds.formLayout(lowerRow,e=True,attachForm=[(checkBox.field,'top',0)]) cmds.formLayout(lowerRow,e=True,attachForm=[(checkBox.field,'left',margin1)]) cmds.formLayout(lowerRow,e=True,attachControl=[(checkBox.field,'right',margin1,closeButton)]) cmds.formLayout(lowerRow,e=True,attachForm=[(checkBox.field,'bottom',0)]) cmds.formLayout(form,e=True,attachForm=[(self.topLabel,'top',margin2)]) cmds.formLayout(form,e=True,attachForm=[(self.topLabel,'left',margin1)]) cmds.formLayout(form,e=True,attachNone=[(self.topLabel,'right')]) cmds.formLayout(form,e=True,attachNone=[(self.topLabel,'bottom')]) cmds.formLayout(form,e=True,attachNone=[(lowerRow,'top')]) cmds.formLayout(form,e=True,attachForm=[(lowerRow,'left',margin1)]) cmds.formLayout(form,e=True,attachForm=[(lowerRow,'right',margin1)]) cmds.formLayout(form,e=True,attachForm=[(lowerRow,'bottom',margin1)]) cmds.formLayout(form,e=True,attachControl=[(self.customUIContainer,'top',margin2,self.topLabel)]) cmds.formLayout(form,e=True,attachForm=[(self.customUIContainer,'left',margin1)]) cmds.formLayout(form,e=True,attachForm=[(self.customUIContainer,'right',margin1)]) cmds.formLayout(form,e=True,attachControl=[(self.customUIContainer,'bottom',margin2,lowerRow)])
def createWindow(self): BaseToolWindow.createWindow(self) margin1 = 5 margin2 = 10 form = cmds.formLayout(parent=self.windowName) self.topLabel = cmds.text(label='', font='boldLabelFont') self.customUIContainer = cmds.columnLayout(adjustableColumn=1, rowSpacing=margin2) cmds.separator() cmds.setParent('..') lowerRow = cmds.formLayout(height=Constants.BUTTON_HEIGHT) checkBox = CheckBoxField( Options.OPTION_CHECKFORUPDATES, label='Automatically check for updates', annotation= 'Check for updates automatically when ngSkinTools window is opened (once per Maya application session)' ) closeButton = cmds.button(label='Close', align='center', width=80, command=lambda *args: self.closeWindow()) cmds.formLayout(lowerRow, e=True, attachForm=[(closeButton, 'top', 0)]) cmds.formLayout(lowerRow, e=True, attachNone=[(closeButton, 'left')]) cmds.formLayout(lowerRow, e=True, attachForm=[(closeButton, 'right', margin1)]) cmds.formLayout(lowerRow, e=True, attachForm=[(closeButton, 'bottom', 0)]) cmds.formLayout(lowerRow, e=True, attachForm=[(checkBox.field, 'top', 0)]) cmds.formLayout(lowerRow, e=True, attachForm=[(checkBox.field, 'left', margin1)]) cmds.formLayout(lowerRow, e=True, attachControl=[(checkBox.field, 'right', margin1, closeButton)]) cmds.formLayout(lowerRow, e=True, attachForm=[(checkBox.field, 'bottom', 0)]) cmds.formLayout(form, e=True, attachForm=[(self.topLabel, 'top', margin2)]) cmds.formLayout(form, e=True, attachForm=[(self.topLabel, 'left', margin1)]) cmds.formLayout(form, e=True, attachNone=[(self.topLabel, 'right')]) cmds.formLayout(form, e=True, attachNone=[(self.topLabel, 'bottom')]) cmds.formLayout(form, e=True, attachNone=[(lowerRow, 'top')]) cmds.formLayout(form, e=True, attachForm=[(lowerRow, 'left', margin1)]) cmds.formLayout(form, e=True, attachForm=[(lowerRow, 'right', margin1)]) cmds.formLayout(form, e=True, attachForm=[(lowerRow, 'bottom', margin1)]) cmds.formLayout(form, e=True, attachControl=[(self.customUIContainer, 'top', margin2, self.topLabel)]) cmds.formLayout(form, e=True, attachForm=[(self.customUIContainer, 'left', margin1)]) cmds.formLayout(form, e=True, attachForm=[(self.customUIContainer, 'right', margin1) ]) cmds.formLayout(form, e=True, attachControl=[(self.customUIContainer, 'bottom', margin2, lowerRow)])
def createWindow(self): BaseToolWindow.createWindow(self) self.content.createUI(self.windowName)
def createWindow(self): BaseToolWindow.createWindow(self) self.content = TransferWeightsTab() self.content.parentWindow = self self.content.createUI(self.windowName)
def createWindow(self): BaseToolWindow.createWindow(self) self.content.createUI(self.windowName)
def createWindow(self): BaseToolWindow.createWindow(self) self.content = CopyLayersTab() self.content.parentWindow = self self.content.createUI(self.windowName)
def createWindow(self): BaseToolWindow.createWindow(self) self.content = TransferWeightsTab() self.content.parentWindow = self self.content.createUI(self.windowName)