Python maya.cmds.columnLayout() Examples
The following are 29
code examples of maya.cmds.columnLayout().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
maya.cmds
, or try the search function
.
Example #1
Source File: ml_breakdown.py From ml_tools with MIT License | 7 votes |
def quickBreakDownUI(): winName = 'ml_quickBreakdownWin' if mc.window(winName, exists=True): mc.deleteUI(winName) mc.window(winName, title='ml :: QBD', iconName='Quick Breakdown', width=100, height=500) mc.columnLayout(adj=True) mc.paneLayout(configuration='vertical2', separatorThickness=1) mc.text('<<') mc.text('>>') mc.setParent('..') for v in (10,20,50,80,90,100,110,120,150): mc.paneLayout(configuration='vertical2',separatorThickness=1) mc.button(label=str(v)+' %', command=partial(weightPrevious,v/100.0)) mc.button(label=str(v)+' %', command=partial(weightNext,v/100.0)) mc.setParent('..') mc.showWindow(winName) mc.window(winName, edit=True, width=100, height=250)
Example #2
Source File: createSpiralWin.py From tutorials with MIT License | 7 votes |
def createSpiralWin(): window = cmds.window( title="Create Spiral", widthHeight=(200, 300) ) cmds.columnLayout( columnAttach=('both', 5), rowSpacing=5, adjustableColumn=True ) amp = cmds.floatFieldGrp( numberOfFields=1, label='Amp', value1=1.0) spin = cmds.floatFieldGrp( numberOfFields=1, label='Spin', value1=30) count = cmds.intFieldGrp( numberOfFields=1, label='Count', value1=20) width = cmds.floatFieldGrp( numberOfFields=1, label='Width', value1=3) def click(value): doCreateSpiral(amp, spin, count, width) cmds.button( label='Create Spiral!', command=click ) closeCmd = 'cmds.deleteUI("%s", window=True)' % window cmds.button( label='Close', command=closeCmd ) cmds.showWindow( window )
Example #3
Source File: dpAutoRig.py From dpAutoRigSystem with GNU General Public License v2.0 | 6 votes |
def info(self, title, description, text, align, width, height, *args): """ Create a window showing the text info with the description about any module. """ # declaring variables: self.info_title = title self.info_description = description self.info_text = text self.info_winWidth = width self.info_winHeight = height self.info_align = align # creating Info Window: if cmds.window('dpInfoWindow', query=True, exists=True): cmds.deleteUI('dpInfoWindow', window=True) dpInfoWin = cmds.window('dpInfoWindow', title='dpAutoRig - v'+DPAR_VERSION+' - '+self.langDic[self.langName]['i013_info']+' - '+self.langDic[self.langName][self.info_title], iconName='dpInfo', widthHeight=(self.info_winWidth, self.info_winHeight), menuBar=False, sizeable=True, minimizeButton=False, maximizeButton=False) # creating text layout: infoColumnLayout = cmds.columnLayout('infoColumnLayout', adjustableColumn=True, columnOffset=['both', 20], parent=dpInfoWin) cmds.separator(style='none', height=10, parent=infoColumnLayout) infoLayout = cmds.scrollLayout('infoLayout', parent=infoColumnLayout) if self.info_description: infoDesc = cmds.text(self.langDic[self.langName][self.info_description], align=self.info_align, parent=infoLayout) if self.info_text: infoText = cmds.text(self.info_text, align=self.info_align, parent=infoLayout) # call Info Window: cmds.showWindow(dpInfoWin)
Example #4
Source File: dpAutoRig.py From dpAutoRigSystem with GNU General Public License v2.0 | 6 votes |
def donateWin(self, *args): """ Simple window with links to donate in order to support this free and openSource code via PayPal. """ # declaring variables: self.donate_title = 'dpAutoRig - v'+DPAR_VERSION+' - '+self.langDic[self.langName]['i167_donate'] self.donate_description = self.langDic[self.langName]['i168_donateDesc'] self.donate_winWidth = 305 self.donate_winHeight = 300 self.donate_align = "center" # creating Donate Window: if cmds.window('dpDonateWindow', query=True, exists=True): cmds.deleteUI('dpDonateWindow', window=True) dpDonateWin = cmds.window('dpDonateWindow', title=self.donate_title, iconName='dpInfo', widthHeight=(self.donate_winWidth, self.donate_winHeight), menuBar=False, sizeable=True, minimizeButton=False, maximizeButton=False) # creating text layout: donateColumnLayout = cmds.columnLayout('donateColumnLayout', adjustableColumn=True, columnOffset=['both', 20], rowSpacing=5, parent=dpDonateWin) cmds.separator(style='none', height=10, parent=donateColumnLayout) infoDesc = cmds.text(self.donate_description, align=self.donate_align, parent=donateColumnLayout) cmds.separator(style='none', height=10, parent=donateColumnLayout) brPaypalButton = cmds.button('brlPaypalButton', label=self.langDic[self.langName]['i167_donate']+" - R$ - Real", align=self.donate_align, command=partial(utils.visitWebSite, DONATE+"BRL"), parent=donateColumnLayout) #usdPaypalButton = cmds.button('usdPaypalButton', label=self.langDic[self.langName]['i167_donate']+" - USD - Dollar", align=self.donate_align, command=partial(utils.visitWebSite, DONATE+"USD"), parent=donateColumnLayout) # call Donate Window: cmds.showWindow(dpDonateWin)
Example #5
Source File: dpIkFkSnap.py From dpAutoRigSystem with GNU General Public License v2.0 | 6 votes |
def dpIkFkSnapUI(self, *args): """ Show a little window with buttons to change from Ik to Fk or from Fk to Ik snapping. """ # creating ikFkSnap Window: if cmds.window('dpIkFkSnapWindow', query=True, exists=True): cmds.deleteUI('dpIkFkSnapWindow', window=True) ikFkSnap_winWidth = 205 ikFkSnap_winHeight = 50 dpIkFkSnapWin = cmds.window('dpIkFkSnapWindow', title='IkFkSnap '+DPIKFK_VERSION, iconName='dpIkFkSnap', widthHeight=(ikFkSnap_winWidth, ikFkSnap_winHeight), menuBar=False, sizeable=True, minimizeButton=True, maximizeButton=False, menuBarVisible=False, titleBar=True) # creating layout: ikFkSnapLayout = cmds.columnLayout('ikFkSnapLayout', adjustableColumn=True, parent=dpIkFkSnapWin) # creating buttons: cmds.button('ikToFkSnap_BT', label="Ik --> Fk", backgroundColor=(0.8, 0.8, 1.0), command=self.IkToFkSnap, parent=ikFkSnapLayout) cmds.button('fkToIkSnap_BT', label="Fk --> Ik", backgroundColor=(1.0, 0.8, 0.8), command=self.FkToIkSnap, parent=ikFkSnapLayout) # call colorIndex Window: cmds.showWindow(dpIkFkSnapWin)
Example #6
Source File: dpReorderAttr.py From dpAutoRigSystem with GNU General Public License v2.0 | 6 votes |
def dpReorderAttrUI(self, *args): """ Create a window in order to load the original model and targets to be mirrored. """ # creating dpReorderAttrUI Window: self.dpCloseReorderAttrUI() reorderAttr_winWidth = 175 reorderAttr_winHeight = 75 dpReorderAttrWin = cmds.window('dpReorderAttrWindow', title=self.langDic[self.langName]["m087_reorderAttr"]+" "+DPRA_VERSION, widthHeight=(reorderAttr_winWidth, reorderAttr_winHeight), menuBar=False, sizeable=True, minimizeButton=False, maximizeButton=False, menuBarVisible=False, titleBar=True) # creating layout: reorderAttrLayout = cmds.columnLayout('reorderAttrLayout', columnOffset=("left", 30)) cmds.separator(style='none', height=7, parent=reorderAttrLayout) cmds.button(label=self.langDic[self.langName]["i154_up"], annotation=self.langDic[self.langName]["i155_upDesc"], width=110, backgroundColor=(0.45, 1.0, 0.6), command=partial(self.dpMoveAttr, 1, None, None, True), parent=reorderAttrLayout) cmds.separator(style='in', height=10, width=110, parent=reorderAttrLayout) cmds.button(label=self.langDic[self.langName]["i156_down"], annotation=self.langDic[self.langName]["i157_downDesc"], width=110, backgroundColor=(1.0, 0.45, 0.45), command=partial(self.dpMoveAttr, 0, None, None, True), parent=reorderAttrLayout) # call dpReorderAttrUI Window: cmds.showWindow(dpReorderAttrWin)
Example #7
Source File: playblast.py From dpa-pipe with MIT License | 5 votes |
def floatUI(): # Check to see if window exists if cmds.window("PBQuality", exists=True): cmds.deleteUI("PBQuality") # Create window window = cmds.window("PBQuality", title="DPA Playblast", w=300, h=100, mnb=False, mxb=False, sizeable=False) # Create a main layout mainLayout = cmds.columnLayout(adj=True) blastLayout = cmds.columnLayout("blastLayout", p=mainLayout, w=260, adj=False, rs=5, cat=('left', 5)) cmds.separator(p=blastLayout) cmds.text(label="Enter desired playbast quality:", p=blastLayout) qualityField = cmds.floatField("playblastValue", p=blastLayout, w=250, min=50, max=100, pre=0, step=1, v=90, ed=True) qualitySlider = cmds.floatSlider("playblastPercentage", p=blastLayout, w=250, min=50, max=100, step=1, v=90, dc=updatePercent) cmds.separator(p=blastLayout) sequenceOption = cmds.checkBox("sequenceOption", label="From Sequence", value=False) reviewOption = cmds.checkBox("reviewOption", label="Auto-bot review submission", value=False) cmds.separator(p=blastLayout) confirmLayout = cmds.rowColumnLayout("confirmLayout", p=mainLayout, w=250, nc=2, rs=(5, 5), co=[(1, 'left', 5), (2, 'right', 5)], cw=[(1, 125), (2, 125)]) cancelButton = cmds.button("cancelButton", p=confirmLayout, label="Cancel", c="cmds.deleteUI('PBQuality')", w=80, h=30) pbButton = cmds.button("pbButton", p=confirmLayout, label="Playblast", c=handlePB, w=100, h=30) cmds.separator(p=confirmLayout) cmds.showWindow(window)
Example #8
Source File: ml_utilities.py From ml_tools with MIT License | 5 votes |
def buildWindow(self): ''' Initialize the UI ''' if mc.window(self.name, exists=True): mc.deleteUI(self.name) mc.window(self.name, title='ml :: '+self.title, iconName=self.title, width=self.width, height=self.height, menuBar=self.menu) if self.menu: self.createMenu() self.form = mc.formLayout() self.column = mc.columnLayout(adj=True) mc.rowLayout( numberOfColumns=2, columnWidth2=(34, self.width-34), adjustableColumn=2, columnAlign2=('right','left'), columnAttach=[(1, 'both', 0), (2, 'both', 8)] ) #if we can find an icon, use that, otherwise do the text version if self.icon: mc.iconTextStaticLabel(style='iconOnly', image1=self.icon) else: mc.text(label=' _ _ |\n| | | |') if not self.menu: mc.popupMenu(button=1) mc.menuItem(label='Help', command=(_showHelpCommand(TOOL_URL+self.name+'/'))) mc.text(label=self.info) mc.setParent('..') mc.separator(height=8, style='single', horizontal=True)
Example #9
Source File: ml_controlLibrary.py From ml_tools with MIT License | 5 votes |
def buildMainLayout(self): '''Build the main part of the ui ''' tabs = mc.tabLayout() tab1 = mc.columnLayout(adj=True) mc.scrollLayout(cr=True) self.shelfLayout = mc.shelfLayout() self.refreshShelfLayout() mc.setParent(tabs) tab2 = mc.columnLayout(adj=True) mc.separator(height=8, style='none') mc.text('Select curve(s) to export. Multiple selected curves will be combined.') mc.text('Center and fit the curve in the viewport,') mc.text('and make sure nothing else is visible for best icon creation.') mc.separator(height=16, style='in') mc.button('Export Selected Curve', command=self.exportControl, annotation='Select a nurbsCurve to export.') mc.tabLayout( tabs, edit=True, tabLabel=((tab1, 'Import'), (tab2, 'Export') )) if not mc.shelfLayout(self.shelfLayout, query=True, numberOfChildren=True): mc.tabLayout( tabs, edit=True, selectTab=tab2)
Example #10
Source File: ml_colorControl.py From ml_tools with MIT License | 5 votes |
def buildMainLayout(self): '''Build the main part of the ui ''' #tabs = mc.tabLayout() #tab1 = mc.columnLayout(adj=True) #self.swatch_selected = self.colorControlLayout() #mc.button(label='Color Selected', command=self.colorSelected) #mc.setParent('..') #tab2 = mc.columnLayout(adj=True) self.swatch_range1 = self.colorControlLayout(label='First Selected') self.swatch_range2 = self.colorControlLayout(label='Last Selected') mc.separator(horizontal=True, height=10) mc.button(label='Color Selected Nodes', command=self.colorSelectedRange) #mc.setParent('..') #tab3 = mc.columnLayout(adj=True) #self.positionWidgets = {} #for xyz in 'XYZ': #for m in ['Min','Max']: #self.positionWidgets[m+xyz] = self.colorControlLayout(label='{} {}'.format(m,xyz)) mc.setParent('..') #mc.tabLayout( tabs, edit=True, tabLabel=((tab1, 'Color Control'), (tab2, 'Color Range')) )
Example #11
Source File: ml_pivot.py From ml_tools with MIT License | 5 votes |
def editPivotDriver(self, driver): self.pivotDriver = driver #get driver range node,attr = driver.split('.',1) value = mc.getAttr(driver) minValue = mc.attributeQuery(attr, node=node, minimum=True)[0] maxValue = mc.attributeQuery(attr, node=node, maximum=True)[0] #create a ui with a slider self.pivotDriverWindow = 'ml_pivot_editPivotDriverUI' if mc.window(self.pivotDriverWindow, exists=True): mc.deleteUI(self.pivotDriverWindow) window = mc.window(self.pivotDriverWindow, width=1, height=1) mc.columnLayout() self.floatSlider = mc.floatSliderButtonGrp(label=attr, field=True, value=value, buttonLabel='Bake', minValue=minValue, maxValue=maxValue, buttonCommand=self.doEditPivotDriver ) mc.showWindow( window ) mc.window(self.pivotDriverWindow, edit=True, width=1, height=1)
Example #12
Source File: lib.py From SiShelf with MIT License | 5 votes |
def script_execute(code, source_type): ''' maya内でスクリプトを実行する :param code: string :param source_type: 'mel' or 'python' :return: ''' window = cmds.window() cmds.columnLayout() cmds.cmdScrollFieldExecuter(t=code, opc=1, sln=1, exa=1, sourceType=source_type) cmds.deleteUI(window) # 実行関数を文字列から動的生成用文字列
Example #13
Source File: tweener.py From PythonForMayaSamples with GNU General Public License v3.0 | 5 votes |
def buildUI(self): # To start with we create a layout to hold our UI objects # A layout is a UI object that lays out its children, in this case in a column column = cmds.columnLayout() # Now we create a text label to tell a user how to use our UI cmds.text(label="Use this slider to set the tween amount") # We want to put our slider and a button side by side. This is not possible in a columnLayout, so we use a row row = cmds.rowLayout(numberOfColumns=2) # We create a slider, set its minimum, maximum and default value. # The changeCommand needs to be given a function to call, so we give it our tween function # We need to hold on to our slider's name so we can edit it later, so we hold it in a variable self.slider = cmds.floatSlider(min=0, max=100, value=50, step=1, changeCommand=tween) # Now we make a button to reset our UI, and it calls our reset method cmds.button(label="Reset", command=self.reset) # Finally we don't want to add anymore to our row layout but want to add it to our column again # So we must change the active parent layout cmds.setParent(column) # We add a button to close our UI cmds.button(label="Close", command=self.close) # *args will be a new concept for you # It basically means I do not know how many arguments I will get, so please put them all inside this one list (tuple) called args
Example #14
Source File: reusableUI.py From PythonForMayaSamples with GNU General Public License v3.0 | 5 votes |
def buildUI(self): column = cmds.columnLayout() cmds.text(label="Use the slider to modify the number of teeth the gear will have") cmds.rowLayout(numberOfColumns=4) # This label will show the number of teeth we've set self.label = cmds.text(label="10") # Unlike the tweener, we use an integer slider and we set it to run the modifyGear method as it is dragged self.slider = cmds.intSlider(min=5, max=30, value=10, step=1, dragCommand=self.modifyGear) cmds.button(label="Make Gear", command=self.makeGear) cmds.button(label="Reset", command=self.reset) cmds.setParent(column) cmds.button(label="Close", command=self.close)
Example #15
Source File: reusableUI.py From PythonForMayaSamples with GNU General Public License v3.0 | 5 votes |
def buildUI(self): column = cmds.columnLayout() cmds.text(label="Use this slider to set the tween amount") cmds.rowLayout(numberOfColumns=2) self.slider = cmds.floatSlider(min=0, max=100, value=50, step=1, changeCommand=tweener.tween) cmds.button(label="Reset", command=self.reset) cmds.setParent(column) cmds.button(label="Close", command=self.close) # And again, we just need to override the reset method # We don't need to define the close, or show methods because it gets those from BaseWindow
Example #16
Source File: ctx.py From mGui with MIT License | 5 votes |
def create_property_ui(self, *_, **__): """ override this in derived classes to create gui. You'll need to attach your gui to the results of set_ui_parent() and then close by activating the tab using set_active() as shown below """ prop_sheet = self.set_ui_parent() cmds.columnLayout(self.name) cmds.text("no properties") cmds.setParent("..") self.set_active()
Example #17
Source File: dpAutoRig.py From dpAutoRigSystem with GNU General Public License v2.0 | 5 votes |
def dpARLoadingWindow(): """ Just create a Loading window in order to show we are working to user when calling dpAutoRigSystem. """ loadingString = "Loading dpAutoRigSystem v%s ... " %DPAR_VERSION print loadingString, path = os.path.dirname(__file__) randImage = random.randint(0,7) clearDPARLoadingWindow() cmds.window('dpARLoadWin', title='dpAutoRigSystem', iconName='dpAutoRig', widthHeight=(285, 203), menuBar=False, sizeable=False, minimizeButton=False, maximizeButton=False) cmds.columnLayout('dpARLoadLayout') cmds.image('loadingImage', image=(path+"/Icons/dp_loading_0%i.png" %randImage), backgroundColor=(0.8, 0.8, 0.8), parent='dpARLoadLayout') cmds.text('versionText', label=loadingString, parent='dpARLoadLayout') cmds.showWindow('dpARLoadWin')
Example #18
Source File: dpBaseClass.py From dpAutoRigSystem with GNU General Public License v2.0 | 5 votes |
def createModuleLayout(self, *args): """ Create the Module Layout, so it will exists in the right as a new options to editModules. """ # MODULE LAYOUT: self.moduleLayout = self.langDic[self.langName][self.title]+" - "+self.userGuideName self.moduleFrameLayout = cmds.frameLayout(self.moduleLayout , label=self.moduleLayout, collapsable=True, collapse=False, parent="modulesLayoutA") self.topColumn = cmds.columnLayout(self.moduleLayout+"_TopColumn", adjustableColumn=True, parent=self.moduleFrameLayout) # here we have just the column layouts to be populated by modules.
Example #19
Source File: sqCopyPasteShapes.py From dpAutoRigSystem with GNU General Public License v2.0 | 5 votes |
def __init__(self, *args, **kwargs): if cmds.window("CopyPasteShapes", query=True, exists=True): cmds.deleteUI("CopyPasteShapes") win = cmds.window('sqCopyPasteShapesWindow', title='CopyPasteShapes', widthHeight=(200, 100), menuBar=False, sizeable=True, minimizeButton=True, maximizeButton=False, menuBarVisible=False, titleBar=True) layout = cmds.columnLayout('sqCopyPasteShapesLayout', adjustableColumn=True, parent=win) cmds.button('sqCopyPasteShapesBtnSave', label="Save", backgroundColor=(0.8, 0.8, 1.0), command=self.onBtnSavePressed, parent=layout) cmds.button('sqCopyPasteShapesBtnLoad', label="Load", backgroundColor=(1.0, 0.8, 0.8), command=self.onBtnLoadPressed, parent=layout) cmds.showWindow(win)
Example #20
Source File: dpCopyPasteAttr.py From dpAutoRigSystem with GNU General Public License v2.0 | 5 votes |
def copyPasteAttrUI(self, *args): """ UI (window). """ self.closeCopyPasteAttrUI() # UI: dpCopyPasteAttrWin = cmds.window('dpCopyPasteAttrWin', title='CopyPasteAttr - v'+DPCP_VERSION, width=200, height=75, sizeable=True, minimizeButton=False, maximizeButton=False) # UI elements: mainLayout = cmds.columnLayout('mainLayout', width=150, height=75, adjustableColumn=True, parent=dpCopyPasteAttrWin) copyButton = cmds.button('copyButton', label=self.langDic[self.langName]['i122_copyAttr'], command=partial(self.ctrls.copyAttr, verbose=True), backgroundColor=(0.7, 1.0, 0.7), parent=mainLayout) pasteButton = cmds.button('pasteButton', label=self.langDic[self.langName]['i123_pasteAttr'], command=partial(self.ctrls.pasteAttr, verbose=True), backgroundColor=(1.0, 1.0, 0.7), parent=mainLayout) copyAndPasteButton = cmds.button('copyAndPasteButton', label=self.langDic[self.langName]['i124_copyPasteAttr'], command=partial(self.ctrls.copyAndPasteAttr, True), backgroundColor=(0.7, 0.9, 1.0), parent=mainLayout) # calling UI: cmds.showWindow(dpCopyPasteAttrWin)
Example #21
Source File: sqStickyLipsSetup.py From dpAutoRigSystem with GNU General Public License v2.0 | 5 votes |
def dpMain(self, *args): self.edgeList = [] self.baseCurve = [] self.baseCurveA = [] self.baseCurveB = [] self.mainCurveA = [] self.mainCurveB = [] self.curveLenght = 0 self.maxIter = 0 self.clusterList = [] self.receptList = [] self.optionCtrl = "Option_Ctrl" self.wireNodeList = [] if cmds.window('sqStickyLipsWindow', query=True, exists=True): cmds.deleteUI('sqStickyLipsWindow', window=True) cmds.window('sqStickyLipsWindow', title='sqStickyLips - v'+str(SQSL_VERSION)+' - UI', widthHeight=(300, 200), menuBar=False, sizeable=False, minimizeButton=True, maximizeButton=False) cmds.showWindow('sqStickyLipsWindow') slLayoutColumn = cmds.columnLayout('slLayoutColumn', adjustableColumn=True) cmds.text("Load meshes:", align="left", parent=slLayoutColumn) slLayoutA = cmds.rowColumnLayout('slLayoutA', numberOfColumns=2, columnWidth=[(1, 100), (2, 160)], parent=slLayoutColumn) cmds.button(label="Recept A >>", command=partial(self.sqSLLoad, "A"), parent=slLayoutA) self.receptA_TF = cmds.textField(parent=slLayoutA) cmds.button(label="Recept B >>", command=partial(self.sqSLLoad, "B"), parent=slLayoutA) self.receptB_TF = cmds.textField(parent=slLayoutA) cmds.text("Select a closed edgeLoop and press the run button", parent=slLayoutColumn) cmds.button(label="RUN - Generate Sticky Lips", command=self.sqGenerateStickyLips, backgroundColor=[0.3, 1, 0.7], parent=slLayoutColumn)
Example #22
Source File: dpAutoRig.py From dpAutoRigSystem with GNU General Public License v2.0 | 5 votes |
def updateWin(self, rawResult, text, *args): """ Create a window showing the text info with the description about any module. """ # declaring variables: self.update_checkedNumber = rawResult[0] self.update_remoteVersion = rawResult[1] self.update_remoteLog = rawResult[2] self.update_text = text self.update_winWidth = 305 self.update_winHeight = 300 # creating Update Window: if cmds.window('dpUpdateWindow', query=True, exists=True): cmds.deleteUI('dpUpdateWindow', window=True) dpUpdateWin = cmds.window('dpUpdateWindow', title='dpAutoRigSystem - '+self.langDic[self.langName]['i089_update'], iconName='dpInfo', widthHeight=(self.update_winWidth, self.update_winHeight), menuBar=False, sizeable=True, minimizeButton=False, maximizeButton=False) # creating text layout: updateLayout = cmds.columnLayout('updateLayout', adjustableColumn=True, columnOffset=['both', 20], rowSpacing=5, parent=dpUpdateWin) if self.update_text: updateDesc = cmds.text("\n"+self.langDic[self.langName][self.update_text], align="center", parent=updateLayout) cmds.text("\n"+DPAR_VERSION+self.langDic[self.langName]['i090_currentVersion'], align="left", parent=updateLayout) if self.update_remoteVersion: cmds.text(self.update_remoteVersion+self.langDic[self.langName]['i091_onlineVersion'], align="left", parent=updateLayout) cmds.separator(height=30) if self.update_remoteLog: remoteLog = self.update_remoteLog.replace("\\n", "\n") cmds.text(self.langDic[self.langName]['i171_updateLog']+":\n", align="center", parent=updateLayout) cmds.text(remoteLog, align="left", parent=updateLayout) cmds.separator(height=30) whatsChangedButton = cmds.button('whatsChangedButton', label=self.langDic[self.langName]['i117_whatsChanged'], align="center", command=partial(utils.visitWebSite, DPAR_WHATSCHANGED), parent=updateLayout) visiteGitHubButton = cmds.button('visiteGitHubButton', label=self.langDic[self.langName]['i093_gotoWebSite'], align="center", command=partial(utils.visitWebSite, DPAR_GITHUB), parent=updateLayout) if (int(cmds.about(version=True)[:4]) < 2019) and platform.system() == "Darwin": #Maya 2018 or older on macOS upgradeSSLmacOSButton = cmds.button('upgradeSSLmacOSButton', label=self.langDic[self.langName]['i164_sslMacOS'], align="center", backgroundColor=(0.8, 0.4, 0.4), command=partial(utils.visitWebSite, SSL_MACOS), parent=updateLayout) downloadButton = cmds.button('downloadButton', label=self.langDic[self.langName]['i094_downloadUpdate'], align="center", command=partial(self.downloadUpdate, DPAR_MASTERURL, "zip"), parent=updateLayout) installButton = cmds.button('installButton', label=self.langDic[self.langName]['i095_installUpdate'], align="center", command=partial(self.installUpdate, DPAR_MASTERURL, self.update_remoteVersion), parent=updateLayout) # automatically check for updates: cmds.separator(height=30) self.autoCheckUpdateCB = cmds.checkBox('autoCheckUpdateCB', label=self.langDic[self.langName]['i092_autoCheckUpdate'], align="left", value=self.userDefAutoCheckUpdate, changeCommand=self.setAutoCheckUpdatePref, parent=updateLayout) cmds.separator(height=30) # call Update Window: cmds.showWindow(dpUpdateWin) print self.langDic[self.langName][self.update_text]
Example #23
Source File: mlSSDS.py From ssds with MIT License | 4 votes |
def showBuildWindow(arg): labelWidth = 100 fieldWidth = 100 cmds.window(uiWindowName, title = 'SSDS') cmds.formLayout(uiFormName) cmds.columnLayout(uiFormLayoutName, rowSpacing = 5) # joints cmds.rowLayout(uiNumJointsName[0], numberOfColumns = 2, columnWidth2 = (labelWidth, fieldWidth), columnAlign2 = ('right', 'right')) cmds.text(label = '# Joints') cmds.intField(uiNumJointsName[1], minValue = 0, maxValue = 100, value = 1, width = fieldWidth) cmds.setParent('..') # max influences cmds.rowLayout(uiMaxInfluenceName[0], numberOfColumns = 2, columnWidth2 = (labelWidth, fieldWidth), columnAlign2 = ('right', 'right')) cmds.text(label = 'Max Influences') cmds.intField(uiMaxInfluenceName[1], minValue = 1, maxValue = 8, value = 4, width = fieldWidth) cmds.setParent('..') # iterations cmds.rowLayout(uiNumIterationsName[0], numberOfColumns = 2, columnWidth2 = (labelWidth, fieldWidth), columnAlign2 = ('right', 'right')) cmds.text(label = '# Iterations') cmds.intField(uiNumIterationsName[1], minValue = 0, maxValue = 100, value = 10, width = fieldWidth) cmds.setParent('..') # transform type cmds.rowLayout('SsdsTransformTypeLayout', numberOfColumns = 2, columnWidth2 = (labelWidth, fieldWidth), columnAlign2 = ('right', 'right')) cmds.text(label = 'Transform Type') cmds.columnLayout('temporary', rowSpacing = 3) cmds.radioCollection(uiTransformRadioCollectionName) cmds.radioButton(uiTransformNames[0], label = 'T') cmds.radioButton(uiTransformNames[1], label = 'R+T') cmds.radioButton(uiTransformNames[2], label = 'S+R+T') cmds.radioCollection(uiTransformRadioCollectionName, edit = True, select = uiTransformNames[2]) cmds.setParent(uiFormLayoutName) # concentrate cmds.rowLayout(uiConcentrateName[0], numberOfColumns = 2, columnWidth2 = (labelWidth, fieldWidth), columnAlign2 = ('right', 'right')) cmds.text(label = 'Concentrate') cmds.floatField(uiConcentrateName[1], minValue = 0, maxValue = 100, value = 0.0, precision = 3, width = fieldWidth) cmds.setParent('..') # build cmds.button(uiBuildButtonName, label='Build', command = invokeBuild, width = labelWidth + fieldWidth) cmds.formLayout(uiFormName, edit = True, attachForm = [(uiFormLayoutName, 'top', 5), (uiFormLayoutName, 'left', 5), (uiFormLayoutName, 'right', 5)]) cmds.showWindow(uiWindowName)
Example #24
Source File: swingtwist.py From cmt with MIT License | 4 votes |
def create_ui(self): cmds.columnLayout(adj=True) for widget in [ Options.SWING_WEIGHT_WIDGET, Options.TWIST_WEIGHT_WIDGET, Options.TWIST_AXIS_WIDGET, ]: # Delete the widgets so we don't create multiple controls with the same name try: cmds.deleteUI(widget, control=True) except RuntimeError: pass swing_weight = cmds.optionVar(q=Options.SWING_WEIGHT_WIDGET) cmds.floatSliderGrp( Options.SWING_WEIGHT_WIDGET, label="Swing weight", field=True, minValue=-1.0, maxValue=1.0, fieldMinValue=-1.0, fieldMaxValue=1.0, value=swing_weight, step=0.1, precision=2, ) twist_weight = cmds.optionVar(q=Options.TWIST_WEIGHT_WIDGET) cmds.floatSliderGrp( Options.TWIST_WEIGHT_WIDGET, label="Twist weight", field=True, minValue=-1.0, maxValue=1.0, fieldMinValue=-1.0, fieldMaxValue=1.0, value=twist_weight, step=0.1, precision=2, ) twist_axis = cmds.optionVar(q=Options.TWIST_AXIS_WIDGET) twist_axis = 1 if not twist_axis else twist_axis + 1 cmds.optionMenuGrp(Options.TWIST_AXIS_WIDGET, l="Twist Axis") cmds.menuItem(label="X") cmds.menuItem(label="Y") cmds.menuItem(label="Z") cmds.optionMenuGrp(Options.TWIST_AXIS_WIDGET, e=True, sl=twist_axis)
Example #25
Source File: dpRivet.py From dpAutoRigSystem with GNU General Public License v2.0 | 4 votes |
def dpRivetUI(self, *args): """ Create a window in order to load the original model and targets to be mirrored. """ # creating dpRivetUI Window: if cmds.window('dpRivetWindow', query=True, exists=True): cmds.deleteUI('dpRivetWindow', window=True) rivet_winWidth = 305 rivet_winHeight = 470 dpRivetWin = cmds.window('dpRivetWindow', title=self.langDic[self.langName]["m083_rivet"]+" "+DPRV_VERSION, widthHeight=(rivet_winWidth, rivet_winHeight), menuBar=False, sizeable=True, minimizeButton=False, maximizeButton=False, menuBarVisible=False, titleBar=True) # creating layout: rivetLayout = cmds.columnLayout('rivetLayout', columnOffset=("left", 10)) cmds.text(label=self.langDic[self.langName]["m145_loadGeo"], height=30, font='boldLabelFont', parent=rivetLayout) doubleLayout = cmds.rowColumnLayout('doubleLayout', numberOfColumns=2, columnWidth=[(1, 100), (2, 210)], columnAlign=[(1, 'left'), (2, 'left')], columnAttach=[(1, 'left', 10), (2, 'left', 20)], parent=rivetLayout) cmds.button(label=self.langDic[self.langName]["m146_geo"]+" >", annotation="Load the Geometry here in order to be used to attach.", backgroundColor=(1.0, 0.7, 1.0), width=100, command=self.dpLoadGeoToAttach, parent=doubleLayout) self.geoToAttachTF = cmds.textField('geoToAttachTF', width=180, text="", changeCommand=partial(self.dpLoadGeoToAttach, None, True), parent=doubleLayout) uvSetLayout = cmds.rowColumnLayout('uvSetLayout', numberOfColumns=2, columnWidth=[(1, 110), (2, 210)], columnAlign=[(1, 'right'), (2, 'left')], columnAttach=[(1, 'right', 1), (2, 'left', 10)], parent=rivetLayout) cmds.text(label="UV Set:", font='obliqueLabelFont', parent=uvSetLayout) self.uvSetTF = cmds.textField('uvSetTF', width=180, text="", editable=False, parent=uvSetLayout) cmds.separator(style='in', height=15, width=300, parent=rivetLayout) cmds.text(label=self.langDic[self.langName]["m147_itemsFollowGeo"], height=30, font='boldLabelFont', parent=rivetLayout) itemsLayout = cmds.columnLayout('itemsLayout', columnOffset=('left', 10), width=310, parent=rivetLayout) self.itemScrollList = cmds.textScrollList('itemScrollList', width=290, height=100, allowMultiSelection=True, parent=itemsLayout) cmds.separator(style='none', height=5, parent=itemsLayout) middleLayout = cmds.rowColumnLayout('middleLayout', numberOfColumns=2, columnWidth=[(1, 150), (2, 150)], columnAlign=[(1, 'left'), (2, 'left')], columnAttach=[(1, 'left', 0), (2, 'left', 0)], parent=itemsLayout) cmds.button(label=self.langDic[self.langName]["i045_add"], annotation=self.langDic[self.langName]["i045_add"], width=140, command=self.dpAddSelect, parent=middleLayout) cmds.button(label=self.langDic[self.langName]["i046_remove"], annotation=self.langDic[self.langName]["i046_remove"], width=140, command=self.dpRemoveSelect, parent=middleLayout) cmds.separator(style='in', height=15, width=300, parent=rivetLayout) cmds.text(label=self.langDic[self.langName]["i002_options"]+":", height=30, font='boldLabelFont', parent=rivetLayout) fatherLayout = cmds.columnLayout('fatherLayout', columnOffset=("left", 10), parent=rivetLayout) self.attachTCB = cmds.checkBox('attachTCB', label=self.langDic[self.langName]["m148_attach"]+" Translate", value=True, parent=fatherLayout) self.attachRCB = cmds.checkBox('attachRCB', label=self.langDic[self.langName]["m148_attach"]+" Rotate", value=False, parent=fatherLayout) self.fatherGrpCB = cmds.checkBox('fahterGrpCB', label=self.langDic[self.langName]["m149_createGroupConst"], value=True, parent=fatherLayout) invertLayout = cmds.columnLayout('invertLayout', columnOffset=("left", 10), parent=rivetLayout) self.addInvertCB = cmds.checkBox('addInvertCB', label=self.langDic[self.langName]["m150_avoidDoubleTransf"], height=20, value=True, changeCommand=self.dpChangeInvert, parent=invertLayout) translateLayout = cmds.rowColumnLayout('translateLayout', numberOfColumns=2, columnWidth=[(1, 30), (2, 150)], columnAlign=[(1, 'left'), (2, 'left')], columnAttach=[(1, 'left', 10), (2, 'left', 5)], height=20, parent=rivetLayout) cmds.separator(style='none', parent=translateLayout) self.invertTCB = cmds.checkBox('invertTCB', label=self.langDic[self.langName]["m151_invert"]+" Translate", value=True, parent=translateLayout) rotateLayout = cmds.rowColumnLayout('rotateLayout', numberOfColumns=2, columnWidth=[(1, 30), (2, 150)], columnAlign=[(1, 'left'), (2, 'left')], columnAttach=[(1, 'left', 10), (2, 'left', 5)], height=20, parent=rivetLayout) cmds.separator(style='none', parent=rotateLayout) self.invertRCB = cmds.checkBox('invertRCB', label=self.langDic[self.langName]["m151_invert"]+" Rotate", value=False, parent=rotateLayout) cmds.separator(style='none', height=15, parent=rivetLayout) createLayout = cmds.columnLayout('createLayout', columnOffset=("left", 10), parent=rivetLayout) cmds.button(label=self.langDic[self.langName]["i158_create"]+" "+self.langDic[self.langName]["m083_rivet"], annotation=self.langDic[self.langName]["i158_create"]+" "+self.langDic[self.langName]["m083_rivet"], width=290, backgroundColor=(0.20, 0.7, 1.0), command=self.dpCreateRivetFromUI, parent=createLayout) # call dpRivetUI Window: cmds.showWindow(dpRivetWin)
Example #26
Source File: dpTargetMirror.py From dpAutoRigSystem with GNU General Public License v2.0 | 4 votes |
def dpTargetMirrorUI(self, *args): """ Create a window in order to load the original model and targets to be mirrored. """ # creating targetMirrorUI Window: if cmds.window('dpTargetMirrorWindow', query=True, exists=True): cmds.deleteUI('dpTargetMirrorWindow', window=True) targetMirror_winWidth = 305 targetMirror_winHeight = 250 dpTargetMirrorWin = cmds.window('dpTargetMirrorWindow', title=self.langDic[self.langName]["m055_tgtMirror"]+" "+DPTM_VERSION, widthHeight=(targetMirror_winWidth, targetMirror_winHeight), menuBar=False, sizeable=True, minimizeButton=False, maximizeButton=False, menuBarVisible=False, titleBar=True) # creating layout: targetMirrorLayout = cmds.columnLayout('targetMirrorLayout') doubleLayout = cmds.rowColumnLayout('doubleLayout', numberOfColumns=2, columnWidth=[(1, 120), (2, 190)], columnAlign=[(1, 'left'), (2, 'left')], columnAttach=[(1, 'left', 10), (2, 'left', 20)], parent=targetMirrorLayout) cmds.button(label=self.langDic[self.langName]["i043_origModel"]+" >", annotation=self.langDic[self.langName]["i044_origDesc"], backgroundColor=(1.0, 1.0, 0.7), width=120, command=self.dpLoadOriginalModel, parent=doubleLayout) self.originalModelTextField = cmds.textField('originalModelTextField', width=160, text="", parent=doubleLayout) listMirrorLayout = cmds.columnLayout('listMirrorLayout', columnOffset=('left', 10), width=310, parent=targetMirrorLayout) cmds.text(label=self.langDic[self.langName]["i047_targetList"], height=30, parent=listMirrorLayout) self.targetScrollList = cmds.textScrollList('targetScrollList', width=290, height=100, allowMultiSelection=True, parent=listMirrorLayout) cmds.separator(style='none', parent=listMirrorLayout) middleLayout = cmds.rowColumnLayout('middleLayout', numberOfColumns=2, columnWidth=[(1, 150), (2, 150)], columnAlign=[(1, 'left'), (2, 'left')], columnAttach=[(1, 'left', 0), (2, 'left', 0)], parent=listMirrorLayout) cmds.button(label=self.langDic[self.langName]["i045_add"], annotation=self.langDic[self.langName]["i048_addDesc"], width=140, command=self.dpAddSelect, parent=middleLayout) cmds.button(label=self.langDic[self.langName]["i046_remove"], annotation=self.langDic[self.langName]["i051_removeDesc"], width=140, command=self.dpRemoveSelect, parent=middleLayout) cmds.separator(style='none', height=15, parent=middleLayout) renameLayout = cmds.rowColumnLayout('renameLayout', numberOfColumns=3, columnWidth=[(1, 100), (2, 100), (3, 100)], columnAlign=[(1, 'left'), (2, 'left'), (3, 'left')], columnAttach=[(1, 'left', 0), (2, 'left', 0), (3, 'left', 0)], parent=listMirrorLayout) self.autoRenameCB = cmds.checkBox('autoRenameCB', label=self.langDic[self.langName]["i056_autoRename"], value=1, onCommand=partial(self.dpChangeRename, 1), offCommand=partial(self.dpChangeRename, 0), parent=renameLayout) self.fromTxt = cmds.text('fromTxt', label="from", parent=renameLayout) self.toTxt = cmds.text('toTxt', label="to", parent=renameLayout) cmds.separator(style='none', height=15, parent=renameLayout) self.fromNameTF = cmds.textField('fromNameTF', width=80, text="L_", parent=renameLayout) self.toNameTF = cmds.textField('toNameTF', width=80, text="R_", parent=renameLayout) cmds.text(label="Axis:", height=20, parent=listMirrorLayout) tripleLayout = cmds.rowColumnLayout('tripleLayout', numberOfColumns=3, columnWidth=[(1, 100), (2, 100), (3, 100)], columnAlign=[(1, 'left'), (2, 'left'), (3, 'left')], columnAttach=[(1, 'left', 0), (2, 'left', 0), (3, 'left', 0)], parent=listMirrorLayout) self.mirrorAxisRC = cmds.radioCollection('mirrorAxisRC', parent=tripleLayout) rbX = cmds.radioButton("rbX", label="X = YZ", annotation="X", align="left", collection="mirrorAxisRC", parent=tripleLayout) rbY = cmds.radioButton("rbY", label="Y = XZ", annotation="Y", align="left", collection="mirrorAxisRC", parent=tripleLayout) rbZ = cmds.radioButton("rbZ", label="Z = XY", annotation="Z", align="left", collection="mirrorAxisRC", parent=tripleLayout) cmds.radioCollection('mirrorAxisRC', edit=True, select="rbX") cmds.separator(style='none', height=15, parent=listMirrorLayout) self.mirrorPosCB = cmds.checkBox('mirrorPosCB', label=self.langDic[self.langName]["i057_mirrorPosition"], value=1, parent=listMirrorLayout) self.cleanUndoCB = cmds.checkBox('cleanUndoCB', label=self.langDic[self.langName]["i049_clearUndo"], annotation=self.langDic[self.langName]["i050_clearUndoDesc"], align="left", value=1, parent=listMirrorLayout) self.checkHistoryCB = cmds.checkBox('checkHistoryCB', label=self.langDic[self.langName]["i162_checkHistory"], annotation=self.langDic[self.langName]["i161_historyMessage"], align="left", value=0, parent=listMirrorLayout) cmds.button(label=self.langDic[self.langName]["i054_targetRun"], annotation=self.langDic[self.langName]["i053_targetRunDesc"], width=290, backgroundColor=(0.6, 1.0, 0.6), command=self.dpRunMirror, parent=listMirrorLayout) # call targetMirrorUI Window: cmds.showWindow(dpTargetMirrorWin)
Example #27
Source File: dpTranslator.py From dpAutoRigSystem with GNU General Public License v2.0 | 4 votes |
def dpGetLangStringUI(self, *args): """ Show main UI in order to get user translated input texts. It will call update UI to start using predefined list of user info. """ self.dpClearTranslatorUI(2) # translator UI: dpARTranslatorWin2 = cmds.window('dpARTranslatorWin2', title=self.translatorString, iconName='dpAutoRig', widthHeight=(400, 400), menuBar=False, sizeable=True, minimizeButton=True, maximizeButton=True) dpARTranslatorLayout = cmds.columnLayout('dpARTranslatorLayout', adjustableColumn=True, columnOffset=('both', 10), rowSpacing=10, parent=dpARTranslatorWin2) cmds.separator(style='none', parent=dpARTranslatorLayout) langNameLayout = cmds.rowColumnLayout('langNameLayout', numberOfColumns=2, columnWidth=[(1, 70), (2, 200)], columnAlign=[(1, 'right'), (2, 'left')], columnAttach=[(1, 'right', 5), (2, 'left', 0)], parent=dpARTranslatorLayout) cmds.text('langNameTxt', label=self.langDic[self.langName]['i151_language']+":", parent=langNameLayout) cmds.text('newLangNameTxt', label=self.newLangName, parent=langNameLayout) # counter: counterLayout = cmds.rowColumnLayout('counterLayout', numberOfColumns=4, columnWidth=[(1, 70), (2, 20), (3, 10), (4, 30)], columnAlign=[(1, 'right'), (2, 'left'), (3, 'center'), (4, 'left')], columnAttach=[(1, 'right', 5), (2, 'left', 0), (3, 'left', 5), (4, 'left', 5)], parent=dpARTranslatorLayout) cmds.text('sentenceTxt', label=self.langDic[self.langName]['i136_sentence']+":", parent=counterLayout) self.curIndexTxt = cmds.text('curIndexTxt', label='0', parent=counterLayout) cmds.text('counterHifenTxt', label='/', parent=counterLayout) cmds.text('keyLenTxt', label=self.keyLen, parent=counterLayout) # lang Key Type: langKeyTypeLayout = cmds.rowColumnLayout('langKeyTypeLayout', numberOfColumns=2, columnWidth=[(1, 70), (2, 200)], columnAlign=[(1, 'right'), (2, 'left')], columnAttach=[(1, 'right', 5), (2, 'left', 0)], parent=dpARTranslatorLayout) cmds.text('langKeyTypeTxt', label=self.langDic[self.langName]['i138_type']+":", parent=langKeyTypeLayout) self.keyTypeTxt = cmds.text('keyTypeTxt', label='0', parent=langKeyTypeLayout) # lang Key ID: langKeyLayout = cmds.rowColumnLayout('langKeyLayout', numberOfColumns=2, columnWidth=[(1, 70), (2, 200)], columnAlign=[(1, 'right'), (2, 'left')], columnAttach=[(1, 'right', 5), (2, 'left', 0)], parent=dpARTranslatorLayout) cmds.text('langKeyIDTxt', label=self.langDic[self.langName]['i137_id']+":", parent=langKeyLayout) self.keyIDTxt = cmds.text('keyIDTxt', label='0', parent=langKeyLayout) # translator text scrollFields: textsPL = cmds.paneLayout('textsPL', configuration='horizontal2', parent=dpARTranslatorLayout) self.sourceTextSF = cmds.scrollField('sourceTextSF', editable=False, wordWrap=False, text='', parent=textsPL) self.newLangTextSF = cmds.scrollField('newLangTextSF', editable=True, wordWrap=False, text='', parent=textsPL) self.extraInfoTxt = cmds.text('extraInfoTxt', label='', parent=dpARTranslatorLayout) # translator buttons: buttonsPL = cmds.paneLayout('buttonsPL', configuration='vertical3', parent=dpARTranslatorLayout) self.backBT = cmds.button('backBT', label=self.langDic[self.langName]['i145_back'], backgroundColor=(0.3, 0.6, 0.7), command=self.dpTranslatorBack, parent=buttonsPL) self.sameBT = cmds.button('sameBT', label=self.langDic[self.langName]['i146_same'], backgroundColor=(0.2, 0.8, 0.9), command=self.dpTranslatorSame, parent=buttonsPL) self.nextBT = cmds.button('nextBT', label=self.langDic[self.langName]['i147_next'], backgroundColor=(0.1, 0.9, 1.0), command=self.dpTranslatorNext, parent=buttonsPL) self.finishBT = cmds.button('finishBT', label=self.langDic[self.langName]['i148_finish'], backgroundColor=(0.8, 0.8, 0.8), enable=False, command=self.dpTranslatorFinish, parent=dpARTranslatorLayout) cmds.separator(style='none', parent=dpARTranslatorLayout) cmds.showWindow(dpARTranslatorWin2) # update translator UI: self.dpTranslatorUpdateUI()
Example #28
Source File: ml_worldBake.py From ml_tools with MIT License | 4 votes |
def ui(): ''' User interface for world bake ''' with utl.MlUi('ml_worldBake', 'World Bake', width=400, height=175, info='''Select objects, bake to locators in world, camera, or custom space. When you're ready to bake back, select locators and bake "from locators" to re-apply your animation.''') as win: mc.checkBoxGrp('ml_worldBake_bakeOnOnes_checkBox',label='Bake on Ones', annotation='Bake every frame. If deselected, the tool will preserve keytimes.') tabs = mc.tabLayout() tab1 = mc.columnLayout(adj=True) mc.radioButtonGrp('ml_worldBake_space_radioButton', label='Bake To Space', numberOfRadioButtons=3, labelArray3=('World','Camera','Last Selected'), select=1, annotation='The locators will be parented to world, the current camera, or the last selection.') mc.checkBoxGrp('ml_worldBake_constrain_checkBox',label='Maintain Constraints', annotation='Constrain source nodes to the created locators, after baking.') win.ButtonWithPopup(label='Bake Selection To Locators', command=toLocators, annotation='Bake selected object to locators specified space.', readUI_toArgs={'bakeOnOnes':'ml_worldBake_bakeOnOnes_checkBox', 'spaceInt':'ml_worldBake_space_radioButton', 'constrainSource':'ml_worldBake_constrain_checkBox'}, name=win.name)#this last arg is temp.. mc.setParent('..') tab2 = mc.columnLayout(adj=True) win.ButtonWithPopup(label='Bake Selected Locators Back To Objects', command=fromLocators, annotation='Bake from selected locators back to their source objects.', readUI_toArgs={'bakeOnOnes':'ml_worldBake_bakeOnOnes_checkBox'}, name=win.name)#this last arg is temp.. mc.setParent('..') tab3 = mc.columnLayout(adj=True) win.ButtonWithPopup(label='Re-Parent Animated', command=reparent, annotation='Parent all selected nodes to the last selection.', readUI_toArgs={'bakeOnOnes':'ml_worldBake_bakeOnOnes_checkBox'}, name=win.name) win.ButtonWithPopup(label='Un-Parent Animated', command=unparent, annotation='Parent all selected to world.', readUI_toArgs={'bakeOnOnes':'ml_worldBake_bakeOnOnes_checkBox'}, name=win.name) mc.separator() mc.checkBoxGrp('ml_worldBake_maintainOffset_checkBox',label='Maintain Offset', annotation='Maintain the offset between nodes, rather than snapping.') win.ButtonWithPopup(label='Bake Selected', command=utl.matchBake, annotation='Bake from the first selected object directly to the second.', readUI_toArgs={'bakeOnOnes':'ml_worldBake_bakeOnOnes_checkBox', 'maintainOffset':'ml_worldBake_maintainOffset_checkBox'}, name=win.name) mc.tabLayout( tabs, edit=True, tabLabel=((tab1, 'Bake To Locators'), (tab2, 'Bake From Locators'), (tab3, 'Bake Selection')) ) # win.ButtonWithPopup(label='Bake Selected With Offset', command=matchBake, annotation='Bake from the first selected object directly to the second, maintaining offset.', # readUI_toArgs={'bakeOnOnes':'ml_worldBake_bakeOnOnes_checkBox'}, name=win.name)#this last arg is temp..
Example #29
Source File: dpAutoRig.py From dpAutoRigSystem with GNU General Public License v2.0 | 4 votes |
def populateCreatedGuideModules(self, *args): """ Read all guide modules loaded in the scene and re-create the elements in the moduleLayout. """ # create a new list in order to store all created guide modules in the scene and its userSpecNames: self.allGuidesList = [] self.moduleInstancesList = [] # list all namespaces: cmds.namespace(setNamespace=":") namespaceList = cmds.namespaceInfo(listOnlyNamespaces=True) # find path where 'dpAutoRig.py' is been executed: path = utils.findPath("dpAutoRig.py") guideDir = MODULES # find all module names: moduleNameInfo = utils.findAllModuleNames(path, guideDir) validModules = moduleNameInfo[0] validModuleNames = moduleNameInfo[1] # check if there is "__" (double undersore) in the namespaces: for n in namespaceList: divString = n.partition("__") if divString[1] != "": module = divString[0] userSpecName = divString[2] if module in validModuleNames: index = validModuleNames.index(module) # check if there is this module guide base in the scene: curGuideName = validModuleNames[index]+"__"+userSpecName+":"+GUIDE_BASE_NAME if cmds.objExists(curGuideName): self.allGuidesList.append([validModules[index], userSpecName, curGuideName]) # if exists any guide module in the scene, recreate its instance as objectClass: if self.allGuidesList: # clear current layout before reload modules: cmds.deleteUI(self.allUIs["modulesLayoutA"]) self.allUIs["modulesLayoutA"] = cmds.columnLayout("modulesLayoutA", adjustableColumn=True, width=200, parent=self.allUIs["colMiddleRightA"]) # load again the modules: guideFolder = utils.findEnv("PYTHONPATH", "dpAutoRigSystem")+"."+MODULES # this list will be used to rig all modules pressing the RIG button: for module in self.allGuidesList: mod = __import__(guideFolder+"."+module[0], {}, {}, [module[0]]) reload(mod) # identify the guide modules and add to the moduleInstancesList: moduleClass = getattr(mod, mod.CLASS_NAME) dpUIinst = self if cmds.attributeQuery("rigType", node=module[2], ex=True): curRigType = cmds.getAttr(module[2] + ".rigType") moduleInst = moduleClass(dpUIinst, self.langDic, self.langName, self.presetDic, self.presetName, module[1], curRigType) else: if cmds.attributeQuery("Style", node=module[2], ex=True): iStyle = cmds.getAttr(module[2] + ".Style") if (iStyle == 0 or iStyle == 1): moduleInst = moduleClass(dpUIinst, self.langDic, self.langName, self.presetDic, self.presetName, module[1], Base.RigType.biped) else: moduleInst = moduleClass(dpUIinst, self.langDic, self.langName, self.presetDic, self.presetName, module[1], Base.RigType.quadruped) else: moduleInst = moduleClass(dpUIinst, self.langDic, self.langName, self.presetDic, self.presetName, module[1], Base.RigType.default) self.moduleInstancesList.append(moduleInst) # edit the footer A text: self.modulesToBeRiggedList = utils.getModulesToBeRigged(self.moduleInstancesList) cmds.text(self.allUIs["footerAText"], edit=True, label=str(len(self.modulesToBeRiggedList)) +" "+ self.langDic[self.langName]['i005_footerA'])