コード例 #1
0
ファイル: uiUtils.py プロジェクト: MassW/OpenMaya
def addUIElement(uiType, attribute, uiLabel, callback, renderGlobalsNodeName):
    ui = None
    if uiType == 'bool':
        ui = pm.checkBoxGrp(label=uiLabel)
        if callback is not None:
            pm.checkBoxGrp(ui, edit=True, cc=callback)
    if uiType == 'int':
        ui = pm.intFieldGrp(label=uiLabel, numberOfFields = 1)
        if callback is not None:
            pm.intFieldGrp(ui, edit=True, cc = callback)
    if uiType == 'float':
        ui = pm.floatFieldGrp(label=uiLabel, numberOfFields = 1)
        if callback is not None:
            pm.floatFieldGrp(ui, edit=True, cc= callback)
    if uiType == 'enum':
        ui = pm.attrEnumOptionMenuGrp(label = uiLabel, at=attribute, ei = getEnumList(attribute)) 
        # attrEnumOptionGrp has no cc callback, so I create a script job
        if callback is not None:
            attribute = pm.Attribute(renderGlobalsNodeName + "." + attribute)
            pm.scriptJob(attributeChange=[attribute, callback], parent=ui)           
    if uiType == 'color':
        ui = pm.attrColorSliderGrp(label=uiLabel, at=attribute)
    if uiType == 'string':
        ui = pm.textFieldGrp(label=uiLabel)
        if callback is not None:
            pm.textFieldGrp(ui, edit=True, cc=callback)
    if uiType == 'vector':
        ui = pm.floatFieldGrp(label=uiLabel, nf=3)
        if callback is not None:
            pm.floatFieldGrp(ui, edit=True, cc=callback)
    return ui
コード例 #2
0
def addUIElement(uiType, attribute, uiLabel, callback, renderGlobalsNodeName):
    ui = None
    if uiType == 'bool':
        ui = pm.checkBoxGrp(label=uiLabel)
        if callback is not None:
            pm.checkBoxGrp(ui, edit=True, cc=callback)
    if uiType == 'int':
        ui = pm.intFieldGrp(label=uiLabel, numberOfFields=1)
        if callback is not None:
            pm.intFieldGrp(ui, edit=True, cc=callback)
    if uiType == 'float':
        ui = pm.floatFieldGrp(label=uiLabel, numberOfFields=1)
        if callback is not None:
            pm.floatFieldGrp(ui, edit=True, cc=callback)
    if uiType == 'enum':
        ui = pm.attrEnumOptionMenuGrp(label=uiLabel,
                                      at=attribute,
                                      ei=getEnumList(attribute))
        # attrEnumOptionGrp has no cc callback, so I create a script job
        if callback is not None:
            attribute = pm.Attribute(renderGlobalsNodeName + "." + attribute)
            pm.scriptJob(attributeChange=[attribute, callback], parent=ui)
    if uiType == 'color':
        ui = pm.attrColorSliderGrp(label=uiLabel, at=attribute)
    if uiType == 'string':
        ui = pm.textFieldGrp(label=uiLabel)
        if callback is not None:
            pm.textFieldGrp(ui, edit=True, cc=callback)
    if uiType == 'vector':
        ui = pm.floatFieldGrp(label=uiLabel, nf=3)
        if callback is not None:
            pm.floatFieldGrp(ui, edit=True, cc=callback)
    return ui
コード例 #3
0
def multi_MentalRaySettings():
	# Mental Ray Settings
	pm.rowColumnLayout(nc=2)
	pm.text(l='Mental Ray Settings', w=106, al='left', en=False)
	pm.separator(w=marginWidth-106, h=14)
	pm.setParent(multiLight_layout)

	pm.rowColumnLayout(nc=2)
	pm.text(l='', w=142) # GUI SPACER
	multi_MrAreaLight_box = pm.checkBox('hp3dUseShapeCheckbox', l='Use Light Shape', cc=fun.partial(multi_checkboxChange, '.areaLight', 'area & spot', 'hp3dUseShapeCheckbox'))
	pm.setParent(multiLight_layout)

	pm.rowColumnLayout(nc=3)
	pm.text(l='Type', w=140, al='right')
	pm.text(l='', w=3)
	multi_areaType_menu = pm.optionMenu('hp3dAreaTypeMenu', bgc=primary_componentColor, cc=fun.partial(multi_menuChange, '.areaType', 'area & spot', 'hp3dAreaTypeMenu'))
	pm.menuItem(l='Rectangle', da=0)
	pm.menuItem(l='Disc', da=1)
	pm.menuItem(l='Sphere', da=2)
	pm.menuItem(l='Cylinder', da=3)
	pm.menuItem(l='Custom', da=4)
	pm.setParent(multiLight_layout)

	multi_highSamples = pm.intFieldGrp('hp3dHighSamplesField', numberOfFields=1, label='High Samples', v1=8, cc=fun.partial(multi_samplesChange, 'highSamp'))
	multi_highSampLimit = pm.intFieldGrp('hp3dHighSampleLimitField', numberOfFields=1, label='High Sample Limit', v1=1, cc=fun.partial(multi_samplesChange, 'highSampLimit'))
	multi_lowSamples = pm.intFieldGrp('hp3dLowSamplesField', numberOfFields=1, label='Low Samples', v1=1, cc=fun.partial(multi_samplesChange, 'lowSamp'))
	pm.setParent(multiLight_layout)
コード例 #4
0
def multi_samplesChange(attr, *args):
	sel_lights = pm.ls(sl=True, lights=True, dag=True)
	area_list = sortBy_type(sel_lights, 'areaLight')
	spot_list = sortBy_type(sel_lights, 'spotLight')
	
	if attr == 'highSamp':
		value = pm.intFieldGrp('hp3dHighSamplesField', q=True, v1=True)

		for each in area_list:
			pm.setAttr(each+'.areaHiSamples', value)
		for each in spot_list:
			pm.setAttr(each+'.areaSampling', value, value)
	elif attr == 'highSampLimit':
		value = pm.intFieldGrp('hp3dHighSampleLimitField', q=True, v1=True)

		for each in area_list:
			pm.setAttr(each+'.areaHiSampleLimit', value)
		for each in spot_list:
			pm.setAttr(each+'.areaLowLevel', value)
	elif attr == 'lowSamp':
		value = pm.intFieldGrp('hp3dLowSamplesField', q=True, v1=True)

		for each in area_list:
			pm.setAttr(each+'.areaLoSamples', value)
		for each in spot_list:
			pm.setAttr(each+'.areaLowSampling', value, value)
コード例 #5
0
def rand_KeyframeUI(objects=None, attrib=[], axis=["X", "Y", "Z"], uniform=False, uniformObject=False, min=1, max=10, step=1):

	min=int(pm.intFieldGrp('minMaxTimeIntFieldGrp', q=1, v1=1))
	max=int(pm.intFieldGrp('minMaxTimeIntFieldGrp', q=1, v2=1))

	objects = pm.textScrollList('selectedTransformObjectsTextScrollList', q=1, ai=1)

	translateCheckbox = int(pm.checkBoxGrp('randomizeKeyframeCheckBoxGrp', q=1, v1=1))
	rotateCheckbox = int(pm.checkBoxGrp('randomizeKeyframeCheckBoxGrp', q=1, v2=2))
	scaleCheckbox = int(pm.checkBoxGrp('randomizeKeyframeCheckBoxGrp', q=1, v3=3))

	if translateCheckbox == 1:
		#print "Changing Transform Keyframes"
		attrib.append("translate")
	if rotateCheckbox == 1:
		#print "Changing Rotate Keyframes"
		attrib.append("rotate")
	if scaleCheckbox == 1:
		#print "Changing Scale Keyframes"
		attrib.append("scale")

	if attrib == []:
		pm.error("No Attribute selected")

	rand_Keyframe(objects=objects, attr=attrib, axis=axis, uniform=uniform, uniformObject=uniformObject, min=min, max=max, step=step)
コード例 #6
0
    def __init__(self, settingsObj):
        rowColumnLayout(nc=2)

        # LegType UI
        text(l='Leg Type')
        self.legType = optionMenu(l='')
        menuItem(l='Human')
        menuItem(l='Dogleg')
        settingsObj.settings.optionMenuSetup(self.legType, 'legType')

        # Spine Orient UI
        text(l="Spine Orientation")
        self.spineOrient = optionMenu(l='')
        menuItem('Vertical')
        menuItem('Horizontal')
        settingsObj.settings.optionMenuSetup(self.spineOrient, 'spineOrient')

        text(l='Number of Spine Joints')
        self.spineCount = intFieldGrp(nf=1, v1=settingsObj.settings.spineCount)
        text(l='Number of Fingers')
        self.fingerCount = intFieldGrp(nf=1,
                                       v1=settingsObj.settings.fingerCount)
        text(l="Thumb")
        self.thumb = checkBox(l='', v=settingsObj.settings.thumb)

        #setParent("..")

        text(l='')
        text(l='')
        text(l='')
        button(l="Start", w=300, c=core.alt.Callback(self.start))
コード例 #7
0
    def addMultiPromp(self):
        form = pm.setParent(q=True)
        f = pm.formLayout(form, e=True, width=150)
        row = pm.columnLayout()
        nameField = pm.textFieldGrp('addMulti_nameField', label='Name', cw=[(1, 80), (2, 20)], text='',
                                    cat=[(1, 'left', 10), (2, 'left', 5)], editable=True)
        rangeField = pm.intFieldGrp('addMulti_rangeField', label='start-end-step', cw=(1, 80),
                                    cat=[(1, 'left', 10), (2, 'left', 5)], numberOfFields=3, value1=1, value2=10,
                                    value3=1)
        rangeField = pm.intFieldGrp('addMulti_zeroField', label='zeroPad', cw=(1, 80),
                                    cat=[(1, 'left', 10), (2, 'left', 5)],
                                    numberOfFields=1, value1=3)

        b1 = pm.button(p=f, l='Cancel', c= self.abortMultipleFolders)
        b2 = pm.button(p=f, l='OK', c= self.addMultipleFolders)

        spacer = 5
        top = 5
        edge = 5
        pm.formLayout(form, edit=True,
                      attachForm=[(row, 'right', edge), (row, 'top', top), (row, 'left', edge),
                                  (row, 'right', edge),
                                  (b1, 'right', edge), (b1, 'bottom', edge), (b2, 'left', edge),
                                  (b2, 'bottom', edge)],
                      attachNone=[], attachControl=[],
                      attachPosition=[(b1, 'right', spacer, 90), (b2, 'left', spacer, 10)])
コード例 #8
0
    def addMultipleFolders(self, *args):
        sel = pm.treeView(self.widgetName, q=True, si=True)

        name = pm.textFieldGrp('addMulti_nameField', q=True, tx=True)
        start = pm.intFieldGrp('addMulti_rangeField', q=True,  value1=True)
        end = pm.intFieldGrp('addMulti_rangeField', q=True,  value2=True)
        step = pm.intFieldGrp('addMulti_rangeField', q=True, value3=True)
        zeroPad = pm.intFieldGrp('addMulti_zeroField',q=True, value1=True)

        if sel:
            for folder in sel:
                par = folder
                for i in range(start, end + 1, step):
                    itemName = self.nextFolderName(name, par) + '{number:0{width}d}'.format(width=zeroPad, number=i)
                    print itemName
                    pm.treeView(self.widgetName, e=True, addItem=(itemName, par))
                    pm.treeView(self.widgetName, e=True, displayLabel=(itemName, itemName.split('_')[-1]))
        else:
            par = ''
            for i in range(start, end + 1, step):
                itemName = self.nextFolderName(name, par) + '{number:0{width}d}'.format(width=zeroPad, number=i)
                print itemName
                pm.treeView(self.widgetName, e=True, addItem=(itemName, par))
                pm.treeView(self.widgetName, e=True, displayLabel=(itemName, itemName.split('_')[-1]))

        self.putFolderTree()
        pm.layoutDialog(dismiss='ok')
コード例 #9
0
    def displayOptions( self ):
        """Build the interface"""
        self.interface['TimeRange'] = cmds.radioButtonGrp( numberOfRadioButtons=2, label='Time Range', labelArray2=['Time Slider', 'Start/End'], onCommand=self.disableTimeRange )
        self.interface['StartTime'] = cmds.intFieldGrp( label='Start Time' )
        self.interface['EndTime']   = cmds.intFieldGrp( label='End Time' )
        self.interface['Focals']    = cmds.textFieldGrp( label='Focals' )
        self.interface['Cameras']   = cmds.textScrollList( allowMultiSelection=True, width=200, height=100 )
        # self.interface['CamerasLabel']   = cmds.text( label='Cameras' )

        self.formAttachPosition()

        cmds.formLayout(
            self.optionsForm, e=True,
            attachForm=(
                [ self.interface['TimeRange'], 'top', 10 ],
                [ self.interface['Cameras'], 'bottom', 100 ],
                [ self.interface['Cameras'], 'left', 150 ],
            ),
            attachControl=(
                [ self.interface['StartTime'], 'top', 0, self.interface['TimeRange'] ],
                [ self.interface['EndTime'], 'top', 0, self.interface['StartTime'] ],
                [ self.interface['Focals'], 'top', 0, self.interface['EndTime'] ],
                [ self.interface['Cameras'], 'top', 10, self.interface['Focals'] ],
                # [ self.interface['CamerasLabel'], 'top', 10, self.interface['Focals'] ],
                # [ self.interface['CamerasLabel'], 'right', -90, self.interface['Cameras'] ],
            ),
            attachNone=(
                [ self.interface['Cameras'], 'left' ],
                [ self.interface['Cameras'], 'right' ],
            )
        )
        self.editMenuResetCmd() # Set the default values in the interface
コード例 #10
0
ファイル: salModule.py プロジェクト: creuter23/fs-tech-artist
 def create(self):
    
     self.checkBox = pm.checkBox(label = 'Modify Weighting', onCommand = pm.Callback(self.editFields), offCommand = pm.Callback(self.editFields) )
     self.antiField = pm.intFieldGrp( numberOfFields=2, label='Antialias/Noise Quality', extraLabel = 'Weight %' , value2 = 45 , enable1 = False ,
                                     enable2 = False,  changeCommand=pm.Callback(self.updateTotal))
     self.compField = pm.intFieldGrp( numberOfFields=2, label='Composition/Focal Length', extraLabel = 'Weight %' , value2 = 45 , enable1 = False ,
                                     enable2 = False ,changeCommand=pm.Callback(self.updateTotal))
     self.proField = pm.intFieldGrp( numberOfFields=2, label='Professionalism', extraLabel = 'Weight %' ,value2 = 10 ,enable1 = False ,
                                    enable2 = False, changeCommand=pm.Callback(self.updateTotal))
     self.lateField = pm.intFieldGrp( numberOfFields=1, label='Late Deduction' , changeCommand=pm.Callback(self.updateTotal))
     self.totalField = pm.intFieldGrp( numberOfFields=1, label='Total Grade',enable1 = False, changeCommand=pm.Callback(self.updateTotal))
     
     # attaching the controls
     pm.formLayout( self.layout, edit=1, attachForm=[[self.checkBox, "left", 140], [self.checkBox, "top", 5]])
     pm.formLayout( self.layout, edit=1, attachOppositeControl=[[self.antiField ,"top", 40, self.checkBox], [self.antiField, "right", 10, self.checkBox]])
     pm.formLayout( self.layout, edit=1, attachOppositeControl=[[self.compField ,"top", 40, self.antiField], [self.compField, "right", 10, self.antiField]])
     pm.formLayout( self.layout, edit=1, attachOppositeControl=[[self.proField ,"top", 40, self.compField], [self.proField, "right", 10, self.compField]])
     pm.formLayout( self.layout, edit=1, attachOppositeControl=[[self.lateField ,"top", 40, self.proField], [self.lateField, "left", 0, self.proField]])
     pm.formLayout( self.layout, edit=1, attachOppositeControl=[[self.totalField ,"top", 40, self.lateField], [self.totalField, "left", 0, self.lateField]])
    
     pm.setParent(self.columnLayout)
     pm.text(label = '')
     self.warning = pm.text(label='')
     pm.text(label = '')
     #pm.button( label = 'Output Grade and Comment' , width = 480)
     return None 
コード例 #11
0
ファイル: mtfu_initialize.py プロジェクト: MassW/OpenMaya
    def FujiRendererCreateTab(self):
        log.debug("FujiRendererCreateTab()")
        self.createGlobalsNode()
        parentForm = pm.setParent(query = True)
        pm.setUITemplate("attributeEditorTemplate", pushTemplate = True)
        scLo = self.rendererName + "ScrollLayout"

        if self.rendererTabUiDict.has_key('common'):
            self.rendererTabUiDict.pop('common')
        
        parentForm = pm.setParent(query = True)
        uiDict = {}
        self.rendererTabUiDict['common'] = uiDict
        
        with pm.scrollLayout(scLo, horizontalScrollBarThickness = 0):
            with pm.columnLayout(self.rendererName + "ColumnLayout", adjustableColumn = True, width = 400):
                with pm.frameLayout(label="Sampling", collapsable = True, collapse=False):                
                    self.addRenderGlobalsUIElement(attName = 'sampleJitter', uiType = 'float', displayName = 'SampleJitter', default='1.0', uiDict=uiDict)                    
                    self.addRenderGlobalsUIElement(attName = 'sample_time_range_min', uiType = 'float', displayName = 'Sample Time Range Min', default='0.0', uiDict=uiDict)                    
                    self.addRenderGlobalsUIElement(attName = 'sample_time_range_max', uiType = 'float', displayName = 'Sample Time Range Max', default='1.0', uiDict=uiDict)                    
                    self.addRenderGlobalsUIElement(attName = 'samplesX', uiType = 'int', displayName = 'Pixel Samples x', default=3, uiDict=uiDict)
                    self.addRenderGlobalsUIElement(attName = 'samplesY', uiType = 'int', displayName = 'Pixel Samples y', default=3, uiDict=uiDict)
                    pm.separator()
                    self.addRenderGlobalsUIElement(attName = 'cast_shadow', uiType = 'bool', displayName = 'Cast Shadows', default='true', uiDict=uiDict)                    
                    self.addRenderGlobalsUIElement(attName = 'max_reflect_depth', uiType = 'int', displayName = 'Max Reflection Depth', default='3', uiDict=uiDict)                    
                    self.addRenderGlobalsUIElement(attName = 'max_refract_depth', uiType = 'int', displayName = 'Max Refraction Depth', default='3', uiDict=uiDict)                    
                    self.addRenderGlobalsUIElement(attName = 'raymarch_step', uiType = 'float', displayName = 'Raymarching Stepsize', default='0.05', uiDict=uiDict)                    
                    self.addRenderGlobalsUIElement(attName = 'raymarch_shadow_step', uiType = 'float', displayName = 'Raymarching Shadow Stepsize', default='0.1', uiDict=uiDict)                    
                    self.addRenderGlobalsUIElement(attName = 'raymarch_reflect_ste', uiType = 'float', displayName = 'Raymarching Reflection Stepsize', default='0.1', uiDict=uiDict)                    
                    self.addRenderGlobalsUIElement(attName = 'raymarch_refract_ste', uiType = 'float', displayName = 'Raymarching Refraction Stepsize', default='0.1', uiDict=uiDict)                                        
                    pm.separator()
                    self.addRenderGlobalsUIElement(attName = 'doMotionBlur', uiType = 'bool', displayName = 'Motionblur:', default=False, uiDict=uiDict)
                    self.addRenderGlobalsUIElement(attName = 'doDof', uiType = 'bool', displayName = 'Depth of Field:', default=False, uiDict=uiDict)
                    
                with pm.frameLayout(label="Output", collapsable = True, collapse=False):
                    attr = pm.Attribute(self.renderGlobalsNodeName + ".imageFormat")
                    ui = pm.attrEnumOptionMenuGrp(label = "Image Format", at=self.renderGlobalsNodeName + ".imageFormat", ei = self.getEnumList(attr)) 
                    
                with pm.frameLayout(label="Filtering", collapsable = True, collapse=False):
                    attr = pm.Attribute(self.renderGlobalsNodeName + ".filtertype")
                    ui = pm.attrEnumOptionMenuGrp(label = "Filter Type", at=self.renderGlobalsNodeName + ".filtertype", ei = self.getEnumList(attr)) 
                    ui = pm.intFieldGrp(label="Filter Size:", numberOfFields = 1)
                    pm.connectControl(ui, self.renderGlobalsNodeName + ".filtersize", index = 2 )

                with pm.frameLayout(label="Renderer", collapsable = True, collapse=False):
                    self.addRenderGlobalsUIElement(attName = 'use_max_thread', uiType = 'bool', displayName = 'Use Max Threads', default='true', uiDict=uiDict)
                    self.addRenderGlobalsUIElement(attName = 'threads', uiType = 'int', displayName = 'Threads', default=8, uiDict=uiDict)
                    self.addRenderGlobalsUIElement(attName = 'tilesize', uiType = 'int', displayName = 'Tile Size', default=64, uiDict=uiDict)
                    ui = pm.intFieldGrp(label="Verbosity:", numberOfFields = 1)
                    pm.connectControl(ui, self.renderGlobalsNodeName + ".rendererVerbosity", index = 2 )
                    
                    
        pm.setUITemplate("attributeEditorTemplate", popTemplate = True)
        pm.formLayout(parentForm, edit = True, attachForm = [ (scLo, "top", 0), (scLo, "bottom", 0), (scLo, "left", 0), (scLo, "right", 0) ])
        self.FujiRendererUpdateTab()
コード例 #12
0
ファイル: salModule.py プロジェクト: creuter23/fs-tech-artist
 def create(self):
     
     
      # this creates the actual GUI components
      #** returns the last component (the separator) so that the next group can be attached to it
     
     if self.control == '':
         # radioButtonGrp
         self.row01 = pm.radioButtonGrp( numberOfRadioButtons = 3, label = '%s' % self.name, labelArray3=['A+ -A', 'B+ -B', 'C+ -C'], onCommand = pm.Callback(self.radioCommand))
         self.row02 = pm.radioButtonGrp(  numberOfRadioButtons = 2, shareCollection = self.row01, label='', labelArray2=['D', 'F'], onCommand = pm.Callback(self.radioCommand))
         pm.formLayout( self.layout , edit=1, attachForm=[[self.row01, "top", 5], [self.row01, "left", 5]])
         pm.formLayout( self.layout , edit=1, attachForm=[self.row02, "left", 5, ], attachControl=[self.row02, "top", 5, self.row01])
         
         
         # intField for Grade
         self.intField = pm.intFieldGrp( numberOfFields = 1, label = 'Grade', changeCommand = pm.Callback(self.totalCommand), backgroundColor = [1,0,0])
         self.comments = pm.text( label = 'comments')
         
         # comment scrollField
         #scrollField = self.scrollField.create()
         self.separator = pm.separator( height=15, width=460, style='in' )
         
         # arranging components
         pm.formLayout( self.layout , edit=1, attachForm=[self.intField, "top", 5], attachControl=[self.intField, "top", 10, self.row02])
         pm.formLayout( self.layout , edit=1, attachForm=[self.scrollField, "left", 140], attachControl=[self.scrollField, "top", 10, self.intField])
         pm.formLayout( self.layout , edit=1, attachForm=[self.comments, "left", 60], attachControl=[self.comments, "top", 10, self.intField])
         pm.formLayout( self.layout , edit=1, attachForm=[self.separator, "left", 60], attachControl=[self.separator, "top", 10, self.scrollField])
     
         return self.separator
     
     else:
         # radioButtonGrp
         self.row01 = pm.radioButtonGrp( numberOfRadioButtons = 3, label = '%s' % self.name, labelArray3=['A+ -A', 'B+ -B', 'C+ -C'], onCommand = pm.Callback(self.radioCommand))
         self.row02 = pm.radioButtonGrp(  numberOfRadioButtons = 2, shareCollection = self.row01, label='', labelArray2=['D', 'F'], onCommand = pm.Callback(self.radioCommand))
         pm.formLayout( self.layout , edit=1, attachForm=[[self.row01, "top", 5], [self.row01, "left", 5]] , attachControl=[self.row01, "top", 5, self.control])
         pm.formLayout( self.layout , edit=1, attachForm=[self.row02, "left", 5, ], attachControl=[self.row02, "top", 5, self.row01])
         
         # intField for Grade
         self.intField = pm.intFieldGrp( numberOfFields = 1, label = 'Grade', cc = pm.Callback(self.totalCommand)
                                        , backgroundColor = [1,0,0])
         self.comments = pm.text( label = 'comments')
         
         # comment scrollField
         #scrollField = self.scrollField.create()
         self.separator = pm.separator( height=15, width=460, style='in' )
         
         # arranging components
         pm.formLayout( self.layout , edit=1, attachForm=[self.intField, "top", 5], attachControl=[self.intField, "top", 10, self.row02])
         pm.formLayout( self.layout , edit=1, attachForm=[self.scrollField, "left", 140], attachControl=[self.scrollField, "top", 10, self.intField])
         pm.formLayout( self.layout , edit=1, attachForm=[self.comments, "left", 60], attachControl=[self.comments, "top", 10, self.intField])
         pm.formLayout( self.layout , edit=1, attachForm=[self.separator, "left", 60], attachControl=[self.separator, "top", 10, self.scrollField])
     
         return self.separator
コード例 #13
0
 def window(self):
     win = pm.window(title='Frustum Selection',
                     width=400,
                     s=True,
                     resizeToFitChildren=True)
     pm.columnLayout(adj=True)
     radio = pm.radioButtonGrp(nrb=3,
                               l1='Use Time Slider',
                               l2='Start/End',
                               l3='Current Time',
                               sl=1)
     frameRange = pm.intFieldGrp(nf=2,
                                 l='Frame Range: Start',
                                 cw1=100,
                                 v1=1001,
                                 el='End',
                                 v2=1100,
                                 en=False)
     radio.onCommand2(pm.Callback(frameRange.setEnable, True))
     radio.offCommand2(pm.Callback(frameRange.setEnable, False))
     screen_size = pm.intFieldGrp(nf=2,
                                  l='Screen Size',
                                  cw1=100,
                                  v1=2048,
                                  el='Height',
                                  v2=858)
     offset = pm.floatFieldGrp(nf=1,
                               l='Selection Offset',
                               cw1=100,
                               el='%',
                               v1=0)
     invert = pm.checkBoxGrp(ncb=1, l='Invert Selection', cw1=100, v1=0)
     auto = pm.checkBoxGrp(ncb=1, l='Auto Get Camera', cw1=100, v1=1)
     pm.text(
         label=
         'Help: it is possible to select multiple cameras.\nfilmTranslate attribute on camera is NOT in effect on selecting, use filmOffset instead.\nPositive offset shrink selection while negative expanding.',
         align='left',
         fn='boldLabelFont',
         recomputeSize=True,
         wordWrap=True)
     #autoFunc, widthFunc, heightFunc, modeFunc, offsetFunc, invertFunc, startFunc, endFunc):
     pm.button(l='Select',
               command=pm.Callback(self.getObjectInFrustumShell,
                                   auto.getValue1, screen_size.getValue1,
                                   screen_size.getValue2, radio.getSelect,
                                   offset.getValue1, invert.getValue1,
                                   frameRange.getValue1,
                                   frameRange.getValue2))
     pm.button(l='Tag', command=pm.Callback(self.tagMasters))
     pm.button(l='Delete All Tags', command=pm.Callback(self.deleteAllTags))
     pm.separator(style='in', h=10)
     pm.button(label='Close', command=pm.Callback(pm.deleteUI, win.name()))
     pm.showWindow(win.name())
コード例 #14
0
ファイル: mtkr_initialize.py プロジェクト: MassW/OpenMaya
 def KrayFinalGatheringCreateTab(self):
     log.debug("KrayFinalGatheringCreateTab()")
     self.createGlobalsNode()
     parentForm = pm.setParent(query=True)
     pm.setUITemplate("attributeEditorTemplate", pushTemplate=True)
     scLo = self.rendererName + "PhotonsScrollLayout"
     with pm.scrollLayout(scLo, horizontalScrollBarThickness=0):
         with pm.columnLayout(self.rendererName + "ColumnLayout", adjustableColumn=True, width=400):
             with pm.frameLayout(label="Photons frame", collapsable=True, collapse=False):
                 with pm.columnLayout(self.rendererName + "ColumnLayout", adjustableColumn=True, width=400):
                     ui = pm.floatFieldGrp(label="Threshold:", numberOfFields=1)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgThreshold", index=2)
                     pm.separator()                     
                     ui = pm.intFieldGrp(label="Min Rays:", numberOfFields=1)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgMinRays", index=2) 
                     ui = pm.intFieldGrp(label="Max Rays:", numberOfFields=1)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgMaxRays", index=2) 
                     ui = pm.floatFieldGrp(label="Prerender:", numberOfFields=1)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgPrerender", index=2)                     
                     ui = pm.intFieldGrp(label="Passes:", numberOfFields=1)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgPasses", index=2) 
                     pm.separator()                     
                     ui = pm.floatFieldGrp(label="Sploth Detect:", numberOfFields=1)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgSplotchDetect", index=2)                     
                     ui = pm.floatFieldGrp(label="Sensitivity:", numberOfFields=1)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgSensitivity", index=2)  
                     pm.separator()                     
                     ui = pm.checkBoxGrp(label="FG Reflections:", value1=False)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgReflections", index=2) 
                     ui = pm.checkBoxGrp(label="FG Refractions:", value1=False)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgRefractions", index=2)                   
                     pm.separator()                     
                     ui = pm.floatFieldGrp(label="Spatial Tolerance:", numberOfFields=1)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgSpatialTolerance", index=2)  
                     ui = pm.floatFieldGrp(label="Angular Tolerance:", numberOfFields=1)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgAngularTolerance", index=2)  
                     ui = pm.floatFieldGrp(label="FG Min Dist:", numberOfFields=1)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgDistMin", index=2)  
                     ui = pm.floatFieldGrp(label="FG Dist Max:", numberOfFields=1)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgDistMax", index=2)  
                     ui = pm.floatFieldGrp(label="Density/Brightness:", numberOfFields=1)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgBrightness", index=2)  
                     pm.separator()                     
                     ui = pm.intFieldGrp(label="Path Passes:", numberOfFields=1)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgPathPasses", index=2)  
                     ui = pm.floatFieldGrp(label="Corner Dist:", numberOfFields=1)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgCornerDist", index=2)  
                     ui = pm.checkBoxGrp(label="Show Samples:", value1=False)
                     pm.connectControl(ui, self.renderGlobalsNodeName + ".fgShowSamples", index=2) 
                     
     pm.setUITemplate("attributeEditorTemplate", popTemplate=True)
     pm.formLayout(parentForm, edit=True, attachForm=[ (scLo, "top", 0), (scLo, "bottom", 0), (scLo, "left", 0), (scLo, "right", 0) ])
コード例 #15
0
def randomizer_createUserInterface():
	"""--------------------------------------------------------------------------
	Create User Interface Procedure
	--------------------------------------------------------------------------"""
	

	pm.window('randomizer_window', s=0, rtf=0, t="randomizer", wh=(300, 700))
	# Create UI elements
	pm.columnLayout('mainColumnLayout', h=900, w=248, columnAlign="center", adjustableColumn=1)
	pm.separator('selectedTransformObjectsSeparator', h=10, w=240, st="none")
	pm.text('selectedTransformObjectsText', fn="boldLabelFont", h=24, l="selected transform Objects", w=240, al="center")
	pm.textScrollList('selectedTransformObjectsTextScrollList', h=80, w=240)
	pm.button('loadObjectsButton', h=28, c=lambda *args: randomizer_loadSelection(0), l="load transform Objects", w=240)
	pm.separator('selectedMaterialsSeparator', h=10, w=240, st="none")
	pm.text('selectedMaterialsText', fn="boldLabelFont", h=24, l="selected Materials", w=240, al="center")
	pm.textScrollList('selectedMaterialsTextScrollList', h=80, w=240)
	pm.button('loadMaterialsButton', h=28, c=lambda *args: randomizer_loadSelection(1), l="load Materials", w=240)
	pm.separator('transformAttributesSeparator', h=10, w=240, st="none")
	pm.text('randomizeAttributesText', fn="boldLabelFont", h=24, l="randomize Attributes", w=240, al="center")
	pm.checkBoxGrp('randomizeAttributesCheckBoxGrp', h=24, l4="Material", l2="Rotate", l3="Scale", w=240, l1="Translate", ncb=4, cw=[(1, 67), (2, 57), (3, 50), (4, 57)])
	pm.separator('translateAttributesSeparator', h=10, w=240, st="none")
	pm.text('translateText', fn="boldLabelFont", h=24, l="Translate", w=240, al="center")
	pm.floatFieldGrp('minMaxXtranslateFloatFieldGrp', pre=3, el="max X", bgc=(0.25, 0, 0), h=24, l="min X", nf=2, v1=0, v2=0, w=240, cw=[(1, 60), (2, 60), (3, 60), (4, 60)])
	pm.floatFieldGrp('minMaxYtranslateFloatFieldGrp', pre=3, el="max Y", bgc=(0, 0.25, 0), h=24, l="min Y", nf=2, v1=0, v2=0, w=240, cw=[(1, 60), (2, 60), (3, 60), (4, 60)])
	pm.floatFieldGrp('minMaxZtranslateFloatFieldGrp', pre=3, el="max Z", bgc=(0, 0, 0.25), h=24, l="min Z", nf=2, v1=0, v2=0, w=240, cw=[(1, 60), (2, 60), (3, 60), (4, 60)])
	pm.separator('rotateAttributesSeparator', h=10, w=240, st="none")
	pm.text('rotateText', fn="boldLabelFont", h=24, l="Rotate", w=240, al="center")
	pm.floatFieldGrp('minMaxXrotateFloatFieldGrp', pre=3, el="max X", bgc=(0.25, 0, 0), h=24, l="min X", nf=2, v1=0, v2=0, w=240, cw=[(1, 60), (2, 60), (3, 60), (4, 60)])
	pm.floatFieldGrp('minMaxYrotateFloatFieldGrp', pre=3, el="max Y", bgc=(0, 0.25, 0), h=24, l="min Y", nf=2, v1=0, v2=0, w=240, cw=[(1, 60), (2, 60), (3, 60), (4, 60)])
	pm.floatFieldGrp('minMaxZrotateFloatFieldGrp', pre=3, el="max Z", bgc=(0, 0, 0.25), h=24, l="min Z", nf=2, v1=0, v2=0, w=240, cw=[(1, 60), (2, 60), (3, 60), (4, 60)])
	pm.separator('scaleAttributesSeparator', h=10, w=240, st="none")
	pm.text('scaleText', fn="boldLabelFont", h=24, l="Scale", w=240, al="center")
	pm.floatFieldGrp('minMaxXscaleFloatFieldGrp', pre=3, el="max X", bgc=(0.25, 0, 0), h=24, l="min X", nf=2, v1=1, v2=1, w=240, cw=[(1, 60), (2, 60), (3, 60), (4, 60)])
	pm.floatFieldGrp('minMaxYscaleFloatFieldGrp', pre=3, el="max Y", bgc=(0, 0.25, 0), h=24, l="min Y", nf=2, v1=1, v2=1, w=240, cw=[(1, 60), (2, 60), (3, 60), (4, 60)])
	pm.floatFieldGrp('minMaxZscaleFloatFieldGrp', pre=3, el="max Z", bgc=(0, 0, 0.25), h=24, l="min Z", nf=2, v1=1, v2=1, w=240, cw=[(1, 60), (2, 60), (3, 60), (4, 60)])
	pm.separator('randomizeSelectionSeparator', h=10, w=240, st="none")
	pm.button('randomizeAbsoluteButton', h=28, c=lambda *args: randomizer_randomizeSelection(), l="randomize Abolute", w=240)
	pm.button('randomizeRelativeButton', h=28, c=lambda *args: randomizer_randomizeSelection(relative=True), l="randomize Relative", w=240)
	pm.separator('timeAttributesSeparator', h=10, w=240, st="none")
	pm.text('timeText', fn="boldLabelFont", h=24, l="Time", w=240, al="center")
	pm.intFieldGrp('minMaxTimeIntFieldGrp', el="max", bgc=(0, 0, 0), h=24, l="min", nf=2, v1=-1, v2=1, w=240, cw=[(1, 60), (2, 60), (3, 60), (4, 60)])
	pm.button('setUniformKeyframe', h=28, c=lambda *args: rand_Keyframe(objects=None, attribute="all", axis=["X", "Y", "Z"], uniform=True, min=-10, max=10, step=1), l="Set Keyframes uniform", w=240)
	pm.button('setRandomKeyframe', h=28, c=lambda *args: rand_Keyframe(objects=None, attribute="all", axis=["X", "Y", "Z"], uniform=False, min=-10, max=10, step=1), l="Set Keyframes random", w=240)
	pm.separator('undoSeparator', h=10, w=240, st="none")
	pm.button('undoButton', h=28, c=lambda *args: pm.undo(), l="undo", w=240)
	pm.iconTextButton('staschiIconTextButton', h=28, c=lambda *args: randomizer_loadHelpWebsite(), l="www.staschi.com", w=240, st="textOnly")

	pm.setParent('..')
	pm.setParent('..')
	# Display UI
	pm.showWindow('randomizer_window')
コード例 #16
0
ファイル: mtkr_initialize.py プロジェクト: MassW/OpenMaya
    def KrayRendererUpdateTab(self, dummy=None):
        self.createGlobalsNode()
        #self.updateEnvironment()
        log.debug("KrayRendererUpdateTab()")
        
        sDict = self.rendererTabUiDict['sampling']
        sType = self.renderGlobalsNode.samplingType.get()
        
        if sType != 1: #grid
            pm.intFieldGrp(sDict['gridSize'], edit=True, enable=False)
            pm.checkBoxGrp(sDict['gridRotate'], edit=True, enable=False)
        else:
            pm.intFieldGrp(sDict['gridSize'], edit=True, enable=True)
            pm.checkBoxGrp(sDict['gridRotate'], edit=True, enable=True)

        fType = self.renderGlobalsNode.filtertype.get()
        if fType in [4, 5, 6]:
            pm.floatFieldGrp(sDict['filterSize'], edit=True, enable=False)
        else:
            pm.floatFieldGrp(sDict['filterSize'], edit=True, enable=True)
            
        iFormat = self.renderGlobalsNode.imageFormat.get()    
        if iFormat in [2, 3]:
            pm.attrEnumOptionMenuGrp(sDict['bitdepth'], edit=True, enable=True) 
        else:
            pm.attrEnumOptionMenuGrp(sDict['bitdepth'], edit=True, enable=False) 
            
        if iFormat == 1:
            pm.intFieldGrp(sDict['jpgQuality'], edit=True, enable=True)
        else:
            pm.intFieldGrp(sDict['jpgQuality'], edit=True, enable=False)
コード例 #17
0
    def displayOptions(self):
        """Build the interface"""
        self.interface['TimeRange'] = cmds.radioButtonGrp(
            numberOfRadioButtons=2,
            label='Time Range',
            labelArray2=['Time Slider', 'Start/End'],
            onCommand=self.disableTimeRange)
        self.interface['StartTime'] = cmds.intFieldGrp(label='Start Time')
        self.interface['EndTime'] = cmds.intFieldGrp(label='End Time')
        self.interface['Focals'] = cmds.textFieldGrp(label='Focals')
        self.interface['Cameras'] = cmds.textScrollList(
            allowMultiSelection=True, width=200, height=100)
        # self.interface['CamerasLabel']   = cmds.text( label='Cameras' )

        self.formAttachPosition()

        cmds.formLayout(
            self.optionsForm,
            e=True,
            attachForm=(
                [self.interface['TimeRange'], 'top', 10],
                [self.interface['Cameras'], 'bottom', 100],
                [self.interface['Cameras'], 'left', 150],
            ),
            attachControl=(
                [
                    self.interface['StartTime'], 'top', 0,
                    self.interface['TimeRange']
                ],
                [
                    self.interface['EndTime'], 'top', 0,
                    self.interface['StartTime']
                ],
                [
                    self.interface['Focals'], 'top', 0,
                    self.interface['EndTime']
                ],
                [
                    self.interface['Cameras'], 'top', 10,
                    self.interface['Focals']
                ],
                # [ self.interface['CamerasLabel'], 'top', 10, self.interface['Focals'] ],
                # [ self.interface['CamerasLabel'], 'right', -90, self.interface['Cameras'] ],
            ),
            attachNone=(
                [self.interface['Cameras'], 'left'],
                [self.interface['Cameras'], 'right'],
            ))
        self.editMenuResetCmd()  # Set the default values in the interface
コード例 #18
0
    def __init__(self, name):
        self.name = name

        if pm.window(self.name, q=True, exists=True):
            pm.deleteUI(self.name)

        self.window = pm.window(self.name, width=300)
        pm.columnLayout(columnOffset=("both", 20), height=100, rowSpacing=10)
        pm.separator()
        self.scale = pm.floatSliderGrp(label="Camera Scale",
                                       field=True,
                                       value=0.1,
                                       precision=3,
                                       columnAlign=(1, "left"))
        self.single = pm.checkBoxGrp(label="Export Single Frame",
                                     value1=False,
                                     columnAlign=(1, "left"))
        self.houexp = pm.checkBoxGrp(label="Export Houdini Camera",
                                     value1=True,
                                     columnAlign=(1, "left"))
        self.mayaexp = pm.checkBoxGrp(label="Export Maya Camera",
                                      value1=True,
                                      columnAlign=(1, "left"))
        self.range = pm.intFieldGrp(
            numberOfFields=2,
            label="Frame Range",
            value1=int(pm.playbackOptions(query=True, min=True)),
            value2=int(pm.playbackOptions(query=True, max=True)),
            columnAlign=(1, "left"))
        pm.separator()
        pm.rowLayout(numberOfColumns=2, width=300, adjustableColumn=1)
        pm.button(label="Export", width=300, command=self.exportCamera)
        pm.showWindow(self.name)
コード例 #19
0
def finalize(*args):


	Input_spineJoints = pm.intFieldGrp("spineNumberField", q=True, v1=True)
	Input_RigPrefix = pm.textFieldGrp("RigPrefix", q=True, tx=True)
	
	AutoRig_JT.finaliseRig(Input_spineJoints,Input_RigPrefix)
コード例 #20
0
ファイル: guide.py プロジェクト: moChen0607/mgear
                def _addLocMultiOptions():

                    pm.setParent(q=True)

                    pm.columnLayout(adjustableColumn=True, cal="right")
                    pm.text(l='', al="center")

                    fl = pm.formLayout()
                    jNumber = pm.intFieldGrp(v1=3, l="Joint Number")
                    pm.setParent('..')
                    pm.formLayout(fl, e=True, af=(jNumber, "left", -30))

                    dirSet = ["X", "-X", "Y", "-Y", "Z", "-Z"]
                    fl = pm.formLayout()
                    dirAxis = pm.optionMenu(l="Direction")
                    dirAxis.addMenuItems(dirSet)
                    pm.setParent('..')
                    pm.formLayout(fl, e=True, af=(dirAxis, "left", 70))

                    fl = pm.formLayout()
                    jSpac = pm.floatFieldGrp(v1=1.0, l="spacing")
                    pm.setParent('..')
                    pm.formLayout(fl, e=True, af=(jSpac, "left", -30))

                    pm.text(l='', al="center")

                    pm.button(l='Continue',
                              c=partial(_retriveOptions, jNumber, dirAxis,
                                        jSpac))
                    pm.setParent('..')
コード例 #21
0
def dimConnections(element):
    print "DimConnections"
    if element['name'] in ['motionblur']:
        value = pm.checkBoxGrp( element['name'], query = True, v1 = True)
        print element['uielement']
        valueInv = value
        #groups = mantraGlobalsAttributes.mantraGlobalsAttributes
        #if el['name'] in ['xftimesamples', 'geotimesamples', 'motionfactor', 'mbtype']:
        if value:
            print "enabling ctrls"            
        else:
            print "disabling ctrls"
        pm.intFieldGrp('xftimesamples', edit = True, enable = valueInv)
        pm.intFieldGrp('geotimesamples', edit = True, enable = valueInv)
        pm.floatFieldGrp('motionfactor', edit = True, enable = valueInv)
        pm.attrEnumOptionMenu('mbtype', edit = True, enable = valueInv)
        pm.checkBoxGrp('imagemotionblur',  edit = True, enable = valueInv)
コード例 #22
0
ファイル: mtm_initialize.py プロジェクト: MassW/OpenMaya
 def setValue(self, value):
     if value == "stdingfilename":
         self.fileName = pm.textFieldButtonGrp("stdingfilename", query=True, text=True)
     if value == "stdinshowpoints":
         self.showPoints = pm.checkBoxGrp("stdinshowpoints", query=True, value1=True)
     if value == "stdinptdensity":
         self.density = pm.floatFieldGrp("stdinptdensity", query=True, value1=True)          
     if value == "stdinptsize":
         self.pointSize = pm.intFieldGrp("stdinptsize", query=True, value1=True)
コード例 #23
0
ファイル: fgshooter.py プロジェクト: Bumpybox/Tapp
 def create(self, stationary_count, offset_count):
     '''
     Create the fgshooter window.
     '''
     if pm.window(self.window_name, exists=True):
         pm.deleteUI(self.window_name)
     pm.window(self.window_name, title=self.window_title)
     
     main_form = pm.formLayout(numberOfDivisions=2)
     self.column = pm.columnLayout(adjustableColumn=True)
     
     # Render Camera
     self.render_camera_field = pm.checkBoxGrp(label="Include Render Camera", value1=self.render_camera, changeCommand=self.updateRenderCamera)
     
     # Stationary Cameras
     pm.separator(height=20, style="in")
     
     pm.rowLayout(numberOfColumns=3, columnWidth3=(140, 80, 80), columnAlign=(1, 'right'), columnAttach3=("right", "both", "both"))
     pm.text("Stationary Cameras")
     self.stationary_field = pm.intField(value=stationary_count)
     pm.button(label="Update", height=22, command=self.update)
     pm.setParent('..')
     
     self.stationary = []
     i = 0
     while i < stationary_count:
         self.stationary.append(pm.floatFieldGrp(value1=self.stationary_frames[i], label="frame"))
         i += 1
     
     # Offset Cameras
     pm.separator(height=20, style="in")
     
     pm.rowLayout(numberOfColumns=3, columnWidth3=(140, 80, 80), columnAlign=(1, 'right'), columnAttach3=("right", "both", "both"))
     pm.text("Offset Cameras")
     self.offset_field = pm.intField(value=offset_count)
     pm.button(label="Update", height=22, command=self.update)
     pm.setParent('..')
     
     self.offset = []
     i = 0
     while i < offset_count:
         self.offset.append(pm.intFieldGrp(value1=self.offset_frames[i], label="frame offset"))
         i += 1
     
     pm.setParent('..')
     
     # remove/apply buttons        
     self.remove_button = pm.button(label="Remove All", height=30, command=self.remove)
     self.apply_button = pm.button(label="Apply / Refresh", height=30, command=self.apply)
     
     pm.formLayout(main_form, edit=True, attachForm=[(self.column, "top", 2),(self.column, "left", 2),(self.column, "right", 2), (self.remove_button, "bottom", 2), (self.remove_button, "left", 2), (self.apply_button, "bottom", 2), (self.apply_button, "right", 2)], attachControl=(self.remove_button, "right", 1, self.apply_button), attachPosition=[ (self.remove_button, "right", 0, 1), (self.apply_button, "left", 1, 1)] )
     
     pm.setParent('..')
     pm.showWindow()
コード例 #24
0
ファイル: itemListWidget.py プロジェクト: leocadaval/lcPipe
    def createAssetCallBack(self, *args):
        name = pm.textFieldGrp('CrAsset_nameField', q=True, tx=True)
        if not name:
            return pm.confirmDialog(title='error', ma='center', message='please choose a name for the asset',
                                    button=['OK'], defaultButton='OK', dismissString='OK')
        workflow = pm.optionMenuGrp('CrAsset_workflowOpt', q=True, v=True)
        code = pm.textFieldGrp('CrAsset_codeField', q=True, tx=True)

        if self.type == 'shot':
            start = pm.intFieldGrp('rangeField', q=True,value1=True)
            end = pm.intFieldGrp('rangeField', q=True,value2=True)
            itemDict = database.createItem(self.type, name, self.path, workflow, code=code, frameRange=[start, end])
        else:
            itemDict = database.createItem (self.type, name, self.path, workflow, code=code)

        if itemDict == 'codeExists':
            return pm.confirmDialog(title='error', ma='center', message='this code already exists', button=['OK'],
                                    defaultButton='OK', dismissString='OK')

        pm.layoutDialog(dismiss='ok')
コード例 #25
0
ファイル: mtm_initialize.py プロジェクト: MassW/OpenMaya
 def __init__(self):
     self.title = "Mantra Standin"
     self.fileName = ""
     self.density = .3
     self.pointSize = 1
     self.showPoints = False
     self.boundingBox = [-.5, -.5, -.5, .5, .5, .5]
     
     pm.setUITemplate("DefaultTemplate", pushTemplate=True)
     self.height = 500
     with pm.frameLayout(collapsable=False, labelVisible=False) as frame:
         pm.textFieldButtonGrp("stdingfilename", label="GeoFileName", text="", buttonLabel="Select", bc=pm.Callback(self.selectGeoFile), cc=pm.Callback(self.setValue, "stdingfilename"))
         #string $b = `symbolButton -image "navButtonBrowse.xpm" browser`;
         with pm.frameLayout(collapsable=False, label="Points"):
             pm.checkBoxGrp("stdinshowpoints", label="Show Points", value1=False, cc=pm.Callback(self.setValue, "stdinshowpoints"))
             pm.floatFieldGrp("stdinptdensity", label="PointDensity", value1=0.3, cc=pm.Callback(self.setValue, "stdinptdensity"))
             pm.intFieldGrp("stdinptsize", label="PointSize", value1=1, cc=pm.Callback(self.setValue, "stdinptsize"))
         with pm.rowLayout(nc=2):
             pm.button(label="Create Standin", c=pm.Callback(self.createStandin))            
             pm.button(label="Cancel", c=pm.Callback(self.delete))        
     self.show()
コード例 #26
0
ファイル: itemListWidget.py プロジェクト: leocadaval/lcPipe
    def createAssetPrompt(self):
        code = ''

        proj = database.getProjectDict()
        if self.type == 'asset':
            code = "%04d" % proj['nextAsset']
        elif self.type == 'shot':
            code = "%04d" % proj['nextShot']

        form = pm.setParent(q=True)
        f = pm.formLayout(form, e=True, width=150)
        row = pm.rowLayout(nc=2, adj=2)
        pm.picture(image='sphere.png', w=50, h=50)
        col = pm.columnLayout(adjustableColumn=True)
        nameField = pm.textFieldGrp('CrAsset_nameField', label='Name', cw=(1, 70), text='', adj=2,
                                    cat=[(1, 'left', 5), (2, 'left', 5)], editable=True)
        codeField = pm.textFieldGrp('CrAsset_codeField', label='Code', cw=(1, 70), text=code, adj=2,
                                    cat=[(1, 'left', 5), (2, 'left', 5)], editable=True)
        workflow = pm.optionMenuGrp('CrAsset_workflowOpt', label='Workflow', cw=(1, 70),
                                    cat=[(1, 'left', 5), (2, 'left', 5)])
        proj = database.getProjectDict()

        for key in proj['workflow']:
            context = set([proj['workflow'][key][x]['type'] for x in proj['workflow'][key]])
            if self.type in context:
                pm.menuItem(label=key)

        b1 = pm.button(p=f, l='Cancel', c=self.abortCreateCallback)
        b2 = pm.button(p=f, l='OK', c=self.createAssetCallBack)

        if self.type == 'shot':
            range = pm.intFieldGrp('rangeField', p=form, numberOfFields=2, label='start', extraLabel='end', value1=1, value2=48 )
            spacer = 5
            top = 5
            edge = 5
            pm.formLayout (form, edit=True,
                           attachForm=[(row, 'right', edge), (row, 'top', top), (row, 'left', edge),
                                       (row, 'right', edge),
                                       (b1, 'right', edge), (b1, 'bottom', edge), (b2, 'left', edge),
                                       (b2, 'bottom', edge)],
                           attachNone=[], attachControl=[(range, 'top', spacer, row), (range, 'bottom', spacer, b1)],
                           attachPosition=[(b1, 'right', spacer, 90), (b2, 'left', spacer, 10)])

        else:
            spacer = 5
            top = 5
            edge = 5
            pm.formLayout(form, edit=True,
                          attachForm=[(row, 'right', edge), (row, 'top', top), (row, 'left', edge), (row, 'right', edge),
                                      (b1, 'right', edge), (b1, 'bottom', edge), (b2, 'left', edge), (b2, 'bottom', edge)],
                          attachNone=[], attachControl=[],
                          attachPosition=[(b1, 'right', spacer, 90), (b2, 'left', spacer, 10)])
コード例 #27
0
    def __init__(self):
        self.title = "Mantra Standin"
        self.fileName = ""
        self.density = .3
        self.pointSize = 1
        self.showPoints = False
        self.boundingBox = [-.5, -.5, -.5, .5, .5, .5]

        pm.setUITemplate("DefaultTemplate", pushTemplate=True)
        self.height = 500
        with pm.frameLayout(collapsable=False, labelVisible=False) as frame:
            pm.textFieldButtonGrp("stdingfilename",
                                  label="GeoFileName",
                                  text="",
                                  buttonLabel="Select",
                                  bc=pm.Callback(self.selectGeoFile),
                                  cc=pm.Callback(self.setValue,
                                                 "stdingfilename"))
            #string $b = `symbolButton -image "navButtonBrowse.xpm" browser`;
            with pm.frameLayout(collapsable=False, label="Points"):
                pm.checkBoxGrp("stdinshowpoints",
                               label="Show Points",
                               value1=False,
                               cc=pm.Callback(self.setValue,
                                              "stdinshowpoints"))
                pm.floatFieldGrp("stdinptdensity",
                                 label="PointDensity",
                                 value1=0.3,
                                 cc=pm.Callback(self.setValue,
                                                "stdinptdensity"))
                pm.intFieldGrp("stdinptsize",
                               label="PointSize",
                               value1=1,
                               cc=pm.Callback(self.setValue, "stdinptsize"))
            with pm.rowLayout(nc=2):
                pm.button(label="Create Standin",
                          c=pm.Callback(self.createStandin))
                pm.button(label="Cancel", c=pm.Callback(self.delete))
        self.show()
コード例 #28
0
ファイル: spineModule.py プロジェクト: RyugasakiHu/AT_Rigging
    def getModuleInstance(self):
        
        baseNameT = pm.textFieldGrp(self.baseNameT,q = 1,text = 1)
        sideT = pm.textFieldGrp(self.sideT,q = 1,text = 1)
        cntAxisT = pm.textFieldGrp(self.cntAxisT,q = 1,text = 1)
        cntSizeBodyV = pm.floatFieldGrp(self.cntSizeBody,q = 1,value1 = 1)
        cntSizeIkV = pm.floatFieldGrp(self.cntSizeIk,q = 1,value1 = 1)
        segmentN = pm.intFieldGrp(self.segment,q = 1,v = 1)
        mainMetaNode = pm.optionMenu(self.mainMetaNodeM,q = 1,v = 1)

        self.__pointerClass = SpineModule(baseName = baseNameT,side = sideT,bodySize = cntSizeBodyV,ctrlAxis = cntAxisT,
                                          ikSize = cntSizeIkV,segment = segmentN,metaMain = mainMetaNode)
        return self.__pointerClass
コード例 #29
0
ファイル: rigid_body.py プロジェクト: zhuo2015/fs-tech-artist
 def create_ui(self):
     self.layout = pm.columnLayout(adjustableColumn= True)
     self.root_joint = pm.checkBox(label='Create Root Joint')
     self.export = pm.checkBox(label='Export When Finished')
     self.delete = pm.checkBox(label='Delete When Finished')
     self.visibility = pm.checkBox(label='Visibility State', value= 1)
     self.start_end_fields = pm.intFieldGrp( numberOfFields=2,
                     label=u'Start & End Frames', value1=0, value2=100,
                     columnWidth3= [105,90,90])
     pm.text(label= '')
     pm.button(label= 'Bake Simulation', height= 190,
                         command= pm.Callback(self.bake_simulation))
     
     return self.layout
コード例 #30
0
ファイル: ribbon_tool.py プロジェクト: adamfok/afok_toolset
    def initialiseLayout(self):
        
        #=======================================================================
        # Define Top Level Layout
        #=======================================================================
        self.widgets['top_level_layout'] = pm.verticalLayout()


        #=======================================================================
        # Define Layout
        #=======================================================================
        # Title Layout
        pm.setParent(self.widgets['top_level_layout'])
        self.widgets["prefix_textField"] = pm.textFieldGrp(label='prefix', text='testRibbon', cw=[1,100], adj=2)
        self.widgets["numJoint_intField"] = pm.intFieldGrp(label='number of joints', cw=[1,100], adj=2, value1=10)
        self.widgets["spans_intField"] = pm.intFieldGrp(label='number of spans', cw=[1,100], adj=2, value1=5)
        
        self.widgets["create_button"] = pm.button(label="Create", command=self.create_ribbon_callback)        
        
        #=======================================================================
        # Redistribute
        #=======================================================================
        self.widgets['top_level_layout'].redistribute()
コード例 #31
0
ファイル: ArnoldMosaic.py プロジェクト: AndresMWeber/aw
	def __init__(self):
		self.name = "ArnoldMosaicWindow"
		self.title = "Arnold Mosaic"
		
		if (pm.window(self.name, exists=True)):
			pm.deleteUI(self.name)

		self.window = pm.window(self.name, title=self.title)
		self.layout = pm.columnLayout(adjustableColumn=True)
		
		self.resolution = pm.intFieldGrp(numberOfFields=2, label='Resolution', extraLabel='px', parent=self.layout,
		                                 value1=pm.getAttr("defaultResolution.width"),
		                                 value2=pm.getAttr("defaultResolution.height") )
		
		self.tiles = pm.intFieldGrp(numberOfFields=2, label='Tiles', parent=self.layout,
		                                 value1=2, value2=2 )
		
		
		
		self.frames = pm.textFieldButtonGrp(label="Frames", text="%s"%int(pm.currentTime()), buttonLabel='Current Frame', buttonCommand=self.setToCurrentFrame)
		
		self.renderButton = pm.button("Render", command=self.render)
		
		self.renderAllLayers = pm.checkBox("Render All Active Layers", value=True)
コード例 #32
0
 def setValue(self, value):
     if value == "stdingfilename":
         self.fileName = pm.textFieldButtonGrp("stdingfilename",
                                               query=True,
                                               text=True)
     if value == "stdinshowpoints":
         self.showPoints = pm.checkBoxGrp("stdinshowpoints",
                                          query=True,
                                          value1=True)
     if value == "stdinptdensity":
         self.density = pm.floatFieldGrp("stdinptdensity",
                                         query=True,
                                         value1=True)
     if value == "stdinptsize":
         self.pointSize = pm.intFieldGrp("stdinptsize",
                                         query=True,
                                         value1=True)
コード例 #33
0
ファイル: baker.py プロジェクト: creuter23/fs-tech-artist
 def create_ui(self):
     '''
     # this creates the ui
     # returns the layout for the gui components
     '''
     self.layout = pm.columnLayout(adjustableColumn= True)
     self.root_joint = pm.checkBox(label='Create Root Joint')
     self.export = pm.checkBox(label='Export When Finished')
     self.delete = pm.checkBox(label='Delete When Finished')
     self.visibility = pm.checkBox(label='Visibility State', value= 1)
     self.group = pm.checkBox(label='Group System', value= 1)
     self.combine = pm.checkBox(label='Combine Meshes', value= 0)
     
     self.start_end_fields = pm.intFieldGrp( numberOfFields=2,
                     label=u'Start & End Frames', value1=0, value2=100,
                     columnWidth3= [105,90,90])
     pm.text(label= '')
     pm.button(label= 'Bake Simulation', height= 130,
                         command= pm.Callback(self.bake_simulation))
     
     return self.layout
コード例 #34
0
    def build(self, *args):
        '''
        Call methods to build the joints on nurbs plane setup
        '''
        _name = 'build'
        pymelLogger.info('Started: %s' % _name)
        
        # Validate user input
        name = pm.textFieldGrp(self.nameFld, q=1, text=1)
        num = pm.intFieldGrp(self.numFld, q=1, v=1)[0]
        rad = pm.floatFieldGrp(self.radFld, q=1, v=1)[0]
        axis = pm.radioButtonGrp(self.buildFld, q=1, sl=1)
        objs = pm.ls(sl=1)
        
        if not name:
            pymelLogger.error('No name entered by user. Must enter a name. Exiting.')
            return            
        if num < 1 or num > 50:
            pymelLogger.error('%s is an invalid value for number of joints. Must be between 3 - 50. Exiting.' % num)
            return    
        if rad < 0.009 or rad > 10:
            pymelLogger.error('%s is an invalid value for joint radius. Must be between 0.01 - 10. Exiting.' % rad)
            return    
        if not objs:
            pymelLogger.error('No objects selected. Must select objects to build curve along. Exiting.')
            return

        # Call build methods
        crv1, crv2 = self._createCurves(objs=objs, axis=axis, num=num)
        plane = self._createPlane(name=name, crv1=crv1, crv2=crv2)
        follicles = self._createFollicles(name=name, plane=plane, num=num)
        self._createJoints(name=name, follicles=follicles, rad=rad)
        
        pm.delete(crv1, crv2)

        pymelLogger.info('Ended: %s' % _name)
        pymelLogger.info('Build successful!')
コード例 #35
0
ファイル: spineModule.py プロジェクト: RyugasakiHu/AT_Rigging
 def __init__(self,parent,mainUi):
     
     self.mainUi = mainUi
     self.__popuItems = []
     
     pm.setParent(parent)
     self.mainL = pm.columnLayout(adj = 1)
     pm.separator(h = 10)
     
     #(self,baseName = 'arm',side = 'l',size = 1.5,
     self.name = pm.text(l = '**** Spine Module ****')       
     self.baseNameT = pm.textFieldGrp(l = 'baseName : ',ad2 = 1,text = 'spine',cl2 = ['left','left'])
     self.sideT = pm.textFieldGrp(l = 'side :',ad2 = 1,text = 'm',cl2 = ['left','left'])
     self.cntAxisT = pm.textFieldGrp(l = 'ctrl Axis :',ad2 = 1,text = 'y',cl2 = ['left','left'])
     self.cntSizeBody = pm.floatFieldGrp(l = 'ctrl Size : ',cl2 = ['left','left'],ad2 = 1,numberOfFields = 1,value1 = 2)    
     self.cntSizeIk = pm.floatFieldGrp(l = 'ik Size : ',cl2 = ['left','left'],ad2 = 1,numberOfFields = 1,value1 = 1.8)        
     self.segment = pm.intFieldGrp(l = 'segment Number : ',cl2 = ['left','left'],ad2 = 1,numberOfFields = 1,value1 = 9) 
     self.mainMetaNodeM = pm.optionMenu(l = 'mainMeta : ')
     metaUtils.metaSel()
     
     self.removeB = pm.button(l = 'remove',c = self.__removeInstance)
     pm.separator(h = 10)
     
     self.__pointerClass = None
コード例 #36
0
    def __init__(self, name):
        self.name = name
        self.savedir = str(pc_playblast.saveLocation() + "/")
        print("Playblast camera init succsess")

        if pm.window(self.name, q=True, exists=True):
            pm.deleteUI(self.name)

        self.window = pm.window(self.name, width=300)
        pm.columnLayout(columnOffset=("both", 20), height=100, rowSpacing=10)
        pm.separator()
        self.saveloc = pm.textFieldGrp(label="Save Location",
                                       text=self.savedir,
                                       columnAlign=(1, "left"))
        self.range = pm.intFieldGrp(
            numberOfFields=2,
            label="Frame Range",
            value1=int(pm.playbackOptions(query=True, min=True)),
            value2=int(pm.playbackOptions(query=True, max=True)),
            columnAlign=(1, "left"))
        pm.separator()
        pm.rowLayout(numberOfColumns=3, width=300, adjustableColumn=1)
        pm.button(label="Export", width=300, command=self.runPlayblast)
        pm.showWindow(self.name)
コード例 #37
0
 def ui(self):
     '''
     Create UI
     '''
     _name = 'ui'
     pymelLogger.info('Started: %s' % _name)
     
     winName = 'ms_jointsOnNurbsPlaneWin'
     if(pm.window(winName, exists=True)):
         pm.deleteUI(winName, window=True)
     win = pm.window(winName)
     
     with pm.formLayout() as form:
         self.nameFld = pm.textFieldGrp(l='Name')
         self.numFld = pm.intFieldGrp(l='Joints (3-50)', v1=3)
         self.radFld = pm.floatFieldGrp(l='Radius (0.01 - 10)', v1=0.5, pre=2)
         self.buildFld = pm.radioButtonGrp(l='Plane Curve Duplicate', labelArray3=['x', 'y', 'z'], nrb=3, sl=3)
         pm.text('Select objects to create plane along, then press "Build"')
         pm.button(l='>> Build <<', c=self.build)
         
     form.redistribute()
     
     pm.showWindow()
     pymelLogger.info('Ended: %s' % _name)
コード例 #38
0
    def create_ui(self):
        '''
        # this creates the ui
        # returns the layout for the gui components
        '''
        self.layout = pm.columnLayout(adjustableColumn=True)
        self.root_joint = pm.checkBox(label='Create Root Joint')
        self.export = pm.checkBox(label='Export When Finished')
        self.delete = pm.checkBox(label='Delete When Finished')
        self.visibility = pm.checkBox(label='Visibility State', value=1)
        self.group = pm.checkBox(label='Group System', value=1)
        self.combine = pm.checkBox(label='Combine Meshes', value=0)

        self.start_end_fields = pm.intFieldGrp(numberOfFields=2,
                                               label=u'Start & End Frames',
                                               value1=0,
                                               value2=100,
                                               columnWidth3=[105, 90, 90])
        pm.text(label='')
        pm.button(label='Bake Simulation',
                  height=130,
                  command=pm.Callback(self.bake_simulation))

        return self.layout
コード例 #39
0
ファイル: mtm_attribute.py プロジェクト: pangor/OpenMaya
    def createUi(self, node=None):
        log.debug("createUi for node %s" % str(node))
        currentSegment = ""
        layoutList = []
        for att in self.attList:
            if att.kategory != None and currentSegment != att.kategory:
                log.debug("kategory %s != %s" % (currentSegment, att.kategory))
                katlist = att.kategory.split("|")
                diff = len(layoutList) - len(katlist)
                # neue liste ist kuerzer als alte, also solange dicht machen bis die laenge gleich ist
                log.debug("check diff %d" % diff)
                while diff > 0:
                    layoutList.pop()
                    pm.setParent("..")
                    pm.setParent("..")
                    diff = len(layoutList) - len(katlist)
                    log.debug("new diff %d" % diff)

                # alte liste ist nun nicht laenger als neue liste
                # durchgehen und alles dichtmachen was nicht gleich ist
                for i in range(len(layoutList)):
                    kat = katlist[i]
                    ckat = layoutList[i]
                    # wenn werte ungelich dann alles was noch kommt zumachen
                    if kat != ckat:
                        laylen = len(layoutList)
                        for n in range(i, laylen):
                            pm.setParent("..")
                            pm.setParent("..")
                            layoutList.pop(n)

                # nun sollte sichergestellt sein, dass layoutList nur noch elemente
                # enthaelt, die gleich sind, also kann man daran anknuepfen
                for i in range(len(layoutList), len(katlist)):
                    log.debug("opening layout for katlist %s %d %s" %
                              (str(katlist), i, katlist[i]))
                    self.beginUISegment(katlist[i])
                    layoutList.append(katlist[i])

                currentSegment = att.kategory

            if MAP_API_ATTR.has_key(att.type):
                log.debug("Adding element %s with displayName %s" %
                          (att.attname, att.displayname))
                attype, attypeval = MAP_API_ATTR[att.type]
                log.debug(
                    "Adding attribute named %s type %s val %s default %s" %
                    (att.attname, attype, attypeval, att.default))
                if attypeval == 'bool':
                    att.uiElement = pm.checkBoxGrp(att.attname,
                                                   numberOfCheckBoxes=1,
                                                   label1=att.displayname,
                                                   cc=Callback(
                                                       self.dimConnections,
                                                       att))
                    att.uiDimFunction = pm.checkBoxGrp
                    if node:
                        pm.connectControl(att.uiElement,
                                          node + "." + att.attname,
                                          index=2)
                if attypeval == 'int':
                    att.uiElement = pm.intFieldGrp(att.attname,
                                                   numberOfFields=1,
                                                   label=att.displayname,
                                                   value1=att.default,
                                                   cc=Callback(
                                                       self.dimConnections,
                                                       att))
                    att.uiDimFunction = pm.intFieldGrp
                    if node:
                        pm.connectControl(att.uiElement,
                                          node + "." + att.attname,
                                          index=2)
                if attypeval == 'long2':
                    if node:
                        att.uiDimFunction = pm.attrFieldGrp(
                            attribute='%s' % (node + "." + att.attname),
                            cc=Callback(self.dimConnections, att))
                if attypeval == 'float':
                    att.uiElement = pm.floatFieldGrp(att.attname,
                                                     numberOfFields=1,
                                                     label=att.displayname,
                                                     value1=att.default,
                                                     cc=Callback(
                                                         self.dimConnections,
                                                         att))
                    att.uiDimFunction = pm.floatFieldGrp
                    if node:
                        pm.connectControl(att.uiElement,
                                          node + "." + att.attname,
                                          index=2)
                if attypeval == 'float2':
                    if node:
                        att.uiDimFunction = pm.attrFieldGrp(
                            attribute='%s' % (node + "." + att.attname),
                            cc=Callback(self.dimConnections, att))
                if attypeval == 'string':
                    att.uiElement = pm.textFieldGrp(att.attname,
                                                    label=att.displayname,
                                                    text=att.default,
                                                    cc=Callback(
                                                        self.dimConnections,
                                                        att))
                    pm.connectControl(att.uiElement,
                                      node + "." + att.attname,
                                      index=2)
                    pm.textFieldGrp(att.uiElement, edit=True, text=att.default)

                if attypeval == 'enum':
                    poplist = map(list, enumerate(att.values))

                    if node:
                        nodeatt = node + "." + att.attname
                        att.uiElement = pm.attrEnumOptionMenuGrp(
                            att.attname,
                            label=att.displayname,
                            at=nodeatt,
                            ei=poplist,
                            vcc=Callback(self.dimConnections, att))
                        att.uiDimFunction = pm.attrEnumOptionMenuGrp
                    else:
                        att.uiElement = pm.attrEnumOptionMenuGrp(
                            att.attname,
                            label=att.displayname,
                            ei=poplist,
                            vcc=Callback(self.dimConnections, att))
                        att.uiDimFunction = pm.attrEnumOptionMenuGrp

                if attypeval == 'message':
                    pass

        if len(layoutList) > 0:
            for i in range(len(layoutList)):
                pm.setParent("..")
                pm.setParent("..")
コード例 #40
0
    def initialiseLayout(self):
        
        #=======================================================================
        # Top Level Layout
        #=======================================================================
        self.widgets['top_level_layout'] = pm.verticalLayout()
        self.widgets['top_level_column'] = pm.columnLayout(adj=True, rowSpacing=2, columnAttach = ['both', 5])

        #=======================================================================
        # NAME
        #=======================================================================
        #------------------------------------------------------------- Separator
        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()
        pm.separator(style='out')
        pm.text(label=' Name ')
        pm.separator(style='out')
        h.redistribute(1,1,1)           

        #------------------------------------------------------- Prefix / Suffix
        pm.setParent(self.widgets['top_level_column'])
        self.widgets["suffix_TFG"] = pm.textFieldGrp(label='Suffix :', cw=[1,50], adj=2, text='ctrl')

        #=======================================================================
        # CONTROL
        #=======================================================================
        #------------------------------------------------------------- Separator
        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()
        pm.separator(style='out')
        pm.text(label=' Control ')
        pm.separator(style='out')
        h.redistribute(1,1,1)        

        #----------------------------------------------------------- Offset Node
        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()
        self.widgets['offsetNode_CB'] = pm.checkBox( label = 'Offset Node ', value=True)
        self.widgets['offsetNode_TF'] = pm.textField(text='Offset')
        h.redistribute(1,2)
        
        #--------------------------------------------------------------- Cluster
        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()
        self.widgets['cluster_CB'] = pm.checkBox( label = 'Control Cluster', value=False)
        self.widgets['clusterGroup_RBG'] = pm.radioButtonGrp( labelArray2=['Each', 'All'], 
                                                              numberOfRadioButtons=2 , 
                                                              cw=[1,100], 
                                                              adj=3, 
                                                              select=1)
        h.redistribute(1,2)
        
        #------------------------------------------------------------- ShapeNode
        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()
        self.widgets['shape_CB'] = pm.checkBox( label = 'Shape Node ', value=True)
        self.widgets['shape_TSL'] = pm.textScrollList( numberOfRows=5, 
                                                       allowMultiSelection=False, 
                                                       append = self.shapeList, 
                                                       selectIndexedItem=1)
        h.redistribute(1,2)
        
        #------------------------------------------------------------ Shape Axis
        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()
        pm.text(label = 'Shape Axis')
        self.widgets['shapeAxis_OM'] = pm.optionMenu()
        pm.menuItem(label = "+x")
        pm.menuItem(label = "+y")
        pm.menuItem(label = "+z")
        pm.menuItem(label = "-x")
        pm.menuItem(label = "-y")
        pm.menuItem(label = "-z")        
        h.redistribute(1,2)
        
        #------------------------------------------------------------- Hierarchy
        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()  
        pm.text(label='Parent')      
        self.widgets['hierarchry_RB'] = pm.radioButtonGrp( labelArray2=['World', 'Selection Order'], 
                                                           numberOfRadioButtons=2 , 
                                                           cw=[1,100], 
                                                           adj=3, 
                                                           select=1)
        h.redistribute(1,2)        
        
        #------------------------------------------------------- Constraint Type
        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()
        pm.text(label='Constraint Type:')
        self.widgets['tConst_CB'] = pm.checkBox(label='Point', value=False)
        self.widgets['rConst_CB'] = pm.checkBox(label='Orient', value=False)
        h.redistribute(1,1,1)
        
        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()
        pm.text(label="")
        self.widgets['pConst_CB'] = pm.checkBox(label='Parent', value=True)
        self.widgets['sConst_CB'] = pm.checkBox(label='Scale', value=True)
        h.redistribute(1,1,1)   
        
        #--------------------------------------------------------- Create Button
        pm.setParent(self.widgets['top_level_column'])
        self.widgets['create_BTN'] = pm.button( label="Create Control(s)",
                                                h=50, 
                                                c=pm.Callback(self.create_BTN_pressed))
        
        
        #=======================================================================
        # EDIT
        #=======================================================================

        #------------------------------------------------------------- Separator
        pm.setParent(self.widgets['top_level_column'])
        pm.separator(style="none", h=10)
                
        h = pm.horizontalLayout()
        pm.separator(style='out')
        pm.text(label=' Edit Color')
        pm.separator(style='out')
        h.redistribute(1,1,1)            
        
        #----------------------------------------------------------------- Color
        pm.setParent(self.widgets['top_level_column'])
        main_layout = pm.formLayout()
        columns = 32 / 2
        rows = 2
        cell_width = 24
        cell_height = 24

        self.widgets['color_palette'] = pm.palettePort( dimensions=(columns, rows), 
                                                        transparent=0,
                                                        width=(columns*cell_width),
                                                        height=(rows*cell_height),
                                                        topDown=True,
                                                        colorEditable=False,
                                                        changeCommand=pm.Callback(self.color_palette_changed));
        for index in range(1, 32):
            color_component = pm.colorIndex(index, q=True)
            pm.palettePort( self.widgets['color_palette'],
                            edit=True,
                            rgbValue=(index, color_component[0], color_component[1], color_component[2]))


        #------------------------------------------------------------- Separator
        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()
        pm.separator(style='out')
        pm.text(label=' Edit Channels')
        pm.separator(style='out')
        h.redistribute(1,1,1)     
        
        #--------------------------------------------------------------- Channel
        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()
        pm.text(label='Translate')
        self.widgets['tHide_BTN'] = pm.button(label='Hide', command=pm.Callback(self.tHide_BTN_pressed))        
        self.widgets['tShow_BTN'] = pm.button(label='Show', command=pm.Callback(self.tShow_BTN_pressed))
        pm.text(label='Rotate')
        self.widgets['rHide_BTN'] = pm.button(label='Hide', command=pm.Callback(self.rHide_BTN_pressed))        
        self.widgets['rShow_BTN'] = pm.button(label='Show', command=pm.Callback(self.rShow_BTN_pressed))
        h.redistribute(1,1,1,1,1,1)

        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()
        pm.text(label='Scale')
        self.widgets['sHide_BTN'] = pm.button(label='Hide', command=pm.Callback(self.sHide_BTN_pressed))        
        self.widgets['sShow_BTN'] = pm.button(label='Show', command=pm.Callback(self.sShow_BTN_pressed))
        pm.text(label='Visibility')
        self.widgets['vHide_BTN'] = pm.button(label='Hide', command=pm.Callback(self.vHide_BTN_pressed))        
        self.widgets['vShow_BTN'] = pm.button(label='Show', command=pm.Callback(self.vShow_BTN_pressed))
        h.redistribute(1,1,1,1,1,1)        

        #------------------------------------------------------------ Separator
        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()
        pm.separator(style='out')
        pm.text(label=' Pivot Offset Control')
        pm.separator(style='out')
        h.redistribute(1,1,1)     
        
        #---------------------------------------------------------- Pivot Offset
        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()
        self.widgets['pivotOffset_IFG'] = pm.intFieldGrp( numberOfFields=1, 
                                                          value1=1, 
                                                          label='Control Size :', 
                                                          cw2=[100, 50], 
                                                          adj=2)        
        self.widgets['add_pivotOffset_BTN'] = pm.button( label = 'Add', command=pm.Callback(self.add_pivotOffset_BTN_pressed))
        self.widgets['remove_pivotOffset_BTN'] = pm.button( label = 'Remove', command=pm.Callback(self.remove_pivotOffset_BTN_pressed))
        h.redistribute(3,1,1)
        
        #------------------------------------------------------------ Separator
        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()
        pm.separator(style='out')
        pm.text(label=' Text Shape')
        pm.separator(style='out')
        h.redistribute(1,1,1)     
                
        #------------------------------------------------------------ Text Shape
        pm.setParent(self.widgets['top_level_column'])
        h = pm.horizontalLayout()
        self.widgets['textShape_TFG'] = pm.textFieldGrp(  label='Text :', 
                                                          cw2=[100, 50], 
                                                          adj=2)        
        self.widgets['add_textShape_BTN'] = pm.button( label = 'Add', command=pm.Callback(self.add_textShape_BTN_pressed))
        h.redistribute(3,2)        
        
        #=======================================================================
        # Redistribute
        #=======================================================================
        self.widgets['top_level_layout'].redistribute()                           
コード例 #41
0
ファイル: mtkr_initialize.py プロジェクト: MassW/OpenMaya
 def KrayRendererUIUpdateCallback(self, what=None):
     self.createGlobalsNode()
     #self.updateEnvironment()
     log.debug("KrayRendererUIUpdateCallback(): " + str(what))
     if what == "environment":
         log.debug("Update environment")
         eDict = self.rendererTabUiDict['environment']
         
     if what == "background":
         log.debug("Update background")
         eDict = self.rendererTabUiDict['background']
         eType = self.renderGlobalsNode.backgroundType.get()
         for key in eDict:
             eDict[key].setEnable(val=False)
         
         if eType == 0: #color
             eDict['environmentColor'].setEnable(val=True)
         if eType == 1 or eType == 2: #physSky
             eDict['sunDir'].setEnable(val=True)
             eDict['orientation'].setEnable(val=True)
             eDict['turbidity'].setEnable(val=True)
             eDict['exposure'].setEnable(val=True)
         if eType == 2: #physSky2
             eDict['groundAlbedo'].setEnable(val=True)
         if eType == 3 or eType == 4: #sky
             eDict['gradientHorizon'].setEnable(val=True)
             eDict['gradientZenit'].setEnable(val=True)
             eDict['nadir'].setEnable(val=True)
             eDict['zenithDir'].setEnable(val=True)
         if eType == 4: #sky2
             eDict['skyGamma'].setEnable(val=True)
             eDict['groundGamma'].setEnable(val=True)
         if eType == 5 or eType == 6: #bitmap
             eDict['environmentMap'].setEnable(val=True)
         if eType == 6: #bitmap2
             eDict['environmentMap2'].setEnable(val=True)
         if eType == 7: #directionsMap
             pass
         if eType == 8: #lightMap
             pass
         if eType == 9: #sphericalMap
             eDict['environmentMap'].setEnable(val=True)
         
         
     if what == "sampling":
         print "Update sampling"
         sDict = self.rendererTabUiDict['sampling']
         sType = self.renderGlobalsNode.samplingType.get()
         
         if sType != 1: #grid
             pm.intFieldGrp(sDict['gridSize'], edit=True, enable=False)
             pm.checkBoxGrp(sDict['gridRotate'], edit=True, enable=False)
         else:
             pm.intFieldGrp(sDict['gridSize'], edit=True, enable=True)
             pm.checkBoxGrp(sDict['gridRotate'], edit=True, enable=True)
             
         fType = self.renderGlobalsNode.filtertype.get()
         if fType in [4, 5, 6]:
             pm.floatFieldGrp(sDict['filterSize'], edit=True, enable=False)
         else:
             pm.floatFieldGrp(sDict['filterSize'], edit=True, enable=True)
             
         iFormat = self.renderGlobalsNode.imageFormat.get()    
         if iFormat in [2, 3]:
             pm.attrEnumOptionMenuGrp(sDict['bitdepth'], edit=True, enable=True) 
         else:
             pm.attrEnumOptionMenuGrp(sDict['bitdepth'], edit=True, enable=False) 
             
         if iFormat == 1:
             pm.intFieldGrp(sDict['jpgQuality'], edit=True, enable=True)
         else:
             pm.intFieldGrp(sDict['jpgQuality'], edit=True, enable=False)
コード例 #42
0
ファイル: mtap_initialize.py プロジェクト: UIKit0/OpenMaya
    def AppleseedRendererCreateTab(self):
        log.debug("AppleseedRendererCreateTab()")
        self.createGlobalsNode()
        parentForm = pm.setParent(query=True)
        pm.setUITemplate("renderGlobalsTemplate", pushTemplate=True)
        pm.setUITemplate("attributeEditorTemplate", pushTemplate=True)
        scLo = self.rendererName + "ScrollLayout"
        with pm.scrollLayout(scLo, horizontalScrollBarThickness=0):
            with pm.columnLayout(self.rendererName + "ColumnLayout", adjustableColumn=True, width=400):
                with pm.frameLayout(label="Sampling", collapsable=True, collapse=False):
                    with pm.columnLayout(self.rendererName + "ColumnLayout", adjustableColumn=True, width=400):
                        ui = pm.checkBoxGrp(label="Adaptive Sampling:", value1=False, cc=self.AppleseedRendererUpdateTab)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".adaptiveSampling", index=2)
                        self.rendererTabUiDict['minSamples'] = pm.intFieldGrp(label="Samples min:", value1=2, numberOfFields=1)
                        pm.connectControl(self.rendererTabUiDict['minSamples'], self.renderGlobalsNodeName + ".minSamples", index=2)
                        ui = pm.intFieldGrp(label="Samples max:", value1=16, numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".maxSamples", index=2)
                        self.rendererTabUiDict['maxError'] = pm.floatFieldGrp(label="Max Error:", value1=0.01, numberOfFields=1)
                        pm.connectControl(self.rendererTabUiDict['maxError'], self.renderGlobalsNodeName + ".maxError", index=2)
                        pm.separator()
                        ui = pm.checkBoxGrp(label="Motionblur:", value1=False)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".doMotionBlur", index=2)
                        ui = pm.checkBoxGrp(label="Depth Of Field:", value1=False)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".doDof", index=2)
                    
                with pm.frameLayout(label="Output", collapsable=True, collapse=False):
                    with pm.columnLayout(self.rendererName + "ColumnLayout", adjustableColumn=True, width=400):
                        #attr = pm.Attribute(self.renderGlobalsNodeName + ".imageFormat")
                        #ui = pm.attrEnumOptionMenuGrp(label = "Image Format", at=self.renderGlobalsNodeName + ".imageFormat", ei = self.getEnumList(attr)) 
                        attr = pm.Attribute(self.renderGlobalsNodeName + ".bitdepth")
                        ui = pm.attrEnumOptionMenuGrp(label="Bit Depth", at=self.renderGlobalsNodeName + ".bitdepth", ei=self.getEnumList(attr)) 
                        attr = pm.Attribute(self.renderGlobalsNodeName + ".colorSpace")
                        ui = pm.attrEnumOptionMenuGrp(label="Color Space", at=self.renderGlobalsNodeName + ".colorSpace", ei=self.getEnumList(attr)) 
                        ui = pm.checkBoxGrp(label="Clamping:", value1=False)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".clamping", index=2)
                    
                with pm.frameLayout(label="Filtering", collapsable=True, collapse=False):
                    with pm.columnLayout(self.rendererName + "ColumnLayout", adjustableColumn=True, width=400):
                        attr = pm.Attribute(self.renderGlobalsNodeName + ".filtertype")
                        ui = pm.attrEnumOptionMenuGrp(label="Filter Type", at=self.renderGlobalsNodeName + ".filtertype", ei=self.getEnumList(attr)) 
                        ui = pm.intFieldGrp(label="Filter Size:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".filtersize", index=2)

                with pm.frameLayout(label="Lighting", collapsable=True, collapse=False):
                    with pm.columnLayout(self.rendererName + "ColumnLayout", adjustableColumn=True, width=400):
                        attr = pm.Attribute(self.renderGlobalsNodeName + ".lightingEngine")
                        ui = pm.attrEnumOptionMenuGrp(label="Lighting Engine", at=self.renderGlobalsNodeName + ".lightingEngine", ei=self.getEnumList(attr)) 
                        ui = pm.intFieldGrp(label="Max Trace Depth:", value1=4, numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".maxTraceDepth", index=2)
                        ui = pm.checkBoxGrp(label="Caustics:", value1=False)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".caustics", index=2)
                        with pm.frameLayout(label="Advanced Lighting", collapsable=True, collapse=True):
                            with pm.columnLayout(self.rendererName + "ColumnLayout", adjustableColumn=True, width=400):
                                ui = pm.intFieldGrp(label="Diffuse Depth:", value1=4, numberOfFields=1)
                                pm.connectControl(ui, self.renderGlobalsNodeName + ".diffuseDepth", index=2)
                                ui = pm.intFieldGrp(label="Glossy Depth:", value1=4, numberOfFields=1)
                                pm.connectControl(ui, self.renderGlobalsNodeName + ".glossyDepth", index=2)
                                ui = pm.intFieldGrp(label="Direct Light Samples:", value1=4, numberOfFields=1)
                                pm.connectControl(ui, self.renderGlobalsNodeName + ".directLightSamples", index=2)

                    
                with pm.frameLayout(label="Renderer", collapsable=True, collapse=False):
                    with pm.columnLayout(self.rendererName + "ColumnLayout", adjustableColumn=True, width=400):
                        ui = pm.intFieldGrp(label="Threads:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".threads", index=2)
                        ui = pm.intFieldGrp(label="Verbosity:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".rendererVerbosity", index=2)
                        ui = pm.intFieldGrp(label="Tile Size:", value1=32, numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".tilesize", index=2)
                        ui = pm.checkBoxGrp(label="Use SBVH Acceleration for mb:", value1=False)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".assemblySBVH", index=2)
                    
        pm.setUITemplate("renderGlobalsTemplate", popTemplate=True)                    
        pm.setUITemplate("attributeEditorTemplate", popTemplate=True)
        pm.formLayout(parentForm, edit=True, attachForm=[ (scLo, "top", 0), (scLo, "bottom", 0), (scLo, "left", 0), (scLo, "right", 0) ])
        
        #pm.scriptJob(attributeChange=[self.renderGlobalsNode.samplingType, pm.Callback(self.KrayRendererUIUpdateCallback, "sampling")])

        #self.updateEnvironment()
        self.AppleseedRendererUpdateTab()
コード例 #43
0
def mermaidUI():
    if(pm.window(mainWin, ex=1)):
        pm.deleteUI(mainWin)
    pm.window(mainWin, t='mermaidMainWindow', widthHeight=(380,500))
    pm.scrollLayout( h=700,w=380, vis=1)
    #load active agent Name
    pm.separator(h=10,style='none',w=380)
    mainUI=pm.columnLayout(w=380,cal='center',adj=1)
    pm.separator(h=5,style='none',w=380)

    ###################content#############################
    ##########################################
    #1. import puppet
    pm.text(l='STEP 1.',al='center')
    pm.button(c=lambda x:  mermaid.importRigPuppet(),l='import puppet',h=25)

    ##########################################
    #2. create path
    pm.separator(h=5,style='single',w=380)
    pm.text(l='STEP 2.',al='center')

    sectionsInput = pm.intSliderGrp('numCtrls',fmx=20,
        min=1,
        max=20,
        cw3=(110, 40, 165),
        value=4,
        label='  numCtrl',
        fmn=1,
        field=True,
        cal=(1, 'left'),
        adj=3)

    directionInput = pm.textFieldGrp('direction',cw=[(1, 110), (2, 70), (3, 70)],
        cal=(1, 'left'),
        text="+x",
        adj=3,
        label=' start frame:')
    pm.button(c=lambda motionCurve: mermaid.createMotionTrail(sections=sectionsInput.getValue(), direction=directionInput.getText()),l='create path',h=25)
   
    ##########################################
    #3. rebuild path
    pm.separator(h=10,style='single',w=380)
    pm.text(l='STEP 3.',al='center')

    pm.intSliderGrp('rebuildCtrls',fmx=20,
        min=1,
        max=20,
        cw3=(110, 40, 165),
        value=4,
        label='  numCtrl',
        fmn=1,
        field=True,
        cal=(1, 'left'),
        adj=3)
    motionCurve = ""
    attachObj = ""
    pm.button(c=lambda attachObj: mermaid.importRigPuppet(),l='rebuild path',h=25)
    pm.button(c=lambda attachObj: mermaid.resetMotionTrail(),l='reset path',h=25)
    
    ##########################################
    #4. connect puppet to path
    pm.separator(h=5,style='single',w=380)
    pm.text(l='STEP 4.',al='center')

    startframeInput = pm.intFieldGrp('start',cw=[(1, 110), (2, 70), (3, 70)],
        cal=(1, 'left'),
        value1=970,
        adj=3,
        label=' start frame:')
    endframeInput = pm.intFieldGrp('end',cw=[(1, 110), (2, 70), (3, 70)],
        cal=(1, 'left'),
        value1=1500,
        adj=3,
        label=' end frame:')
    
    pm.button(c=lambda x: mermaid.motionpathConformObject(motionCurve, attachObj, starttime=startframeInput.getValue(),endtime=endframeInput.getValue()),l='connect to path',h=25)

    ##########################################
    #5. snap rit to puppet
    pm.separator(h=5,style='single',w=380)
    pm.text(l='STEP 5.',al='center')

    pm.button(c=lambda x:  mermaid.snapMermaid(),l='snap rigg to puppet',h=25)

    pm.showWindow(mainWin)
コード例 #44
0
def gui():
    if pm.window('ByrdRigs_Renamer', q=1, exists=1):
        pm.deleteUI('ByrdRigs_Renamer')
        #ByrdRigs_Biped_Body_Auto_Rigger

    win_width = 313
    window_object = pm.window('ByrdRigs_Renamer',
                              title="ByrdRigs' Renamer",
                              w=win_width,
                              bgc=window_bgc)
    main_layout = pm.columnLayout()

    #======================================================================
    # Rename Tools
    pm.rowColumnLayout(w=win_width)
    BR_RenameTFG = pm.textFieldGrp(l='Rename', text='', cw=[(1, 70), (2, 235)])
    pm.rowColumnLayout(cw=[(1, 130), (2, 170)], nc=2)
    BR_StartIFG = pm.intFieldGrp(l='Start #:', v1=1, cw=[(1, 68), (2, 60)])
    BR_PaddingIFG = pm.intFieldGrp(l='Padding:', v1=2, cw=[(1, 64), (2, 60)])
    pm.setParent(main_layout)
    pm.button(l='Rename and Number', w=win_width, bgc=tab_bgc)
    pm.separator(st="in", w=win_width)

    #======================================================================
    # Remove
    pm.rowColumnLayout(cw=[(1, 84), (2, 104), (3, 104)],
                       nc=3,
                       cs=[(1, 10), (3, 4)])
    pm.text(l='Remove...', al='left')
    pm.button(l='First Character--->', w=60, bgc=tab_bgc)
    pm.button(l='<---Last Character', w=60, bgc=tab_bgc, c=remove_lastChr)
    pm.setParent(main_layout)
    pm.separator(st="in", w=win_width)

    #======================================================================
    # Hash Rename
    pm.rowColumnLayout(cw=[(1, 70), (2, 170), (3, 56)], nc=3, cs=(1, 10))
    pm.text(l='Hash Rename')
    BR_hashRenmaeTFG = pm.textFieldGrp(l='',
                                       text='name_####_suffix',
                                       cw=[(1, 10), (2, 153)])
    pm.button(l='Rename', w=48, bgc=tab_bgc)
    pm.setParent(main_layout)
    pm.separator(st='in', w=win_width)

    #======================================================================
    # Prefix - Suffix
    pm.rowColumnLayout(cw=[(1, 55), (2, 185), (3, 56)], nc=3, cs=(1, 10))
    pm.text(l='(Before)')
    BR_prefixTFG = pm.textFieldGrp(l='',
                                   text='prefix_',
                                   cw=[(1, 10), (2, 168)])
    pm.button(l='Add', bgc=tab_bgc)
    pm.setParent(main_layout)
    pm.rowColumnLayout(cw=[(1, 55), (2, 185), (3, 56)], nc=3, cs=(1, 10))
    pm.text(l='(After)')
    BR_suffixTFG = pm.textFieldGrp(l='',
                                   text='suffix_',
                                   cw=[(1, 10), (2, 168)])
    pm.button(l='Add', bgc=tab_bgc)
    pm.setParent(main_layout)
    pm.separator(st='in', w=win_width)

    #======================================================================
    # Quick suffix
    pm.rowColumnLayout(nc=5, cw=[(1, 61), (2, 61), (3, 61), (4, 61), (5, 62)])
    pm.button(l='grp', bgc=tab_bgc)
    pm.button(l='geo', bgc=tab_bgc)
    pm.button(l='icon', bgc=tab_bgc)
    pm.button(l='bind', bgc=tab_bgc)
    pm.button(l='waste', bgc=tab_bgc)
    pm.setParent(main_layout)
    pm.separator(st='in', w=win_width)

    #======================================================================
    # Search and Replace
    pm.columnLayout(w=win_width)
    BR_searchTFG = pm.textFieldGrp(l='Search:', cw=[(1, 70), (2, 233)])
    BR_replaceTFG = pm.textFieldGrp(l='Replace:', cw=[(1, 70), (2, 233)])
    BR_optionRBG = pm.radioButtonGrp(l='',
                                     nrb=3,
                                     la3=('Hierarchy', 'Selected', 'All'),
                                     sl=1,
                                     cw=[(1, 78), (2, 78), (3, 78)])
    pm.setParent(main_layout)
    pm.button(l='Apply', bgc=tab_bgc, w=win_width)

    pm.window('ByrdRigs_Renamer', e=1, wh=(313, 302), rtf=1)
    pm.showWindow(window_object)

    print('Window Created:', window_object)
コード例 #45
0
def mayaKinectCaptureTest():
	global KinectTest_TextFieldGrp_ServerAddress
	global KinectTest_IntFieldGrp_Port
	global KinectTest_IntFieldGrp_CmdPort
	global Recording
	
	hwnd = pm.window('mayaKinectCaptureTestUI_MainWindow',sizeable=True,menuBar=True,title="Kinect capture test")
	masterLayout = pm.columnLayout()
	pm.setParent('..')
	
	#Buttons
	pm.setParent(masterLayout)
	
	pm.columnLayout(adjustableColumn=1)
	
	KinectTest_TextFieldGrp_ServerAddress = pm.textFieldGrp(cw2=(100, 100),tx="localhost",l="Server Address",w=200)
	
	KinectTest_IntFieldGrp_Port = pm.intFieldGrp(v1=9999,cw2=(100, 100),l="port",w=200,nf=1)
	
	pm.separator(w=200)
	
	pm.button(c=lambda *args: makeNull(),al="center",w=200,l="Create Skeleton")
	
	pm.separator(w=200)
	
	pm.rowLayout(nc=2,cw2=(100, 100))
	
	pm.button(c=lambda *args: connectDevice(),al="center",w=100,l="Connect")
	
	pm.button(c=lambda *args: discDevice(),al="center",w=100,l="Disconnect")
	
	pm.setParent('..')
	
	pm.separator(w=200)
	
	#pm.intFieldGrp('KinectTest_IntFieldGrp_CmdPort',v1=9998,cw2=(100, 100),l="Command Port",w=200,nf=1)
	
	KinectTest_IntFieldGrp_CmdPort = pm.intFieldGrp(v1=9998,cw2=(100, 100),l="Command Port",w=200,nf=1)
	#KinectTest_IntFieldGrp_CmdPort = pm.intFieldGrp(v1=9998,cw2=(100, 100),l="Command Port",w=200,nf=1)
	
	pm.button(c=lambda *args: OpenCommandPort(),al="center",w=200,l="Open CommandPort")
	
	pm.separator(w=200)

	pm.button(c=lambda *args: makeIK(),al="center",w=200,l="Create IK")
	pm.button(c=lambda *args: remakeSkel(),al="center",w=200,l="Recreate Skeleton")
	
	pm.separator(w=200)

	pm.button(c=lambda *args: SwitchPerspective(),al="center",w=200,l="Change Perspective")
	
	pm.separator(w=200)

	
	pm.rowLayout(nc=2,cw2=(100, 100))
	
	pm.button(c=lambda *args: ActiveRecord("Start"),al="center",w=100,l="Start Record")
	
	pm.button(c=lambda *args: ActiveRecord("Stop"),al="center",w=100,l="Stop Record")
	#pm.button(c=lambda *args: LiveRecord(),al="center",w=200,l="Record / Stop Record")

	pm.setParent('..')
	
	pm.window(hwnd,h=300,e=1,w=210)
	
	pm.showWindow(hwnd)
コード例 #46
0
ファイル: win_pymel.py プロジェクト: Italic-/maya-prefs
    def uiCreate(self):

        self.onCloseClicked()

        self.window = pm.window(
            WIN_NAME,
            title='PyMel Window',
            maximizeButton=False
        )

        with self.window:
            with pm.formLayout() as uiLAY_mainForm:
                with pm.scrollLayout('uiLAY_mainScroll', childResizable=True) as self.uiLAY_mainScroll:
                    with pm.columnLayout(adjustableColumn=True):

                        with self.uiCreateFrame('uiLAY_frameCheckBoxes', 'Check Boxes (PMCheckBox)') as self.uiLAY_frameCheckBoxes:
                            with pm.columnLayout():
                                pm.separator(style='none', height=2)
                                with pm.rowLayout(numberOfColumns=3):
                                    pm.separator(width=140, style='none')
                                    self.uiCHK_test1 = pm.checkBox('uiCHK_test1', label='test1')
                                    self.uiCHK_test2 = pm.checkBox('uiCHK_test2', label='test2')

                        with self.uiCreateFrame('uiLAY_frameCheckBoxGroups', 'Check Box Groups (PMCheckBoxGrp#)') as self.uiLAY_frameCheckBoxGroups:
                            with pm.columnLayout():
                                pm.separator(style='none', height=2)
                                self.uiCHKGRP_test1 = pm.checkBoxGrp(
                                    'uiCHKGRP_test1',
                                    numberOfCheckBoxes=1,
                                    label='PMCheckBoxGrp1',
                                    label1='test1'
                                )
                                self.uiCHKGRP_test2 = pm.checkBoxGrp(
                                    'uiCHKGRP_test2',
                                    numberOfCheckBoxes=2,
                                    label='PMCheckBoxGrp2',
                                    labelArray2=('test1', 'test2')
                                )
                                self.uiCHKGRP_test3 = pm.checkBoxGrp(
                                    'uiCHKGRP_test3',
                                    numberOfCheckBoxes=3,
                                    label='PMCheckBoxGrp3',
                                    labelArray3=('test1', 'test2', 'test3')
                                )
                                self.uiCHKGRP_test4 = pm.checkBoxGrp(
                                    'uiCHKGRP_test4',
                                    numberOfCheckBoxes=4,
                                    label='PMCheckBoxGrp4',
                                    labelArray4=('test1', 'test2', 'test3', 'test4')
                                )

                        with self.uiCreateFrame('uiLAY_frameColorSliders', 'Color Slider Groups (PMColorSliderGrp)') as self.uiLAY_frameColorSliders:
                            with pm.columnLayout():
                                pm.separator(style='none', height=2)
                                self.uiCLRGRP_test1 = pm.colorSliderGrp(
                                    'uiCLRGRP_test1',
                                    label='test1'
                                )
                                self.uiCLRGRP_test2 = pm.colorSliderGrp(
                                    'uiCLRGRP_test2',
                                    label='test2'
                                )

                        with self.uiCreateFrame('uiLAY_frameFloatFields', 'Float Fields (PMFloatField)') as self.uiLAY_frameFloatFields:
                            with pm.columnLayout():
                                pm.separator(style='none', height=2)
                                with pm.rowLayout(numberOfColumns=3):
                                    pm.separator(width=140, style='none')
                                    self.uiFLF_test1 = pm.floatField('uiFLF_test1')
                                    self.uiFLF_test2 = pm.floatField('uiFLF_test2')

                        with self.uiCreateFrame('uiLAY_frameFloatFieldGroups', 'Float Field Groups (PMFloatFieldGrp#)') as self.uiLAY_frameFloatFieldGroups:
                            with pm.columnLayout():
                                pm.separator(style='none', height=2)
                                self.uiFLFGRP_test1 = pm.floatFieldGrp(
                                    'uiFLFGRP_test1',
                                    numberOfFields=1,
                                    label='PMFloatFieldGrp1'
                                )
                                self.uiFLFGRP_test2 = pm.floatFieldGrp(
                                    'uiFLFGRP_test2',
                                    numberOfFields=2,
                                    label='PMFloatFieldGrp2'
                                )
                                self.uiFLFGRP_test3 = pm.floatFieldGrp(
                                    'uiFLFGRP_test3',
                                    numberOfFields=3,
                                    label='PMFloatFieldGrp3'
                                )
                                self.uiFLFGRP_test4 = pm.floatFieldGrp(
                                    'uiFLFGRP_test4',
                                    numberOfFields=4,
                                    label='PMFloatFieldGrp4'
                                )

                        with self.uiCreateFrame('uiLAY_frameFloatScrollBars', 'Float Scroll Bars (PMFloatScrollBar)') as self.uiLAY_frameFloatScrollBars:
                            with pm.columnLayout(adjustableColumn=True):
                                pm.separator(style='none', height=2)
                                self.uiFLSCRL_test1 = pm.floatScrollBar('uiFLSCRL_test1')
                                self.uiFLSCRL_test2 = pm.floatScrollBar('uiFLSCRL_test2')

                        with self.uiCreateFrame('uiLAY_frameFloatSliders', 'Float Sliders (PMFloatSlider)') as self.uiLAY_frameFloatSliders:
                            with pm.columnLayout(adjustableColumn=True):
                                pm.separator(style='none', height=2)
                                self.uiFLTSLD_test1 = pm.floatSlider('uiFLTSLD_test1')
                                self.uiFLTSLD_test2 = pm.floatSlider('uiFLTSLD_test2')

                        with self.uiCreateFrame('uiLAY_frameFloatSliderGroups', 'Float Slider Groups (PMFloatSliderGrp)') as self.uiLAY_frameFloatSliderGroups:
                            with pm.columnLayout():
                                pm.separator(style='none', height=2)
                                self.uiFLSGRP_test1 = pm.floatSliderGrp(
                                    'uiFLSGRP_test1',
                                    label='test1',
                                    field=True
                                )
                                self.uiFLSGRP_test2 = pm.floatSliderGrp(
                                    'uiFLSGRP_test2',
                                    label='test2',
                                    field=True
                                )

                        with self.uiCreateFrame('uiLAY_frameIconTextCheckBoxes', 'Icon Text Check Boxes (PMIconTextCheckBox)') as self.uiLAY_frameIconTextCheckBoxes:
                            with pm.columnLayout():
                                with pm.rowLayout(numberOfColumns=3):
                                    pm.separator(style='none', width=140)
                                    self.uiITCHK_test1 = pm.iconTextCheckBox(
                                        'uiITCHK_test1',
                                        style='iconAndTextHorizontal',
                                        label='cube',
                                        image1='cube'
                                    )
                                    self.uiITCHK_test2 = pm.iconTextCheckBox(
                                        'uiITCHK_test2',
                                        style='iconAndTextHorizontal',
                                        label='cone',
                                        image1='cone'
                                    )

                        with self.uiCreateFrame('uiLAY_frameIconTextRadioButtons', 'Icon Text Radio Buttons (PMIconTextRadioButton)') as self.uiLAY_frameIconTextRadioButtons:
                            with pm.columnLayout():
                                with pm.rowLayout(numberOfColumns=4):
                                    pm.separator(style='none', width=140)
                                    pm.iconTextRadioCollection()
                                    self.uiITRAD_test1 = pm.iconTextRadioButton(
                                        'uiITRAD_test1',
                                        style='iconAndTextHorizontal',
                                        label='cube',
                                        image1='cube'
                                    )
                                    self.uiITRAD_test2 = pm.iconTextRadioButton(
                                        'uiITRAD_test2',
                                        style='iconAndTextHorizontal',
                                        label='cone',
                                        image1='cone'
                                    )
                                    self.uiITRAD_test3 = pm.iconTextRadioButton(
                                        'uiITRAD_test3',
                                        style='iconAndTextHorizontal',
                                        label='torus',
                                        image1='torus'
                                    )

                        with self.uiCreateFrame('uiLAY_frameIconTextScrollLists', 'Icon Text Scroll Lists (PMIconTextScrollList)') as self.uiLAY_frameIconTextScrollLists:
                            with pm.columnLayout():
                                with pm.rowLayout(numberOfColumns=3):
                                    pm.separator(style='none', width=140)
                                    self.uiITSLST_test1 = pm.iconTextScrollList(
                                        'uiITSLST_test1',
                                        allowMultiSelection=True,
                                        append=('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten')
                                    )
                                    self.uiITSLST_test2 = pm.iconTextScrollList(
                                        'uiITSLST_test2',
                                        allowMultiSelection=True,
                                        append=('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten')
                                    )

                        with self.uiCreateFrame('uiLAY_frameIntFields', 'Int Fields (PMIntField)') as self.uiLAY_frameIntFields:
                            with pm.columnLayout():
                                pm.separator(style='none', height=2)
                                with pm.rowLayout(numberOfColumns=3):
                                    pm.separator(width=140, style='none')
                                    self.uiINF_test1 = pm.intField('uiINF_test1')
                                    self.uiINF_test2 = pm.intField('uiINF_test2')

                        with self.uiCreateFrame('uiLAY_frameIntFieldGroups', 'Int Field Groups (PMIntFieldGrp#)') as self.uiLAY_frameIntFieldGroups:
                            with pm.columnLayout():
                                pm.separator(style='none', height=2)
                                self.uiINFGRP_test1 = pm.intFieldGrp(
                                    'uiINFGRP_test1',
                                    numberOfFields=1,
                                    label='PMIntFieldGrp1'
                                )
                                self.uiINFGRP_test2 = pm.intFieldGrp(
                                    'uiINFGRP_test2',
                                    numberOfFields=2,
                                    label='PMIntFieldGrp2'
                                )
                                self.uiINFGRP_test3 = pm.intFieldGrp(
                                    'uiINFGRP_test3',
                                    numberOfFields=3,
                                    label='PMIntFieldGrp3'
                                )
                                self.uiINFGRP_test4 = pm.intFieldGrp(
                                    'uiINFGRP_test4',
                                    numberOfFields=4,
                                    label='PMIntFieldGrp4'
                                )

                        with self.uiCreateFrame('uiLAY_frameIntScrollBars', 'Int Scroll Bars (PMIntScrollBar)') as self.uiLAY_frameIntScrollBars:
                            with pm.columnLayout(adjustableColumn=True):
                                pm.separator(style='none', height=2)
                                self.uiINSCRL_test1 = pm.intScrollBar('uiINSCRL_test1')
                                self.uiINSCRL_test2 = pm.intScrollBar('uiINSCRL_test2')

                        with self.uiCreateFrame('uiLAY_frameIntSliders', 'Int Sliders (PMIntSlider)') as self.uiLAY_frameIntSliders:
                            with pm.columnLayout(adjustableColumn=True):
                                pm.separator(style='none', height=2)
                                self.uiINTSLD_test1 = pm.intSlider('uiINTSLD_test1')
                                self.uiINTSLD_test2 = pm.intSlider('uiINTSLD_test2')

                        with self.uiCreateFrame('uiLAY_frameIntSliderGroups', 'Int Slider Groups (PMIntSliderGrp)') as self.uiLAY_frameIntSliderGroups:
                            with pm.columnLayout():
                                pm.separator(style='none', height=2)
                                self.uiINSGRP_test1 = pm.intSliderGrp(
                                    'uiINSGRP_test1',
                                    label='test1',
                                    field=True
                                )
                                self.uiINSGRP_test2 = pm.intSliderGrp(
                                    'uiINSGRP_test2',
                                    label='test2',
                                    field=True
                                )

                        with self.uiCreateFrame('uiLAY_frameOptionMenus', 'Option Menus (PMOptionMenu)') as self.uiLAY_frameOptionMenus:
                            with pm.columnLayout():
                                pm.separator(style='none', height=2)
                                with pm.rowLayout(numberOfColumns=3):
                                    pm.separator(width=110, style='none')
                                    self.uiOPTMNU_test1 = pm.optionMenu('uiOPTMNU_test1', label='test1')
                                    pm.menuItem(label='one')
                                    pm.menuItem(label='two')
                                    pm.menuItem(label='three')
                                    self.uiOPTMNU_test2 = pm.optionMenu('uiOPTMNU_test2', label='test2')
                                    pm.menuItem(label='four')
                                    pm.menuItem(label='five')
                                    pm.menuItem(label='six')

                        with self.uiCreateFrame('uiLAY_frameOptionMenuGroups', 'Option Menus Groups (PMOptionMenuGrp)') as self.uiLAY_frameOptionMenuGroups:
                            with pm.columnLayout():
                                pm.separator(style='none', height=2)
                                self.uiOPMGRP_test1 = pm.optionMenuGrp('uiOPMGRP_test1', label='test1', extraLabel='extraLabel')
                                pm.menuItem(label='one')
                                pm.menuItem(label='two')
                                pm.menuItem(label='three')
                                self.uiOPMGRP_test2 = pm.optionMenuGrp('uiOPMGRP_test2', label='test2', extraLabel='extraLabel')
                                pm.menuItem(label='four')
                                pm.menuItem(label='five')
                                pm.menuItem(label='six')

                        with self.uiCreateFrame('uiLAY_frameRadioButtons', 'Radio Buttons (PMRadioButton)') as self.uiLAY_frameRadioButtons:
                            with pm.columnLayout():
                                with pm.rowLayout(numberOfColumns=4):
                                    pm.separator(style='none', width=140)
                                    pm.radioCollection()
                                    self.uiRAD_test1 = pm.radioButton('uiRAD_test1', label='test1')
                                    self.uiRAD_test2 = pm.radioButton('uiRAD_test2', label='test2')
                                    self.uiRAD_test3 = pm.radioButton('uiRAD_test3', label='test3')

                        with self.uiCreateFrame('uiLAY_frameRadioButtonGroups', 'Radio Button Groups (PMRadioButtonGrp#)') as self.uiLAY_frameRadioButtonGroups:
                            with pm.columnLayout():
                                pm.separator(style='none', height=2)
                                self.uiRADGRP_test1 = pm.radioButtonGrp(
                                    'uiRADGRP_test1',
                                    numberOfRadioButtons=1,
                                    label='PMRadioButtonGrp1',
                                    label1='test1'
                                )
                                self.uiRADGRP_test2 = pm.radioButtonGrp(
                                    'uiRADGRP_test2',
                                    numberOfRadioButtons=2,
                                    label='PMRadioButtonGrp2',
                                    labelArray2=('test1', 'test2')
                                )
                                self.uiRADGRP_test3 = pm.radioButtonGrp(
                                    'uiRADGRP_test3',
                                    numberOfRadioButtons=3,
                                    label='PMRadioButtonGrp3',
                                    labelArray3=('test1', 'test2', 'test3')
                                )
                                self.uiRADGRP_test4 = pm.radioButtonGrp(
                                    'uiRADGRP_test4',
                                    numberOfRadioButtons=4,
                                    label='PMRadioButtonGrp4',
                                    labelArray4=('test1', 'test2', 'test3', 'test4')
                                )

                        with self.uiCreateFrame('uiLAY_frameSymbolCheckBoxes', 'Symbol Check Boxes (PMSymbolCheckBox)') as self.uiLAY_frameSymbolCheckBoxes:
                            with pm.columnLayout():
                                with pm.rowLayout(numberOfColumns=3):
                                    pm.separator(style='none', width=140)
                                    self.uiSYMCHK_test1 = pm.symbolCheckBox(
                                        'uiSYMCHK_test1',
                                        image='polyCube'
                                    )
                                    self.uiSYMCHK_test2 = pm.symbolCheckBox(
                                        'uiSYMCHK_test2',
                                        image='polyCone'
                                    )

                        with self.uiCreateFrame('uiLAY_frameScriptTables', 'Script Tables (PMScriptTable)') as self.uiLAY_frameScriptTables:
                            with pm.columnLayout():
                                with pm.rowLayout(numberOfColumns=3):
                                    pm.separator(style='none', width=140)
                                    self.uiSCRTBL_test1 = pm.scriptTable(
                                        'uiSCRTBL_test1',
                                        selectionMode=3,
                                        rows=4,
                                        columns=2
                                    )
                                    self.uiSCRTBL_test2 = pm.scriptTable(
                                        'uiSCRTBL_test2',
                                        selectionMode=3,
                                        rows=4,
                                        columns=2
                                    )

                        with self.uiCreateFrame('uiLAY_frameScrollField', 'Scroll Field (PMScrollField)') as self.uiLAY_frameScrollField:
                            with pm.columnLayout():
                                with pm.rowLayout(numberOfColumns=3):
                                    pm.separator(style='none', width=140)
                                    self.uiSCRFLD_test1 = pm.scrollField(
                                        'uiSCRFLD_test1',
                                        wordWrap=True
                                    )
                                    self.uiSCRFLD_test2 = pm.scrollField(
                                        'uiSCRFLD_test2',
                                        wordWrap=True
                                    )

                        with self.uiCreateFrame('uiLAY_frameShelfTabLayout', 'Shelf Tab Layout (PMShelfTabLayout)') as self.uiLAY_frameShelfTabLayout:
                            with pm.columnLayout(adjustableColumn=True):
                                with pm.shelfTabLayout('uiSHLTAB_test1') as self.uiSHLTAB_test1:
                                    with pm.shelfLayout('test1'):
                                        pass
                                    with pm.shelfLayout('test2'):
                                        pass
                                    with pm.shelfLayout('test3'):
                                        pass
                                with pm.shelfTabLayout('uiSHLTAB_test2') as self.uiSHLTAB_test2:
                                    with pm.shelfLayout('test4'):
                                        pass
                                    with pm.shelfLayout('test5'):
                                        pass
                                    with pm.shelfLayout('test6'):
                                        pass

                        with self.uiCreateFrame('uiLAY_frameTabLayout', 'Tab Layout (PMTabLayout)') as self.uiLAY_frameTabLayout:
                            with pm.columnLayout(adjustableColumn=True):
                                with pm.tabLayout('uiTAB_test1') as self.uiTAB_test1:

                                    with pm.rowLayout(numberOfColumns=1) as uiLAY_tabRow1:
                                        pass
                                    with pm.rowLayout(numberOfColumns=1) as uiLAY_tabRow2:
                                        pass
                                    with pm.rowLayout(numberOfColumns=1) as uiLAY_tabRow3:
                                        pass

                                pm.tabLayout(
                                    self.uiTAB_test1,
                                    edit=True,
                                    tabLabel=((uiLAY_tabRow1, 'test1'), (uiLAY_tabRow2, 'test2'), (uiLAY_tabRow3, 'test3'),)
                                )

                                with pm.tabLayout('uiTAB_test2') as self.uiTAB_test2:

                                    with pm.rowLayout(numberOfColumns=1) as uiLAY_tabRow4:
                                        pass
                                    with pm.rowLayout(numberOfColumns=1) as uiLAY_tabRow5:
                                        pass
                                    with pm.rowLayout(numberOfColumns=1) as uiLAY_tabRow6:
                                        pass

                                pm.tabLayout(
                                    self.uiTAB_test2,
                                    edit=True,
                                    tabLabel=((uiLAY_tabRow4, 'test4'), (uiLAY_tabRow5, 'test5'), (uiLAY_tabRow6, 'test6'),)
                                )

                        with self.uiCreateFrame('uiLAY_frameTextFields', 'Text Fields (PMTextField)') as self.uiLAY_frameTextFields:
                            with pm.columnLayout():
                                pm.separator(style='none', height=2)
                                with pm.rowLayout(numberOfColumns=3):
                                    pm.separator(width=140, style='none')
                                    self.uiTXT_test1 = pm.textField('uiTXT_test1')
                                    self.uiTXT_test2 = pm.textField('uiTXT_test2')

                        with self.uiCreateFrame('uiLAY_frameTextFieldButtonGroups', 'Text Field Button Groups (PMTextFieldButtonGrp)') as self.uiLAY_frameTextFieldButtonGroups:
                            with pm.columnLayout():
                                pm.separator(style='none', height=2)
                                self.uiTXBTGR_test1 = pm.textFieldButtonGrp(
                                    'uiTXBTGR_test1',
                                    label='test1',
                                    buttonLabel='button1'
                                )
                                self.uiTXBTGR_test2 = pm.textFieldButtonGrp(
                                    'uiTXBTGR_test2',
                                    label='test2',
                                    buttonLabel='button2'
                                )

                        with self.uiCreateFrame('uiLAY_frameTextFieldGroups', 'Text Field Groups (PMTextFieldGrp)') as self.uiLAY_frameTextFieldGroups:
                            with pm.columnLayout():
                                pm.separator(style='none', height=2)
                                self.uiTXTGRP_test1 = pm.textFieldGrp(
                                    'uiTXTGRP_test1',
                                    label='test1'
                                )
                                self.uiTXTGRP_test2 = pm.textFieldGrp(
                                    'uiTXTGRP_test2',
                                    label='test2'
                                )

                        with self.uiCreateFrame('uiLAY_frameTextScrollLists', 'Text Scroll Lists (PMTextScrollList)') as self.uiLAY_frameTextScrollLists:
                            with pm.columnLayout():
                                with pm.rowLayout(numberOfColumns=3):
                                    pm.separator(style='none', width=140)
                                    self.uiTXTLST_test1 = pm.textScrollList(
                                        'uiTXTLST_test1',
                                        allowMultiSelection=True,
                                        append=('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten')
                                    )
                                    self.uiTXTLST_test2 = pm.textScrollList(
                                        'uiTXTLST_test2',
                                        allowMultiSelection=True,
                                        append=('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten')
                                    )

                self.uiBTN_savePrefs = pm.button(
                    label='Save Prefs',
                    height=MAIN_BUTTONS_HEIGHT,
                    command=self.onSavePrefsClicked
                )

                self.uiBTN_loadPrefs = pm.button(
                    label='Load Prefs',
                    height=MAIN_BUTTONS_HEIGHT,
                    command=self.onLoadPrefsClicked
                )

                self.uiBTN_resetPrefs = pm.button(
                    label='Reset Prefs',
                    height=MAIN_BUTTONS_HEIGHT,
                    command=self.onResetPrefsClicked
                )

                uiLAY_mainForm.attachForm(self.uiLAY_mainScroll, 'top', 2)
                uiLAY_mainForm.attachForm(self.uiLAY_mainScroll, 'left', 2)
                uiLAY_mainForm.attachForm(self.uiLAY_mainScroll, 'right', 2)
                uiLAY_mainForm.attachControl(self.uiLAY_mainScroll, 'bottom', 2, self.uiBTN_savePrefs)

                uiLAY_mainForm.attachNone(self.uiBTN_savePrefs, 'top')
                uiLAY_mainForm.attachForm(self.uiBTN_savePrefs, 'left', 2)
                uiLAY_mainForm.attachPosition(self.uiBTN_savePrefs, 'right', 2, 33)
                uiLAY_mainForm.attachForm(self.uiBTN_savePrefs, 'bottom', 2)

                uiLAY_mainForm.attachNone(self.uiBTN_loadPrefs, 'top')
                uiLAY_mainForm.attachPosition(self.uiBTN_loadPrefs, 'left', 2, 33)
                uiLAY_mainForm.attachPosition(self.uiBTN_loadPrefs, 'right', 2, 66)
                uiLAY_mainForm.attachForm(self.uiBTN_loadPrefs, 'bottom', 2)

                uiLAY_mainForm.attachNone(self.uiBTN_resetPrefs, 'top')
                uiLAY_mainForm.attachPosition(self.uiBTN_resetPrefs, 'left', 2, 66)
                uiLAY_mainForm.attachForm(self.uiBTN_resetPrefs, 'right', 2)
                uiLAY_mainForm.attachForm(self.uiBTN_resetPrefs, 'bottom', 2)

        self.window.setTitle(self.window.__class__)
コード例 #47
0
ファイル: mtkr_initialize.py プロジェクト: MassW/OpenMaya
    def KrayRendererCreateTab(self):
        log.debug("KrayRendererCreateTab()")
        self.createGlobalsNode()
        sDict = {}
        self.rendererTabUiDict['sampling'] = sDict        
        parentForm = pm.setParent(query=True)

        pm.setUITemplate("renderGlobalsTemplate", pushTemplate=True)
        pm.setUITemplate("attributeEditorTemplate", pushTemplate=True)
        scLo = self.rendererName + "ScrollLayout"
        with pm.scrollLayout(scLo, horizontalScrollBarThickness=0):
            with pm.columnLayout(self.rendererName + "ColumnLayout", adjustableColumn=True, width=400):
                with pm.frameLayout(label="Image format", collapsable=True, collapse=False):
                    with pm.columnLayout(self.rendererName + "ColumnLayoutA", adjustableColumn=True, width=400):
                        attr = pm.Attribute(self.renderGlobalsNodeName + ".diffuseModel")
                        ui = pm.attrEnumOptionMenuGrp(label="Diffuse Model", at=self.renderGlobalsNodeName + ".diffuseModel", ei=self.getEnumList(attr)) 
                        attr = pm.Attribute(self.renderGlobalsNodeName + ".qLuminosityModel")
                        ui = pm.attrEnumOptionMenuGrp(label="Luminosity Model", at=self.renderGlobalsNodeName + ".qLuminosityModel", ei=self.getEnumList(attr)) 
                        pm.separator()
                        attr = pm.Attribute(self.renderGlobalsNodeName + ".imageFormat")
                        ui = pm.attrEnumOptionMenuGrp(label="Image format", at=self.renderGlobalsNodeName + ".imageFormat", ei=self.getEnumList(attr)) 
                        attr = pm.Attribute(self.renderGlobalsNodeName + ".bitdepth")
                        sDict['bitdepth'] = pm.attrEnumOptionMenuGrp(label="Bit depth", at=self.renderGlobalsNodeName + ".bitdepth", ei=self.getEnumList(attr)) 
                        sDict['jpgQuality'] = pm.intFieldGrp(label="Jpg Quality:", numberOfFields=1)
                        pm.connectControl(sDict['jpgQuality'], self.renderGlobalsNodeName + ".jpgQuality", index=2)                     
                
                with pm.frameLayout(label="Sampling", collapsable=True, collapse=False):
                    with pm.columnLayout(self.rendererName + "ColumnLayoutA", adjustableColumn=True, width=400):
                        attr = pm.Attribute(self.renderGlobalsNodeName + ".samplingType")
                        ui = pm.attrEnumOptionMenuGrp(label="Sampling Type", at=self.renderGlobalsNodeName + ".samplingType", ei=self.getEnumList(attr)) 
                        sDict['fullScreenAA'] = pm.checkBoxGrp(label="Full Screen AA:", value1=False)
                        pm.connectControl(sDict['fullScreenAA'], self.renderGlobalsNodeName + ".fullScreenAA", index=2)
                        pm.separator()
                        sDict['gridSize'] = pm.intFieldGrp(label="Grid Size:", numberOfFields=1)
                        pm.connectControl(sDict['gridSize'], self.renderGlobalsNodeName + ".gridSize", index=2)                     
                        sDict['gridRotate'] = pm.checkBoxGrp(label="Grid Rotate:", value1=False)
                        pm.connectControl(sDict['gridRotate'], self.renderGlobalsNodeName + ".rotateGrid", index=2) 
                        pm.separator()
                        ui = pm.intFieldGrp(label="Rays:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".aa_rays", index=2)                     
                        ui = pm.intFieldGrp(label="Min Rays:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".aa_minRays", index=2)                     
                        ui = pm.intFieldGrp(label="Max Rays:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".aa_maxRays", index=2)                     
                        pm.separator()
                        ui = pm.intFieldGrp(label="Edge Thickness:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".aa_thickness", index=2)                     
                        ui = pm.floatFieldGrp(label="Edge Absulut:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".aa_edgeAbsolute", index=2)                     
                        ui = pm.floatFieldGrp(label="Edge Relative:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".aa_relative", index=2)                     
                        pm.separator()
                        ui = pm.floatFieldGrp(label="Normal Sentitivity:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".aa_normal", index=2)                     
                        ui = pm.floatFieldGrp(label="Z Sensitivity:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".aa_z", index=2)                  
                        ui = pm.floatFieldGrp(label="Max Brightness:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".aa_overburn", index=2)                    
                        ui = pm.floatFieldGrp(label="Threshold:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".aa_threshold", index=2)                     
                        pm.separator()
                        ui = pm.intFieldGrp(label="Upsample:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".aa_upsample", index=2)      
                        ui = pm.floatFieldGrp(label="Mb Subframes:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".mb_subframes", index=2)                     
                        pm.separator()
                        attr = pm.Attribute(self.renderGlobalsNodeName + ".pixelOrder")
                        ui = pm.attrEnumOptionMenuGrp(label="Pixel Order", at=self.renderGlobalsNodeName + ".pixelOrder", ei=self.getEnumList(attr)) 
                    
                with pm.frameLayout(label="Filtering", collapsable=True, collapse=False):
                    attr = pm.Attribute(self.renderGlobalsNodeName + ".filtertype")
                    ui = pm.attrEnumOptionMenuGrp(label="Filter Type", at=self.renderGlobalsNodeName + ".filtertype", ei=self.getEnumList(attr)) 
                    sDict['filterSize'] = pm.floatFieldGrp(label="Filter Size:", numberOfFields=1)
                    pm.connectControl(sDict['filterSize'], self.renderGlobalsNodeName + ".filtersize", index=2)
                                        
                with pm.frameLayout(label="Features", collapsable=True, collapse=False):
                    sDict['doMb'] = pm.checkBoxGrp(label="Motion Blur:")
                    pm.connectControl(sDict['doMb'], self.renderGlobalsNodeName + ".doMb", index=2)
                    sDict['doDof'] = pm.checkBoxGrp(label="Depth Of Field:")
                    pm.connectControl(sDict['doDof'], self.renderGlobalsNodeName + ".doDof", index=2)
                    sDict['camSingleSided'] = pm.checkBoxGrp(label="Render Single Sided:")
                    pm.connectControl(sDict['camSingleSided'], self.renderGlobalsNodeName + ".camSingleSided", index=2)
                    
        pm.setUITemplate("attributeEditorTemplate", popTemplate=True)
        pm.setUITemplate("renderGlobalsTemplate", popTemplate=True)
        pm.formLayout(parentForm, edit=True, attachForm=[ (scLo, "top", 0), (scLo, "bottom", 0), (scLo, "left", 0), (scLo, "right", 0) ])
        self.KrayRendererUpdateTab()

        self.KrayRendererUIUpdateCallback("sampling")                
        
        pm.scriptJob(attributeChange=[self.renderGlobalsNode.samplingType, pm.Callback(self.KrayRendererUIUpdateCallback, "sampling")])
        pm.scriptJob(attributeChange=[self.renderGlobalsNode.filtertype, pm.Callback(self.KrayRendererUIUpdateCallback, "sampling")])
        pm.scriptJob(attributeChange=[self.renderGlobalsNode.imageFormat, pm.Callback(self.KrayRendererUIUpdateCallback, "sampling")])
コード例 #48
0
ファイル: mtfu_initialize.py プロジェクト: pangor/OpenMaya
    def FujiRendererCreateTab(self):
        log.debug("FujiRendererCreateTab()")
        self.createGlobalsNode()
        parentForm = pm.setParent(query=True)
        pm.setUITemplate("attributeEditorTemplate", pushTemplate=True)
        scLo = self.rendererName + "ScrollLayout"

        if self.rendererTabUiDict.has_key('common'):
            self.rendererTabUiDict.pop('common')

        parentForm = pm.setParent(query=True)
        uiDict = {}
        self.rendererTabUiDict['common'] = uiDict

        with pm.scrollLayout(scLo, horizontalScrollBarThickness=0):
            with pm.columnLayout(self.rendererName + "ColumnLayout",
                                 adjustableColumn=True,
                                 width=400):
                with pm.frameLayout(label="Sampling",
                                    collapsable=True,
                                    collapse=False):
                    self.addRenderGlobalsUIElement(attName='sampleJitter',
                                                   uiType='float',
                                                   displayName='SampleJitter',
                                                   default='1.0',
                                                   uiDict=uiDict)
                    self.addRenderGlobalsUIElement(
                        attName='sample_time_range_min',
                        uiType='float',
                        displayName='Sample Time Range Min',
                        default='0.0',
                        uiDict=uiDict)
                    self.addRenderGlobalsUIElement(
                        attName='sample_time_range_max',
                        uiType='float',
                        displayName='Sample Time Range Max',
                        default='1.0',
                        uiDict=uiDict)
                    self.addRenderGlobalsUIElement(
                        attName='samplesX',
                        uiType='int',
                        displayName='Pixel Samples x',
                        default=3,
                        uiDict=uiDict)
                    self.addRenderGlobalsUIElement(
                        attName='samplesY',
                        uiType='int',
                        displayName='Pixel Samples y',
                        default=3,
                        uiDict=uiDict)
                    pm.separator()
                    self.addRenderGlobalsUIElement(attName='cast_shadow',
                                                   uiType='bool',
                                                   displayName='Cast Shadows',
                                                   default='true',
                                                   uiDict=uiDict)
                    self.addRenderGlobalsUIElement(
                        attName='max_reflect_depth',
                        uiType='int',
                        displayName='Max Reflection Depth',
                        default='3',
                        uiDict=uiDict)
                    self.addRenderGlobalsUIElement(
                        attName='max_refract_depth',
                        uiType='int',
                        displayName='Max Refraction Depth',
                        default='3',
                        uiDict=uiDict)
                    self.addRenderGlobalsUIElement(
                        attName='raymarch_step',
                        uiType='float',
                        displayName='Raymarching Stepsize',
                        default='0.05',
                        uiDict=uiDict)
                    self.addRenderGlobalsUIElement(
                        attName='raymarch_shadow_step',
                        uiType='float',
                        displayName='Raymarching Shadow Stepsize',
                        default='0.1',
                        uiDict=uiDict)
                    self.addRenderGlobalsUIElement(
                        attName='raymarch_reflect_ste',
                        uiType='float',
                        displayName='Raymarching Reflection Stepsize',
                        default='0.1',
                        uiDict=uiDict)
                    self.addRenderGlobalsUIElement(
                        attName='raymarch_refract_ste',
                        uiType='float',
                        displayName='Raymarching Refraction Stepsize',
                        default='0.1',
                        uiDict=uiDict)
                    pm.separator()
                    self.addRenderGlobalsUIElement(attName='doMotionBlur',
                                                   uiType='bool',
                                                   displayName='Motionblur:',
                                                   default=False,
                                                   uiDict=uiDict)
                    self.addRenderGlobalsUIElement(
                        attName='doDof',
                        uiType='bool',
                        displayName='Depth of Field:',
                        default=False,
                        uiDict=uiDict)

                with pm.frameLayout(label="Output",
                                    collapsable=True,
                                    collapse=False):
                    attr = pm.Attribute(self.renderGlobalsNodeName +
                                        ".imageFormat")
                    ui = pm.attrEnumOptionMenuGrp(
                        label="Image Format",
                        at=self.renderGlobalsNodeName + ".imageFormat",
                        ei=self.getEnumList(attr))

                with pm.frameLayout(label="Filtering",
                                    collapsable=True,
                                    collapse=False):
                    attr = pm.Attribute(self.renderGlobalsNodeName +
                                        ".filtertype")
                    ui = pm.attrEnumOptionMenuGrp(
                        label="Filter Type",
                        at=self.renderGlobalsNodeName + ".filtertype",
                        ei=self.getEnumList(attr))
                    ui = pm.intFieldGrp(label="Filter Size:", numberOfFields=1)
                    pm.connectControl(ui,
                                      self.renderGlobalsNodeName +
                                      ".filtersize",
                                      index=2)

                with pm.frameLayout(label="Renderer",
                                    collapsable=True,
                                    collapse=False):
                    self.addRenderGlobalsUIElement(
                        attName='use_max_thread',
                        uiType='bool',
                        displayName='Use Max Threads',
                        default='true',
                        uiDict=uiDict)
                    self.addRenderGlobalsUIElement(attName='threads',
                                                   uiType='int',
                                                   displayName='Threads',
                                                   default=8,
                                                   uiDict=uiDict)
                    self.addRenderGlobalsUIElement(attName='tilesize',
                                                   uiType='int',
                                                   displayName='Tile Size',
                                                   default=64,
                                                   uiDict=uiDict)
                    ui = pm.intFieldGrp(label="Verbosity:", numberOfFields=1)
                    pm.connectControl(ui,
                                      self.renderGlobalsNodeName +
                                      ".rendererVerbosity",
                                      index=2)

        pm.setUITemplate("attributeEditorTemplate", popTemplate=True)
        pm.formLayout(parentForm,
                      edit=True,
                      attachForm=[(scLo, "top", 0), (scLo, "bottom", 0),
                                  (scLo, "left", 0), (scLo, "right", 0)])
        self.FujiRendererUpdateTab()
コード例 #49
0
ファイル: mtkr_initialize.py プロジェクト: MassW/OpenMaya
    def KrayPhotonsCreateTab(self):
        log.debug("KrayPhotonsCreateTab()")
        self.createGlobalsNode()
        photonsDict = {}
        self.rendererTabUiDict['photons'] = photonsDict
        causticDict = {}
        self.rendererTabUiDict['caustic'] = causticDict

        parentForm = pm.setParent(query=True)
        pm.setUITemplate("attributeEditorTemplate", pushTemplate=True)
        scLo = self.rendererName + "PhotonsScrollLayout"
        with pm.scrollLayout(scLo, horizontalScrollBarThickness=0):
            with pm.columnLayout(self.rendererName + "ColumnLayout", adjustableColumn=True, width=400):
                with pm.frameLayout(label="Photons", collapsable=True, collapse=False):
                    with pm.columnLayout(self.rendererName + "ColumnLayout", adjustableColumn=True, width=400):
                        ui = pm.floatFieldGrp(label="GI Resolution:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".giResolution", index=2)                     
                        ui = pm.checkBoxGrp(label="GI Resolution Auto:")
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".giResolutionAuto", index=2)                     
                        ui = pm.checkBoxGrp(label="Preview Photons:")
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".previewPhotons", index=2)                     
                        attr = pm.Attribute(self.renderGlobalsNodeName + ".photonMapType")
                        ui = pm.attrEnumOptionMenuGrp(label="Photon Map Type", at=self.renderGlobalsNodeName + ".photonMapType", ei=self.getEnumList(attr)) 
                        ui = pm.intFieldGrp(label="Photons:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".photonCount", index=2)                         
                        ui = pm.floatFieldGrp(label="Power:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".photonPower", index=2)                     
                        ui = pm.floatFieldGrp(label="NBlur:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".photonNBlur", index=2) 
                        ui = pm.floatFieldGrp(label="Precache Dist:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".photonPrecacheDist", index=2) 
                        ui = pm.floatFieldGrp(label="Precache Blur:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".photonPrecacheBlur", index=2) 
                        pm.separator() 
                        ui = pm.checkBoxGrp(label="Auto Photons:")
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".photonUseAutoPhotons", index=2)                     
                        ui = pm.floatFieldGrp(label="Auto Photons Low:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".photonAutoPhotonsLow", index=2)                     
                        ui = pm.floatFieldGrp(label="Auto Photons High:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".photonAutoPhotonsHigh", index=2)                     
                        ui = pm.floatFieldGrp(label="Auto Photons Steps:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".photonAutoPhotonsSteps", index=2)                     
                        
                with pm.frameLayout(label="Caustics", collapsable=True, collapse=False):
                    with pm.columnLayout(self.rendererName + "ColumnLayout", adjustableColumn=True, width=400):
                        ui = pm.checkBoxGrp(label="Add To Lightmap:")
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".causticsAddToLightmap", index=2)                     
                        pm.separator()
                        ui = pm.intFieldGrp(label="Caustic Photons:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".causticsCount", index=2)                         
                        ui = pm.floatFieldGrp(label="Caustic Power:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".causticsPower", index=2)                     
                        ui = pm.floatFieldGrp(label="Caustic NBlur:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".causticsNBlur", index=2)                     
                        pm.separator()
                        ui = pm.checkBoxGrp(label="Caustic Auto Photons:")
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".causticsUseAutoPhotons", index=2)                     
                        ui = pm.floatFieldGrp(label="Caustic Auto Low:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".causticsAutoPhotonsLow", index=2)                     
                        ui = pm.floatFieldGrp(label="Caustic Auto High:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".causticsAutoPhotonsHigh", index=2)                     
                        ui = pm.floatFieldGrp(label="Caustic Auto Steps:", numberOfFields=1)
                        pm.connectControl(ui, self.renderGlobalsNodeName + ".causticsAutoPhotonsSteps", index=2)                     
                    

        pm.setUITemplate("attributeEditorTemplate", popTemplate=True)
        pm.formLayout(parentForm, edit=True, attachForm=[ (scLo, "top", 0), (scLo, "bottom", 0), (scLo, "left", 0), (scLo, "right", 0) ])
コード例 #50
0
        pm.menuItem(label='GIF')
        pm.menuItem(label='Abekas NTSC')
        pm.menuItem(label='Alias')
        pm.menuItem(label='Kodak Cineon')
        pm.menuItem(label='Lucas Film')
        pm.menuItem(label='Pixibox PXB')
        pm.menuItem(label='SCN')
        pm.menuItem(label='PPM raw/ascii')
        pm.menuItem(label='Prisms')
        pm.menuItem(label='Quantel')
        pm.menuItem(label='SGI')
        pm.menuItem(label='Avid® Softimage®')
        pm.menuItem(label='Vista')
        pm.menuItem(label='Wavefront RLA')
        pm.separator()

        #連番指定
        # pm.text( label= '連番スタート')
        iField = pm.intFieldGrp(
            numberOfFields=1,  #int数値入力のフィールドを作成する
            label='連番スタート番号',
            value=[1, 0, 0, 0])
        pm.separator()
        pm.button(label='フォルダを開く', command='openCurrentImage()')
        # pm.button( label='printselectItem' , command='print pm.selected()')
        # pm.button( label='リネーム実行' , command='print getSelectedImagePlaneName(newDir.getText(), newFile.getEnable(), newFile.getText(), iField.getValue()[0])')
        pm.button(
            label='リネーム実行',
            command=
            'print runImgcvt("", newFile.getEnable(), newFile.getText(), iField.getValue()[0])'
        )
コード例 #51
0
ファイル: musterUI.py プロジェクト: jessedenton/musterSubmit
    def ui(self):
        '''
        main ui creator
        '''
        #TODO: only run once. use singleton instance
        
        if pm.window(self.name, q = True, ex = True):
            pm.deleteUI(self.name)
            
        #main window
        self.widgets['mainWindow'] = pm.window(self.name, title = self.name, widthHeight = (720, 400))
        self.widgets['mainForm']   = pm.formLayout(parent = self.widgets['mainWindow'])
        
        #top left column
        self.widgets['topLColumn'] = pm.columnLayout(adjustableColumn = True, parent = self.widgets['mainForm'], h = 168)
        self.widgets['cameraText'] = pm.text(label = "Cameras", h = 20)
        self.widgets['cameraList'] = pm.iconTextScrollList(h = 105, allowMultiSelection = True, selectCommand = pm.Callback(self.updateLayers))
        self.widgets['nameSep']    = pm.separator(horizontal = True, style = 'none', h = 13)
        self.widgets['sceneName']  = pm.textFieldGrp(label = 'Scene Name', text = self.scene.namebase, adjustableColumn = 2, columnWidth2 = [80, 0])
        
        #top right column
        self.widgets['topRColumn'] = pm.columnLayout(parent = self.widgets['mainForm'], h = 168, adjustableColumn = True, rowSpacing = 1)
        self.widgets['outputDir']  = pm.textFieldButtonGrp(label = 'Output Path', tx = self.output, adjustableColumn = 2, columnWidth = [1, 80], buttonLabel = 'Browse...', bc = pm.Callback(self.changeOutputDestination))
        self.widgets['project']    = pm.textFieldGrp(label = 'Project', adjustableColumn = 2, columnWidth = [1, 80], text = self.fileInfo.getProject())
        self.widgets['department'] = pm.textFieldGrp(label = 'Department', adjustableColumn = 2, columnWidth = [1, 80], text = MusterSubmit.defaults['department'])
        self.widgets['pool']       = pm.optionMenuGrp(label = 'Pool', adjustableColumn = 2, columnWidth = [1, 80], cc = pm.Callback(self.savePoolOpt))
        self.widgets['renderer']   = pm.optionMenuGrp(label = 'Renderer', adjustableColumn = 2, columnWidth = [1, 80], cc = pm.Callback(self.saveRendererOpt))
        self.widgets['user']       = pm.optionMenuGrp(label = 'User', adjustableColumn = 2, columnWidth = [1, 80], cc = pm.Callback(self.saveUserOpt))
        self.widgets['memPri']     = pm.rowLayout(parent = self.widgets['topRColumn'], numberOfColumns = 2, adjustableColumn2 = 1)
        self.widgets['memory']     = pm.intSliderGrp(parent = self.widgets['memPri'], label = 'Memory', columnWidth = [1,80], field = True, step = 512, value = 16384, maxValue = 65536, minValue = 512, w = 200)
        self.widgets['priority']   = pm.intFieldGrp(parent = self.widgets['memPri'], label = 'Priority', columnWidth = [1,50], value1 = self.priority)
        
        #top middle row
        self.widgets['topMRow']    = pm.rowLayout(parent = self.widgets['mainForm'], numberOfColumns = 6, adjustableColumn6 = 3)
        self.widgets['sep']        = pm.separator(style = "none", w = 15)
        self.widgets['allLayers']  = pm.checkBox(label = 'All Layers', w = 110, value = True, cc = pm.Callback(self.setAllRenderable))
        self.widgets['postCopy']   = pm.checkBox(label = 'Post Copy', w = 100, value = True)
        self.widgets['byFrame']    = pm.intFieldGrp(label = 'By Frame', columnWidth = [1, 50], value1 = int(pm.SCENE.defaultRenderGlobals.byFrame.get()))
        self.widgets['padding']    = pm.intFieldGrp(label = 'Padding', columnWidth = [1, 50], value1 = int(pm.SCENE.defaultRenderGlobals.extensionPadding.get()))
        self.widgets['packet']     = pm.intFieldGrp(label = 'Packet', columnWidth = [1, 50], value1 = int(MusterSubmit.defaults['packet']))
        
        #main layout
        self.widgets['scrollLayout'] = pm.scrollLayout(parent = self.widgets['mainForm'], childResizable = True)
                
        #bottom row
        self.widgets['bottomRow'] = pm.rowLayout(numberOfColumns = 3, parent = self.widgets['mainForm'], adjustableColumn = 1)
        self.widgets['progress']  = pm.progressBar(w = 300, progress = -1)
        self.widgets['paused']    = pm.checkBox(label = 'Paused', w = 60)
        self.widgets['Submit']    = pm.button(label = 'Submit', w = 150, c = pm.Callback(self.submit))
        
        #form Layout
        self.widgets['mainForm'].attachForm(self.widgets['topLColumn'], 'top', 0)
        self.widgets['mainForm'].attachForm(self.widgets['topLColumn'], 'left', 0)
        self.widgets['mainForm'].attachNone(self.widgets['topLColumn'], 'bottom')
        self.widgets['mainForm'].attachPosition(self.widgets['topLColumn'], 'right', 0, 40)
        
        self.widgets['mainForm'].attachForm(self.widgets['topRColumn'], 'top', 0)
        self.widgets['mainForm'].attachControl(self.widgets['topRColumn'], 'left', 0, self.widgets['topLColumn'])
        self.widgets['mainForm'].attachNone(self.widgets['topRColumn'], 'bottom')
        self.widgets['mainForm'].attachForm(self.widgets['topRColumn'], 'right', 0)
        
        self.widgets['mainForm'].attachControl(self.widgets['topMRow'], 'top', 0, self.widgets['topRColumn'])
        self.widgets['mainForm'].attachForm(self.widgets['topMRow'], 'left', 0)
        self.widgets['mainForm'].attachNone(self.widgets['topMRow'], 'bottom')
        self.widgets['mainForm'].attachForm(self.widgets['topMRow'], 'right', 0)
        
        self.widgets['mainForm'].attachControl(self.widgets['scrollLayout'], 'top', 0, self.widgets['topMRow'])
        self.widgets['mainForm'].attachForm(self.widgets['scrollLayout'], 'left', 0)
        self.widgets['mainForm'].attachControl(self.widgets['scrollLayout'], 'bottom', 0, self.widgets['bottomRow'])
        self.widgets['mainForm'].attachForm(self.widgets['scrollLayout'], 'right', 0)
        
        self.widgets['mainForm'].attachNone(self.widgets['bottomRow'], 'top')
        self.widgets['mainForm'].attachForm(self.widgets['bottomRow'], 'left', 0)
        self.widgets['mainForm'].attachForm(self.widgets['bottomRow'], 'bottom', 0)
        self.widgets['mainForm'].attachForm(self.widgets['bottomRow'], 'right', 0)
        #end form layout
        
        self._populateUI()
        
        pm.scriptJob(uiDeleted = [self.widgets['mainWindow'].name(), pm.Callback(self.saveUI)])                           #saves ui settings to optionVar
        pm.scriptJob(e = ['renderLayerChange', pm.Callback(self.updateLayers)], p = self.widgets['mainWindow'].name())    #reloads layers scroll when a layer is created or deleted

        #show created ui
        self.widgets['mainWindow'].show()
        self.getOptionVars()
コード例 #52
0
ファイル: fx_renamer.py プロジェクト: Italic-/maya-prefs
    def ui_createUI(self):
        if pm.window(WIN_NAME, exists=True):
            pm.deleteUI(WIN_NAME, window=True)

        # TODO: need a window close event for saving prefs on [X] button click. pm.scriptJob(uiDeleted=(WIN_NAME, self.ui_saveSettings)) doesnt work cause ui elements already deleted. May be PythonAPI callbacks (Astus as an example)
        # TODO: looks like prefs are saved only on Close button click. Look to other PyMel UI Scripts

        with pm.window(
            WIN_NAME,
            title=WIN_TITLE,
            maximizeButton=False,
            menuBar=True,
            menuBarVisible=True
        ) as self.window:

            pm.setUITemplate('DefaultTemplate', pushTemplate=True)

            pm.menu(label='Edit', tearOff=False)
            pm.menuItem(label='Reset Settings', command=self.ui_resetSettings)
            pm.menu(label='Help', tearOff=False)
            pm.menuItem(label='Help on ' + WIN_TITLE, command=self.ui_showHelp)

            with pm.formLayout() as self.ui_LAY_mainForm:

                with pm.tabLayout(tabsVisible=False) as self.ui_TAB_top:
                    pm.tabLayout(self.ui_TAB_top, e=True, height=1)

                    with pm.formLayout() as self.ui_LAY_attachForm:

                        with pm.tabLayout(tabsVisible=False, scrollable=True, innerMarginWidth=4) as self.ui_TAB_inner:

                            with pm.columnLayout(adjustableColumn=True, rowSpacing=4) as self.ui_LAY_mainColumn:

                                # --------------------
                                with self.ui_createFrame('ui_LAY_frameOptions', 'Options') as self.ui_LAY_frameOptions:

                                    with pm.columnLayout(adjustableColumn=True):  # columnOffset=('both', 2)):

                                        self.ui_RADBTNGRP_shapeProcessing = pm.radioButtonGrp(
                                            'ui_RADBTNGRP_shapeProcessing',
                                            label='Shape Processing:',
                                            labelArray3=["Rename shapes according to it's transforms\n(even if it's not selected)",
                                                         "Don't rename shapes", 'Treat shapes as ordinary nodes'],
                                            numberOfRadioButtons=3,
                                            columnWidth=[1, UI_LABEL_WIDTH],
                                            columnAttach=[1, 'right', 5],
                                            vertical=True,
                                            select=SHAPE_PROCESSING_ACCORDING_TO_TRANSFORM
                                        )

                                        # pm.separator(style='none', height=2)

                                # --------------------
                                with self.ui_createFrame('ui_LAY_frameSimpleRename', 'Rename') as self.ui_LAY_frameSimpleRename:

                                    with pm.columnLayout(adjustableColumn=True, columnOffset=('both', 2)):

                                        self.ui_TXTFLDGRP_simpleRename = pm.textFieldGrp(
                                            'ui_TXTFLDGRP_simpleRename',
                                            label='New Name',
                                            columnWidth=[1, UI_LABEL_WIDTH],
                                            columnAttach=[1, 'right', 5],
                                            adjustableColumn=2
                                        )

                                        pm.separator(style='none', height=2)

                                        self.ui_BTN_simpleRename = pm.button(
                                            label='Rename',
                                            command=pm.Callback(self.ui_onRenameClick, RENAME_ACTION_SIMPLE_RENAME)
                                        )

                                        pm.separator(style='none', height=2)

                                # --------------------
                                with self.ui_createFrame('ui_LAY_frameFindReplace', 'Find and Replace') as self.ui_LAY_frameFindReplace:

                                    with pm.columnLayout(adjustableColumn=True, columnOffset=('both', 2)):

                                        self.ui_TXTFLDGRP_find = pm.textFieldGrp(
                                            'ui_TXTFLDGRP_find',
                                            label='Find',
                                            columnWidth=[1, UI_LABEL_WIDTH],
                                            columnAttach=[1, 'right', 5],
                                            adjustableColumn=2
                                        )

                                        self.ui_TXTFLDGRP_replace = pm.textFieldGrp(
                                            'ui_TXTFLDGRP_replace',
                                            label='Replace With',
                                            columnWidth=[1, UI_LABEL_WIDTH],
                                            columnAttach=[1, 'right', 5],
                                            adjustableColumn=2
                                        )

                                        pm.separator(style='none', height=2)

                                        self.ui_BTN_findReplace = pm.button(
                                            label='Find and Replace',
                                            command=pm.Callback(self.ui_onRenameClick, RENAME_ACTION_FIND_REPLACE)
                                        )

                                        pm.setParent(self.ui_LAY_mainColumn)

                                # --------------------
                                with self.ui_createFrame('ui_LAY_framePrefix', 'Add Prefix') as self.ui_LAY_framePrefix:

                                    with pm.columnLayout(adjustableColumn=True, columnOffset=('both', 2)):

                                        self.ui_TXTFLDGRP_prefix = pm.textFieldGrp(
                                            'ui_TXTFLDGRP_prefix',
                                            label='Prefix',
                                            columnWidth=[1, UI_LABEL_WIDTH],
                                            columnAttach=[1, 'right', 5],
                                            adjustableColumn=2
                                        )

                                        pm.separator(style='none', height=2)

                                        self.ui_BTN_prefix = pm.button(
                                            label='Add Prefix',
                                            command=pm.Callback(self.ui_onRenameClick, RENAME_ACTION_PREFIX)
                                        )

                                        pm.setParent(self.ui_LAY_mainColumn)

                                # --------------------
                                with self.ui_createFrame('ui_LAY_frameSuffix', 'Add Suffix') as self.ui_LAY_frameSuffix:

                                    with pm.columnLayout(adjustableColumn=True, columnOffset=('both', 2)):

                                        self.ui_TXTFLDGRP_suffix = pm.textFieldGrp(
                                            'ui_TXTFLDGRP_suffix',
                                            label='Suffix',
                                            columnWidth=[1, UI_LABEL_WIDTH],
                                            columnAttach=[1, 'right', 5],
                                            adjustableColumn=2
                                        )

                                        pm.separator(style='none', height=2)

                                        self.ui_BTN_prefix = pm.button(
                                            label='Add Suffix',
                                            command=pm.Callback(self.ui_onRenameClick, RENAME_ACTION_SUFFIX)
                                        )

                                # --------------------
                                with self.ui_createFrame('ui_LAY_frameRenameNumber', 'Rename and Number') as self.ui_LAY_frameRenameNumber:

                                    with pm.columnLayout(adjustableColumn=True, columnOffset=('both', 2)):

                                        with pm.frameLayout(
                                            labelVisible=False,
                                            collapsable=False,
                                            marginHeight=3,
                                            # borderStyle='in',
                                            # borderVisible=True,
                                            enable=False
                                        ):
                                            with pm.columnLayout(adjustableColumn=True, columnOffset=('both', 3)):

                                                helpText = ''
                                                helpText += 'Type "#" symbol(s) in New Name where you want to place numbering.\n'
                                                helpText += 'For example:\n'
                                                helpText += '   pCube#  ->  pCube1, pCube2, ..., pCube15, ...\n'
                                                helpText += '   pCube####  ->  pCube0001, pCube0002, ..., pCube0015, ...\n'
                                                helpText += '   obj_##_a  ->  obj_01_a, obj_02_a, ..., obj_15_a, ...\n'
                                                helpText += 'Omitting "#" will result in pattern:\n'
                                                helpText += '   pCube  ->  pCube1, pCube2, ..., pCube15, ...'
                                                self.ui_TXT_help = pm.text(helpText, align='left')

                                        pm.separator(style='none', height=2)

                                        self.ui_TXTFLDGRP_renameNumber = pm.textFieldGrp(
                                            'ui_TXTFLDGRP_renameNumber',
                                            label='New Name',
                                            columnWidth=[1, UI_LABEL_WIDTH],
                                            columnAttach=[1, 'right', 5],
                                            adjustableColumn=2
                                        )

                                        self.ui_INTFLDGRP_startIndex = pm.intFieldGrp(
                                            'ui_INTFLDGRP_startIndex',
                                            label='Start Index',
                                            columnWidth2=[UI_LABEL_WIDTH, 60],
                                            columnAttach=[1, 'right', 5]
                                        )

                                        pm.separator(style='none', height=2)

                                        self.ui_BTN_prefix = pm.button(
                                            label='Rename and Number',
                                            command=pm.Callback(self.ui_onRenameClick, RENAME_ACTION_NUMBER)
                                        )

                self.ui_BTN_close = pm.button(
                    label='Close',
                    height=30,
                    command=self.ui_close
                )

        pm.setUITemplate('DefaultTemplate', popTemplate=True)

        self.ui_LAY_attachForm.attachForm(self.ui_TAB_inner, 'top', 0)
        self.ui_LAY_attachForm.attachForm(self.ui_TAB_inner, 'left', 0)
        self.ui_LAY_attachForm.attachForm(self.ui_TAB_inner, 'right', 0)
        self.ui_LAY_attachForm.attachForm(self.ui_TAB_inner, 'bottom', 0)

        self.ui_LAY_mainForm.attachForm(self.ui_TAB_top, 'top', 0)
        self.ui_LAY_mainForm.attachForm(self.ui_TAB_top, 'left', 0)
        self.ui_LAY_mainForm.attachForm(self.ui_TAB_top, 'right', 0)
        self.ui_LAY_mainForm.attachControl(self.ui_TAB_top, 'bottom', 5, self.ui_BTN_close)

        self.ui_LAY_mainForm.attachNone(self.ui_BTN_close, 'top')
        self.ui_LAY_mainForm.attachForm(self.ui_BTN_close, 'left', 5)
        self.ui_LAY_mainForm.attachForm(self.ui_BTN_close, 'bottom', 5)
        self.ui_LAY_mainForm.attachForm(self.ui_BTN_close, 'right', 5)

        self.window.show()
        pm.refresh()
コード例 #53
0
def jointSkeleton(*args):
	Input_spineJoints = pm.intFieldGrp("spineNumberField", q=True, v1=True)
	AutoRig_JT.createJoints(Input_spineJoints)
コード例 #54
0
    def create(self):
        # Create default render globals node if needed.
        createGlobalNodes()

        parentForm = pm.setParent(query=True)
        pm.setUITemplate("renderGlobalsTemplate", pushTemplate=True)
        pm.setUITemplate("attributeEditorTemplate", pushTemplate=True)

        columnWidth = 400

        with pm.scrollLayout("appleseedScrollLayout", horizontalScrollBarThickness=0):
            with pm.columnLayout("appleseedColumnLayout", adjustableColumn=True, width=columnWidth):
                with pm.frameLayout(label="Sampling", collapsable=True, collapse=False):
                    with pm.columnLayout("appleseedColumnLayout", adjustableColumn=True, width=columnWidth):
                        self._addControl(
                            ui=pm.intFieldGrp(
                                label="Render Passes", numberOfFields=1),
                            attrName="passes")

                        self._addControl(
                            ui=pm.checkBoxGrp(
                                label="Adaptive Sampling", changeCommand=self.__adaptiveSamplerChanged),
                            attrName="adaptiveSampling")

                        adaptiveSampling = mc.getAttr("appleseedRenderGlobals.adaptiveSampling")

                        self._addControl(
                            ui=pm.intFieldGrp(
                                label="Min Samples", numberOfFields=1, enable=adaptiveSampling),
                            attrName="minPixelSamples")
                        self._addControl(
                            ui=pm.intFieldGrp(
                                label="Max Samples", numberOfFields=1),
                            attrName="samples")
                        self._addControl(
                            ui=pm.intFieldGrp(
                                label="Batch Sample Size", numberOfFields=1, enable=adaptiveSampling),
                            attrName="batchSampleSize")
                        self._addControl(
                            ui=pm.floatFieldGrp(
                                label="Noise Threshold", numberOfFields=1, enable=adaptiveSampling),
                            attrName="sampleNoiseThreshold")

                        self._addControl(
                            ui=pm.attrEnumOptionMenuGrp(
                                label="Pixel Filter",
                                enumeratedItem=self._getAttributeMenuItems("pixelFilter")),
                            attrName="pixelFilter")
                        self._addControl(
                            ui=pm.floatFieldGrp(
                                label="Pixel Filter Size", numberOfFields=1),
                            attrName="pixelFilterSize")
                        self._addControl(
                            ui=pm.intFieldGrp(
                                label="Tile Size", numberOfFields=1),
                            attrName="tileSize")

                with pm.frameLayout(label="Lighting", collapsable=True, collapse=False):
                    with pm.columnLayout("appleseedColumnLayout", adjustableColumn=True, width=columnWidth):
                        self._addControl(
                            ui=pm.attrEnumOptionMenuGrp(
                                label="Lighting Engine",
                                enumeratedItem=self._getAttributeMenuItems("lightingEngine")),
                            attrName="lightingEngine")

                        with pm.frameLayout(label="Path Tracing", collapsable=True, collapse=False):
                            with pm.columnLayout("appleseedColumnLayout", adjustableColumn=True, width=columnWidth):
                                self._addControl(
                                    ui=pm.checkBoxGrp(
                                        label="Limit Bounces", changeCommand=self.__limitBouncesChanged),
                                    attrName="limitBounces")
                                limitBounces = mc.getAttr(
                                    "appleseedRenderGlobals.limitBounces")
                                self._addControl(
                                    ui=pm.intFieldGrp(
                                        label="Global Bounces", numberOfFields=1, enable=limitBounces),
                                    attrName="bounces")
                                self._addControl(
                                    ui=pm.intFieldGrp(
                                        label="Diffuse Bounces", numberOfFields=1, enable=limitBounces),
                                    attrName="diffuseBounces")
                                self._addControl(
                                    ui=pm.intFieldGrp(
                                        label="Glossy Bounces", numberOfFields=1, enable=limitBounces),
                                    attrName="glossyBounces")
                                self._addControl(
                                    ui=pm.intFieldGrp(
                                        label="Specular Bounces", numberOfFields=1, enable=limitBounces),
                                    attrName="specularBounces")
                                self._addControl(
                                    ui=pm.floatFieldGrp(
                                        label="Light Samples", numberOfFields=1),
                                    attrName="lightSamples")
                                self._addControl(
                                    ui=pm.floatFieldGrp(
                                        label="Environment Samples", numberOfFields=1),
                                    attrName="envSamples")
                                self._addControl(
                                    ui=pm.checkBoxGrp(label="Clamp Roughness"),
                                    attrName="clampRoughness")
                                self._addControl(
                                    ui=pm.checkBoxGrp(label="Caustics"),
                                    attrName="caustics")
                                self._addControl(
                                    ui=pm.floatFieldGrp(
                                        label="Max Ray Intensity", numberOfFields=1),
                                    attrName="maxRayIntensity")

                with pm.frameLayout(label="Scene", collapsable=True, collapse=False):
                    with pm.columnLayout("appleseedColumnLayout", adjustableColumn=True, width=columnWidth):
                        self._addControl(
                            ui=pm.attrEnumOptionMenuGrp(
                                label="Override Shaders",
                                enumeratedItem=self._getAttributeMenuItems("diagnostics")),
                            attrName="diagnostics")

                        self._addControl(
                            ui=pm.floatFieldGrp(
                                label="Scene Scale", numberOfFields=1),
                            attrName="sceneScale")

                        with pm.rowLayout("appleseedRowLayout", nc=3):
                            pm.text("Environment Light")
                            ui = pm.optionMenu(
                                changeCommand=self.__environmentLightSelected)

                            pm.menuItem(label="<none>")
                            for envLight in g_environmentLightsList:
                                pm.menuItem(parent=ui, label=envLight)

                            # Set the currently selected environment light in the menu.
                            connections = mc.listConnections(
                                "appleseedRenderGlobals.envLight")
                            if connections:
                                node = connections[0]
                                if mc.nodeType(node) == "transform":
                                    shapes = mc.listRelatives(node, shapes=True)
                                    assert shapes
                                    node = shapes[0]
                                    pm.optionMenu(ui, edit=True, value=node)
                            else:
                                pm.optionMenu(ui, edit=True, value="<none>")

                            self._uis["envLight"] = ui
                            logger.debug(
                                "Created globals env light menu, name = %s" % ui)

                        self._addControl(
                            ui=pm.checkBoxGrp(label="Environment Visible"),
                            attrName="bgLight")

                with pm.frameLayout(label="Motion Blur", collapsable=True, collapse=True):
                    with pm.columnLayout("appleseedColumnLayout", adjustableColumn=True, width=columnWidth):
                        self._addControl(
                            ui=pm.checkBoxGrp(
                                label="Motion Blur", changeCommand=self.__motionBlurChanged),
                            attrName="motionBlur")

                        enableMotionBlur = mc.getAttr(
                            "appleseedRenderGlobals.motionBlur")
                        self._addControl(
                            ui=pm.intFieldGrp(
                                label="Camera Samples", numberOfFields=1, enable=enableMotionBlur),
                            attrName="mbCameraSamples")
                        self._addControl(
                            ui=pm.intFieldGrp(
                                label="Transformation Samples", numberOfFields=1, enable=enableMotionBlur),
                            attrName="mbTransformSamples")
                        self._addControl(
                            ui=pm.intFieldGrp(
                                label="Deformation Samples", numberOfFields=1, enable=enableMotionBlur),
                            attrName="mbDeformSamples")
                        self._addControl(
                            ui=pm.floatFieldGrp(
                                label="Shutter Open", numberOfFields=1, enable=enableMotionBlur),
                            attrName="shutterOpen")
                        self._addControl(
                            ui=pm.floatFieldGrp(
                                label="Shutter Close", numberOfFields=1, enable=enableMotionBlur),
                            attrName="shutterClose")

                with pm.frameLayout(label="System", collapsable=True, collapse=False):
                    with pm.columnLayout("appleseedColumnLayout", adjustableColumn=True, width=columnWidth):
                        self._addControl(
                            ui=pm.intFieldGrp(
                                label="Threads", numberOfFields=1),
                            attrName="threads")
                        self._addControl(
                            ui=pm.intFieldGrp(
                                label="Texture Cache Size (MB)", numberOfFields=1),
                            attrName="maxTexCacheSize")

                with pm.frameLayout(label="Experimental", collapsable=True, collapse=False):
                    with pm.columnLayout("appleseedColumnLayout", adjustableColumn=True, width=columnWidth):
                        self._addControl(
                            ui=pm.checkBoxGrp(label="Use Embree"),
                            attrName="useEmbree")

        pm.setUITemplate("renderGlobalsTemplate", popTemplate=True)
        pm.setUITemplate("attributeEditorTemplate", popTemplate=True)
        pm.formLayout(
            parentForm,
            edit=True,
            attachForm=[
                ("appleseedScrollLayout", "top", 0),
                ("appleseedScrollLayout", "bottom", 0),
                ("appleseedScrollLayout", "left", 0),
                ("appleseedScrollLayout", "right", 0)])

        logger.debug("Created appleseed render global main tab")

        # Update the newly created tab.
        self.update()
コード例 #55
0
def AutoRig_UI():
    
    if pm.window("AutoRig_JT", q=True, exists = True):
            pm.deleteUI("AutoRig_JT")
    
    windowUI = pm.window("AutoRig_JT",titleBarMenu=True, menuBar=True, mxb = False, t="AutoRig_JT", w = 300, h = 500, sizeable = False, bgc=[0.15,0.15,0.15],maximizeButton=False)
	
    pm.menu( label='File', tearOff=True )
    pm.menuItem( label='Quit', c = partial(quit, "AutoRig_JT"))
    pm.menu( label='Help', helpMenu=True )
    pm.menuItem( 'Application..."', label='About Creator', c = about )
    pm.menuItem( 'Instructions', label='Instructions', c = instructions )
	
		
    mainLayout = pm.columnLayout(adj = True, w=300, h=700)

    # unique UI stuff

    imagePath = pm.internalVar(upd = True) + "icons/autoRig_banner.jpg"
    pm.image(w = 300, h = 100,image = imagePath, parent = mainLayout)
    pm.separator(style = 'none', h=20)

    pm.rowColumnLayout(nc = 2, cw = [(1,100),(2,200)],parent = mainLayout, columnOffset = ([(1,"left",10),(2,"left",0)]))

    pm.text(l='    Rig_Prefix : ')

    RigPrefix = pm.textFieldGrp("RigPrefix",tx='Character_',w=80) 

    pm.separator(style = 'none', h=20)
    pm.separator(style = 'none', h=20)
	
    
	
    pm.text(l='Spine Joints : ')
    spineNumberField = pm.intFieldGrp("spineNumberField",numberOfFields=1,v1=3,w=190)
	
    pm.setParent(u=True)
	
	
    pm.separator(style = 'none', h=20)
    pm.separator(style = 'none', h=20)

    pm.separator(style = 'none',h=20)
    pm.button(l='Create Reference Skeleton',c=referenceSkeleton, w=190,h=40,bgc=[0.2,0.2,0.2])

    pm.separator(style = 'none', h=20)

    pm.button(l='Mirror Locators (X+ to -X) (edit)', c=mirrorLocators, w=190, h=40, bgc=[0.2, 0.2, 0.2])

    pm.separator(style='none', h=20)
    
    pm.button(l='Create Joint Skeleton (edit)', c=jointSkeleton, w=190, h=40, bgc=[0.2, 0.2, 0.2])

    pm.separator(style='none', h=20)
    
    pm.radioButtonGrp('ZAxisOption', label='Z Align Axis', labelArray3=['X', 'Y', 'Z'], numberOfRadioButtons=3,cw=[(1,70),(2,35),(3,35)] )

    pm.radioButtonGrp('directionOption', label='+ or -', labelArray2=['+', '-'], numberOfRadioButtons=2,cw=[(1,70),(2,35)] )
    
    pm.button(l='Align Joints (select joints in chain you want to align)', c=alignChain, w=190, h=40, bgc=[0.2, 0.2, 0.2])

    pm.separator(style='none', h=20)

    pm.button(l='Finalize Rig',c=finalize, w=190,h=40,bgc=[0.2,0.2,0.2])

    pm.separator(style = 'none', h=20)


    pm.button(l='Exit',c=partial(quit,"AutoRig_JT"), w=190,h=40,bgc=[0.2,0.2,0.2])	

    print windowUI

    pm.showWindow(windowUI)
	
    pm.window("AutoRig_JT", e=True,w=300,h=600)
コード例 #56
0
    def create(self):
        # Create default render globals node if needed.
        createGlobalNodes()

        parentForm = pm.setParent(query=True)
        pm.setUITemplate("renderGlobalsTemplate", pushTemplate=True)
        pm.setUITemplate("attributeEditorTemplate", pushTemplate=True)

        columnWidth = 400

        with pm.scrollLayout("outputScrollLayout", horizontalScrollBarThickness=0):
            with pm.columnLayout("outputColumnLayout", adjustableColumn=True, width=columnWidth):
                with pm.frameLayout(label="AOVs", collapsable=True, collapse=False):
                    with pm.columnLayout("outputColumnLayout", adjustableColumn=True, width=columnWidth):
                        self._addControl(ui=pm.checkBoxGrp(label="Diffuse"), attrName="diffuseAOV")
                        self._addControl(ui=pm.checkBoxGrp(label="Glossy"), attrName="glossyAOV")
                        self._addControl(ui=pm.checkBoxGrp(label="Emission"), attrName="emissionAOV")

                        self._addControl(ui=pm.checkBoxGrp(label="Direct Diffuse"), attrName="directDiffuseAOV")
                        self._addControl(ui=pm.checkBoxGrp(label="Indirect Diffuse"), attrName="indirectDiffuseAOV")

                        self._addControl(ui=pm.checkBoxGrp(label="Direct Glossy"), attrName="directGlossyAOV")
                        self._addControl(ui=pm.checkBoxGrp(label="Indirect Glossy"), attrName="indirectGlossyAOV")

                        self._addControl(ui=pm.checkBoxGrp(label="Albedo"), attrName="albedoAOV")
                        self._addControl(ui=pm.checkBoxGrp(label="Normal"), attrName="normalAOV")

                        self._addControl(ui=pm.checkBoxGrp(label="UV"), attrName="uvAOV")
                        self._addControl(ui=pm.checkBoxGrp(label="Depth"), attrName="depthAOV")

                        self._addControl(ui=pm.checkBoxGrp(label="NPR Shading"), attrName="nprShadingAOV")
                        self._addControl(ui=pm.checkBoxGrp(label="NPR Contours"), attrName="nprContourAOV")

                with pm.frameLayout(label="Denoiser", collapsable=True, collapse=True):
                    with pm.columnLayout("outputColumnLayout", adjustableColumn=True, width=columnWidth):
                        self._addControl(
                            ui=pm.attrEnumOptionMenuGrp(
                                label="Denoiser",
                                enumeratedItem=self._getAttributeMenuItems("denoiser")),
                            attrName="denoiser")

                        self._addControl(
                            ui=pm.checkBoxGrp(
                                label="Skip Already Denoised"),
                            attrName="skipDenoised")

                        self._addControl(
                            ui=pm.checkBoxGrp(
                                label="Random Pixel Order"),
                            attrName="randomPixelOrder")

                        enablePrefilter = mc.getAttr(
                            "appleseedRenderGlobals.prefilterSpikes")
                        self._addControl(
                            ui=pm.checkBoxGrp(
                                label="Prefilter Spikes",
                                changeCommand=self.__prefilterChanged),
                            attrName="prefilterSpikes")
                        self._addControl(
                            ui=pm.floatFieldGrp(
                                label="Spike Thereshold", numberOfFields=1, enable=enablePrefilter),
                            attrName="spikeThreshold")

                        self._addControl(
                            ui=pm.floatFieldGrp(
                                label="Patch Distance", numberOfFields=1),
                            attrName="patchDistance")
                        self._addControl(
                            ui=pm.intFieldGrp(
                                label="Denoise Scales", numberOfFields=1),
                            attrName="denoiseScales")

                with pm.frameLayout(label="Render Stamp", collapsable=True, collapse=True):
                    with pm.columnLayout("outputColumnLayout", adjustableColumn=True, width=columnWidth):
                        self._addControl(ui=pm.checkBoxGrp(label="Enable"), attrName="renderStamp")
                        self._addControl(
                            ui=pm.textFieldGrp(
                                label='Render Stamp'),
                            attrName="renderStampString")

                with pm.frameLayout(label="Logging", collapsable=True, collapse=True):
                    with pm.columnLayout("outputColumnLayout", adjustableColumn=True, width=columnWidth):
                        self._addControl(
                            ui=pm.attrEnumOptionMenuGrp(
                                label="Log Level",
                                enumeratedItem=self._getAttributeMenuItems("logLevel")),
                            attrName="logLevel")

                        self._addControl(
                            ui=pm.textFieldButtonGrp(
                                label='Log Filename',
                                buttonLabel='...',
                                buttonCommand=self.__chooseLogFilename),
                            attrName="logFilename")

        pm.setUITemplate("renderGlobalsTemplate", popTemplate=True)
        pm.setUITemplate("attributeEditorTemplate", popTemplate=True)
        pm.formLayout(
            parentForm,
            edit=True,
            attachForm=[
                ("outputScrollLayout", "top", 0),
                ("outputScrollLayout", "bottom", 0),
                ("outputScrollLayout", "left", 0),
                ("outputScrollLayout", "right", 0)])

        logger.debug("Created appleseed render global output tab")

        # Update the newly created tab.
        self.update()