コード例 #1
0
ファイル: lightGirl.py プロジェクト: worrytron/cg
    def build(self, light_obj, parent):
        """
        Generates the frameLayout element, along with its children.
        Returns the element as a pymel object.
        """
        self.element = pm.frameLayout( l=self.name, 
                                       fn='smallBoldLabelFont', 
                                       mh=5, bv=True, ebg=True, 
                                       cll=True, cl=True, 
                                       parent=parent
                                       )
        col = pm.columnLayout()
        
        # light color selector
        slider = pm.colorSliderGrp( label='Light Color',
                                    rgb=light_obj.color.get(),
                                    cw=[self.labelWidth,(2,75),(3,0)],
                                    p=col
                                    )
        pm.colorSliderGrp ( slider,
                            edit=True,
                            cc=lambda *args: light_obj.color.set(pm.colorSliderGrp(slider, q=True, rgbValue=True))
                            )

        # intensity 
        intensity = pm.floatFieldGrp( value=(light_obj.intensity.get(),0,0,0),
                                      label='Intensity',
                                      cw=[self.labelWidth,(2,75)],
                                      nf=1,
                                      p=col
                                      )

        #self.element.redistribute()
        return self.element    
コード例 #2
0
def updateColor(sel, ui_obj, col=None):
    sel = convertSel(sel, sh=True)
    if col == 'R' or col == 'r':
        pm.colorSliderGrp(ui_obj, edit=True, rgb=(1, 0, 0))
    elif col == 'G' or col == 'g':
        pm.colorSliderGrp(ui_obj, edit=True, rgb=(0, 1, 0))
    elif col == 'B' or col == 'b':
        pm.colorSliderGrp(ui_obj, edit=True, rgb=(0, 0, 1))
    elif col == 'K' or col == 'k':
        pm.colorSliderGrp(ui_obj, edit=True, rgb=(0, 0, 0))

    col = pm.colorSliderGrp(ui_obj, query=True, rgb=True)
    cid = pm.colorSliderGrp(ui_obj, query=True, label=True)

    [obj.attr('vrayUserColor_' + cid).set(col) for obj in sel]
コード例 #3
0
def multi_colorChange(attr, lightType, component, *args):
	value = pm.colorSliderGrp(component, q=True, rgb=True)
	sel_lights = pm.ls(sl=True, lights=True, dag=True)
	new_list = sortBy_type(sel_lights, lightType)
	
	for each in new_list:
		pm.setAttr(each+attr, value)
コード例 #4
0
def multi_BasicSettings():
	# Basic Settings
	pm.text(l='', h=5)
	multi_nameField = pm.textFieldGrp('hp3dNameField', l='Name', text='', cw=[2, 150], cc=fun.partial(multi_nameChange, 'hp3dNameField'), fcc=True)

	pm.rowColumnLayout(nc=2)
	pm.text(l='Basic Settings', w=75, al='left', en=False)
	pm.separator(w=marginWidth-75, h=14)
	pm.setParent(multiLight_layout)

	multi_color = pm.colorSliderGrp('hp3dColorSlider', label='Color', rgb=(1, 1, 1), cw=[3, 20], dc=fun.partial(multi_colorChange, '.color', 'all', 'hp3dColorSlider'))
	multi_intensity = pm.floatSliderGrp('hp3dIntensitySlider', label='Intensity', field=True, v=1.000, fmx=1000000000, pre=3, cw=[3, 20], dc=fun.partial(multi_floatChange, '.intensity', 'all', 'hp3dIntensitySlider'))

	# pm.text(l='', h=3) # GUI SPACER
	pm.rowColumnLayout(nc=2)
	pm.text(l='', w=142) # GUI SPACER
	global multi_illDefault_box
	multi_illDefault_box = pm.checkBox(l='Illuminates by Default', v=1, cc=multi_illDefault)
	pm.setParent(multiLight_layout)

	pm.rowColumnLayout(nc=3)
	pm.text(l='', w=142) # GUI SPACER
	multi_emitDiff_box = pm.checkBox('hp3dEmitDiffCheckbox', l='Emit Diffuse', v=1, w=120, cc=fun.partial(multi_checkboxChange, '.emitDiffuse', 'all', 'hp3dEmitDiffCheckbox'))
	multi_emitSpec_box = pm.checkBox('hp3dEmitSpecCheckbox', l='Emit Specular', v=1, cc=fun.partial(multi_checkboxChange, '.emitSpecular', 'all', 'hp3dEmitSpecCheckbox'))
	pm.setParent(multiLight_layout)

	pm.rowColumnLayout(nc=3)
	pm.text(l='Decay Rate', w=140, al='right')
	pm.text(l='', w=3)
	multi_decayRate_menu = pm.optionMenu('hp3dDecayRateMenu', bgc=primary_componentColor, cc=fun.partial(multi_menuChange, '.decayRate', 'not directional', 'hp3dDecayRateMenu'))
	pm.menuItem(l='No Decay', da=0)
	pm.menuItem(l='Linear', da=1)
	pm.menuItem(l='Quadratic', da=2)
	pm.menuItem(l='Cubic', da=3)
	pm.setParent(multiLight_layout)
コード例 #5
0
ファイル: cfb_ui.py プロジェクト: worrytron/pipeline
def lookupTricode(*a):
    def _lookup(*a):
        _team = team.Team(pm.textFieldGrp(text, q=True, text=True))

        try:
            _tri = _team.tricode
        except AttributeError:
            _tri = None

        if _tri:
            pm.text(tri,
                    edit=True,
                    label='         Tricode :  ' + str(_team.tricode))
            pm.colorSliderGrp(color_pri,
                              edit=True,
                              rgb=rendering.convertColor(_team.primary))
            pm.colorSliderGrp(color_sec,
                              edit=True,
                              rgb=rendering.convertColor(_team.secondary))
        else:
            pm.text(tri, edit=True, label='         Tricode :  NOT FOUND')

    try:
        pm.deleteUI('lookupTricode')
    except:
        pass

    win = pm.window('lookupTricode',
                    tlb=True,
                    rtf=True,
                    s=False,
                    title='Lookup Team Tricode')
    lay = pm.verticalLayout(width=200, p=win)
    text = pm.textFieldGrp(label='Team Name : ',
                           p=lay,
                           cw2=(70, 130),
                           cc=_lookup)
    tri = pm.text(label='         Tricode : ', p=lay, align='left')
    color_pri = pm.colorSliderGrp(label='Primary : ',
                                  rgb=(0, 0, 0),
                                  cw3=(70, 130, 0))
    color_sec = pm.colorSliderGrp(label='Secondary : ',
                                  rgb=(0, 0, 0),
                                  cw3=(70, 130, 0))
    lay.redistribute()

    win.show()
コード例 #6
0
def cam_set_cam_attrs(cameraListDropdown, *args, **kwargs):
  ''' '''
  camera = cameraListDropdown.getValue()
  focalLength = pm.floatField(prefix+'_floatField_focal_length', query=True, value=True)
  nearClip = pm.floatField(prefix+'_floatField_near_clip_plane', query=True, value=True)
  farClip = pm.floatField(prefix+'_floatField_far_clip_plane', query=True, value=True)
  overscan = pm.floatField(prefix+'_floatField_overscan', query=True, value=True)
  bkgdColor = pm.colorSliderGrp(prefix+'_colorSliderGrp_background_color', query=True, rgb=True )
  topColor = pm.colorSliderGrp(prefix+'_colorSliderGrp_gradient_top', query=True, rgb=True )
  bottomColor = pm.colorSliderGrp(prefix+'_colorSliderGrp_gradient_bottom', query=True, rgb=True )
  
  pm.setAttr(camera+'.focalLength', focalLength)
  pm.setAttr(camera+'.nearClipPlane', nearClip)
  pm.setAttr(camera+'.farClipPlane', farClip)
  pm.setAttr(camera+'.overscan', overscan)
  pm.displayRGBColor('background', bkgdColor[0], bkgdColor[1], bkgdColor[2])
  pm.displayRGBColor('backgroundTop', topColor[0], topColor[1], topColor[2])
  pm.displayRGBColor('backgroundBottom', bottomColor[0], bottomColor[1], bottomColor[2])
コード例 #7
0
ファイル: pbUV.py プロジェクト: aaronfang/pbUV
 def __init__(self, opts):
     self.opts = opts
     with pm.frameLayout(l='UV Snapshot:', cll=True, cl=False, bs='out'):
         with pm.columnLayout(width=162):
             self.path = pm.textFieldButtonGrp(l='Path:', bl='...', cw3=[28, 104, 32], bc=self.set_path)
             self.col = pm.colorSliderGrp(l='Color:', cw3=[32, 48, 74])
             with pm.rowLayout(nc=2):
                 self.of = pm.checkBox(l='Open File')
                 self.aa = pm.checkBox(l='Anti-Alias', v=True)
             pm.button(l='Save Snapshot', width=156, c=self.snap_shot)
コード例 #8
0
ファイル: cfb_ui.py プロジェクト: worrytron/pipeline
    def _lookup(*a):
        _team = team.Team(pm.textFieldGrp(text, q=True, text=True))

        try:
            _tri = _team.tricode
        except AttributeError:
            _tri = None

        if _tri:
            pm.text(tri,
                    edit=True,
                    label='         Tricode :  ' + str(_team.tricode))
            pm.colorSliderGrp(color_pri,
                              edit=True,
                              rgb=rendering.convertColor(_team.primary))
            pm.colorSliderGrp(color_sec,
                              edit=True,
                              rgb=rendering.convertColor(_team.secondary))
        else:
            pm.text(tri, edit=True, label='         Tricode :  NOT FOUND')
コード例 #9
0
def getUserColorAttr(sel, ui_obj, mat_id):
    sel = convertSel(sel, sh=True)
    col_list = set([])
    outColor = (0, 0, 0)

    for obj in sel:
        try:
            col_list.add(obj.attr('vrayUserColor_matte' + mat_id).get())
        except:
            pass

    if len(col_list) == 1:
        outColor = col_list.pop()

    elif len(col_list) > 1:
        outColor = (0.27, 0.27, 0.27)

    else:
        pm.warning('Error retrieving matte' + mat_id + ' color value.')

    pm.colorSliderGrp(ui_obj, edit=True, rgb=outColor)
コード例 #10
0
def lcCameraToolsUI(dockable=False, *args, **kwargs):
  ''' '''
  ci = 0 #color index iterator
  windowName = 'lcCameraTools'
  shelfCommand = 'import lct.src.lcCameraTools.lcCameraTools as lcCam\nreload(lcCam)\nlcCam.lcCameraToolsUI()'
  icon = basePath+'lcCameraTools.png'
  winWidth  = 204
  winHeight = 209
  
  mainWindow = lcWindow(windowName=windowName, width=winWidth, height=winHeight, icon=icon, shelfCommand=shelfCommand, annotation=annotation, dockable=dockable, menuBar=True)
  mainWindow.create()
  pm.menu(l='Options', helpMenu=True)
  pm.menuItem(l='Reset Gradient Colors', command=lambda *args: cam_set_default_colors() )

  #
  pm.columnLayout(prefix+'_columLayout_main')
  
  #
  pm.rowColumnLayout(nc=2, cw=([1,50], [2,150]) )
  pm.text(l='Edit:', al='right')
  cameraListDropdown = pm.optionMenu(prefix+'_optionMenu_camera_list', bgc=colorWheel.getColorRGB(ci), w=150, h=25 )
  ci+=1
  cameraListDropdown.changeCommand(lambda *args: cam_get_cam_attrs(cameraListDropdown) )
  pm.setParent(prefix+'_columLayout_main')
  
  #  
  pm.rowColumnLayout(nc=2, cw=([1,125], [2,75]) )
  pm.text(l='Focal Length:', al='right')
  pm.floatField(prefix+'_floatField_focal_length', min=0.0, v=0.0, pre=1, w=75, changeCommand=lambda *args: cam_set_cam_attrs(cameraListDropdown), receiveFocusCommand=lambda *args: cam_set_cam_attrs(cameraListDropdown) )
  pm.text(l='Near Clip Plane:', al='right')
  pm.floatField(prefix+'_floatField_near_clip_plane', min=0.0, v=0.0, pre=4, w=75, changeCommand=lambda *args: cam_set_cam_attrs(cameraListDropdown), receiveFocusCommand=lambda *args: cam_set_cam_attrs(cameraListDropdown) )
  pm.text(l='Far Clip Plane:', al='right')
  pm.floatField(prefix+'_floatField_far_clip_plane', min=0.0, v=0.0, pre=0, w=75, changeCommand=lambda *args: cam_set_cam_attrs(cameraListDropdown), receiveFocusCommand=lambda *args: cam_set_cam_attrs(cameraListDropdown) )
  pm.text(l='Overscan:', al='right')
  pm.floatField(prefix+'_floatField_overscan', min=0.0, v=0.0, pre=3, w=75, changeCommand=lambda *args: cam_set_cam_attrs(cameraListDropdown), receiveFocusCommand=lambda *args: cam_set_cam_attrs(cameraListDropdown) )
  pm.text(l='Background Color:', al='right')
  pm.colorSliderGrp(prefix+'_colorSliderGrp_background_color', cw1=50, rgb=(0.0,0.0,0.0), changeCommand=lambda *args: cam_set_cam_attrs(cameraListDropdown) )
  pm.text(l='Gradient Top:', al='right')
  pm.colorSliderGrp(prefix+'_colorSliderGrp_gradient_top', cw1=50, rgb=(0.54,0.62,0.70), changeCommand=lambda *args: cam_set_cam_attrs(cameraListDropdown) )
  pm.text(l='Gradient Bottom:', al='right')
  pm.colorSliderGrp(prefix+'_colorSliderGrp_gradient_bottom', cw1=50, rgb=(0.1,0.1,0.1), changeCommand=lambda *args: cam_set_cam_attrs(cameraListDropdown) )
  pm.setParent(prefix+'_columLayout_main')
  
  #
  pm.rowColumnLayout(nc=2, cw=([1,175], [2,25]) )
  pm.button(prefix+'_button_toggle_bkgd', l='Toggle Background', bgc=colorWheel.getColorRGB(ci), w=200, h=25, annotation='Toggle between flat color and gradient background', command=lambda *args: camera.toggleBackground() )
  ci+=1
  pm.iconTextButton(w=25, h=25, style='iconOnly', image=iconBasePath+'addToShelf.png', highlightImage=iconBasePath+'addToShelf_over.png', annotation='Add to Shelf', command=lambda *args: shelf.makeShelfButton('Toggle Camera Background', 'from lct.src.core.lcUtility import Camera as camera\ncamera.toggleBackground()', iconBasePath+'toggleBackground.png', "Toggle Camera's Viewport Background") )

  #
  mainWindow.show()
  
  cam_populate_camera_list(cameraListDropdown)  
  cam_get_cam_attrs(cameraListDropdown)
コード例 #11
0
def cam_set_default_colors(*args, **kwargs):
  ''' '''  
  pm.displayRGBColor('background', 0.0, 0.0, 0.0)
  pm.displayRGBColor('backgroundTop', 0.54, 0.62, 0.70)
  pm.displayRGBColor('backgroundBottom', 0.1, 0.1, 0.1)
  
  bkgdColor = pm.displayRGBColor('background', query=True)
  topColor = pm.displayRGBColor('backgroundTop', query=True)
  bottomColor = pm.displayRGBColor('backgroundBottom', query=True)
  
  pm.colorSliderGrp(prefix+'_colorSliderGrp_background_color', edit=True, rgb=bkgdColor )
  pm.colorSliderGrp(prefix+'_colorSliderGrp_gradient_top', edit=True, rgb=topColor )
  pm.colorSliderGrp(prefix+'_colorSliderGrp_gradient_bottom', edit=True, rgb=bottomColor )
  
コード例 #12
0
ファイル: light_rig.py プロジェクト: creuter23/fs-tech-artist
 def __init__(self):
     '''
     # the duplicate light class
     # has options for the replication of lights
     '''
     self.layout = pm.columnLayout(adjustableColumn= True)
     pm.rowColumnLayout(numberOfColumns= 2,columnWidth= ([1, 250], [2, 250]),
                        columnAlign= ([1, 'center'], [2, 'center']))
     
     self.override_intensity = pm.checkBox(label= 'Override Intensity',
                                     changeCommand= self.override_intensity)
     self.int_slider = pm.intSliderGrp(field= True, enable= False,
                                       min=-500, max=500)
     
     self.override_color = pm.checkBox(label= 'Override Color',
                                     changeCommand= self.override_color)
     self.color_slider = pm.colorSliderGrp(rgb=(0, 0, 1), enable= False)
     
     self.xform = pm.checkBox(label= 'Apply Transforms')
     pm.button(label= 'Duplicate', command= self.duplicate)
コード例 #13
0
    def __init__(self):
        '''
        # the duplicate light class
        # has options for the replication of lights
        '''
        self.layout = pm.columnLayout(adjustableColumn=True)
        pm.rowColumnLayout(numberOfColumns=2,
                           columnWidth=([1, 250], [2, 250]),
                           columnAlign=([1, 'center'], [2, 'center']))

        self.override_intensity = pm.checkBox(
            label='Override Intensity', changeCommand=self.override_intensity)
        self.int_slider = pm.intSliderGrp(field=True,
                                          enable=False,
                                          min=-500,
                                          max=500)

        self.override_color = pm.checkBox(label='Override Color',
                                          changeCommand=self.override_color)
        self.color_slider = pm.colorSliderGrp(rgb=(0, 0, 1), enable=False)

        self.xform = pm.checkBox(label='Apply Transforms')
        pm.button(label='Duplicate', command=self.duplicate)
コード例 #14
0
    def UIelement(self):
        box = pm.rowLayout(nc=4)

        # the color selection slider
        slider = pm.colorSliderGrp(label='matte' + str(self.matte) + '  ',
                                   rgb=self.defaultColor,
                                   cw=self.columnWidths)
        pm.colorSliderGrp(slider,
                          edit=True,
                          cc=lambda *args: setMatteColor(slider, getSel()))

        # RGB shortcut assignment buttons
        tritone = pm.gridLayout(numberOfColumns=4,
                                cellWidthHeight=(17, 17),
                                p=box)
        #red
        r = pm.button(l='',
                      bgc=(.7, .1, .1),
                      c=lambda *args: updateColor(getSel(), slider, 'r'),
                      p=tritone)
        pm.popupMenu()
        kmenR = pm.menuItem(
            l='select',
            c=lambda *args: selectByColorAttr(slider, self.matte, 'r'))
        #green
        g = pm.button(l='',
                      bgc=(.1, .7, .1),
                      c=lambda *args: updateColor(getSel(), slider, 'g'),
                      p=tritone)
        pm.popupMenu()
        kmenG = pm.menuItem(
            l='select',
            c=lambda *args: selectByColorAttr(slider, self.matte, 'g'))
        #blue
        b = pm.button(l='',
                      bgc=(.1, .1, .7),
                      c=lambda *args: updateColor(getSel(), slider, 'b'),
                      p=tritone)
        pm.popupMenu()
        kmenB = pm.menuItem(
            l='select',
            c=lambda *args: selectByColorAttr(slider, self.matte, 'b'))
        #black
        k = pm.button(l='',
                      bgc=(0.1, 0.1, 0.1),
                      c=lambda *args: updateColor(
                          convertSel(getSel(), sh=True), slider, 'k'),
                      p=tritone)
        pm.popupMenu()
        kmenK = pm.menuItem(
            l='select',
            c=lambda *args: selectByColorAttr(slider, self.matte, 'k'))

        #Get current color
        pm.button(
            label='Get',
            width=35,
            p=box,
            c=lambda *args: getUserColorAttr(getSel(), slider, self.matte))

        pm.setParent('..')
        pm.setParent('..')
        pm.separator(style='in', h=19, parent=box)

        return slider
コード例 #15
0
                figure = pm.polyCone(sx=1, sy=1.5, sz=0.5, r=radius, h=height)
                pm.move(x1, y1, z1, figure)
                i += 1
            elif j == 2:
                figure = pm.polySphere(r=radius)
                pm.move(x1, y1, z1, figure)
                i += 1
            elif j == 3:
                figure = pm.polyCylinder(r=radius, h=height)
                pm.move(x1, y1, z1, figure)
                i += 1
            pm.select(figure)
            pm.rotate(angle, 0, 0, r=True)
            pm.select(clear=True)


with pm.window():
    with pm.autoLayout():
        slider1 = pm.intSliderGrp(label='Number of Shapes',
                                  minValue=2,
                                  maxValue=60,
                                  field=True,
                                  value=2)
        options = pm.checkBoxGrp(
            numberOfCheckBoxes=4,
            label='Select shapes',
            labelArray4=['Torus', 'Cone', 'Sphere', 'Cylinder'])
        pm.button(label='Generate Shapes', command=create_shapes)
        slider2 = pm.colorSliderGrp(label='Set Color', rgb=(1, 0, 1))
        button = pm.button(label='Change color', command=set_color)
コード例 #16
0
def setAllMattes(matte_dict, sel):

    for k, v in matte_dict.iteritems():
        col = pm.colorSliderGrp(v, query=True, rgb=True)
        cid = pm.colorSliderGrp(v, query=True, label=True)
        [obj.attr('vrayUserColor_' + cid).set(col) for obj in sel]
コード例 #17
0
def setMatteColor(ui_obj, sel):
    sel = convertSel(sel, sh=True)
    col = pm.colorSliderGrp(ui_obj, query=True, rgb=True)
    cid = pm.colorSliderGrp(ui_obj, query=True, label=True)
    [obj.attr('vrayUserColor_' + cid).set(col) for obj in sel]
コード例 #18
0
ファイル: hairOps.py プロジェクト: jonntd/MeshHairTool
def makeHairUI():
    shapeType = ['circle', 'triangle', 'square']
    axisType = ['x', 'y', 'z']
    mirrorType = ['world', 'local']
    if pm.window('MakeHairUI', ex=True):
        pm.deleteUI('MakeHairUI', window=True)
        pm.windowPref('MakeHairUI', remove=True)
    pm.window('MakeHairUI', t="MakeHairUI")
    pm.frameLayout(label="Create Hair Parameters")
    pm.columnLayout(adjustableColumn=1)
    pm.rowColumnLayout(numberOfColumns=2, columnWidth=[(1, 90), (2, 100)])
    pm.text(label="Name: ", align='right')
    hairNameUI = pm.textField(text="HairMesh#")
    pm.text(label="Material: ", align='right')
    matNameUI = pm.textField(text="SY_mtl_hairSG")
    pm.text(label="CreaseSet: ", align='right')
    hsSetNameUI = pm.textField(text="hairCrease")
    #pm.text(label="PointCreaseSet: ",align='right')
    #hpSetNameUI=pm.textField(text="hairPointCrease")
    pm.text(label="Length Divs: ", align='right')
    LDivsValUI = pm.intField(value=7, min=4)
    pm.text(label="Width Divs: ", align='right')
    WDivsValUI = pm.intField(value=4, min=4)
    pm.text(label="Segments: ", align='right')
    segmentValUI = pm.intField(value=4, min=2)
    pm.text(label="Width: ", align='right')
    segmentWidthUI = pm.floatField(value=1, min=0.01)
    pm.text(label="Delete Curves: ", align='right')
    DelCurveUI = pm.checkBox(label="   ", value=False)
    pm.text(label="Reverse: ", align='right')
    RevCurveUI = pm.checkBox(label="   ", value=False)
    pm.text(label="Control Type: ", align='right')
    cShapeOpUI = pm.optionMenu()
    for st in shapeType:
        pm.menuItem(label=st)
    pm.text(label="Mirror Type: ", align='right')
    mirrorOpUI = pm.optionMenu()
    for mt in mirrorType:
        pm.menuItem(label=mt)
    pm.text(label="Mirror Axis: ", align='right')
    axisOpUI = pm.optionMenu()
    for ax in axisType:
        pm.menuItem(label=ax)
    colorUI = pm.colorSliderGrp(label='',
                                rgb=(0, 0, 1),
                                co3=(0, 0, 0),
                                cw3=(30, 60, 60),
                                cl3=('left', 'center', 'right'))
    pm.button(label="Set", c=lambda *arg: setColor(colorUI.getRgbValue()))
    pm.button(label="SelectCtr", c=lambda *arg: selHair())
    pm.popupMenu()
    pm.menuItem(label='Set pivot to root',
                c=lambda *arg: selHair(setPivot=True))
    pm.menuItem(label='Set pivot to tip',
                c=lambda *arg: selHair(pivot=-1, setPivot=True))
    pm.menuItem(label='Show all controls',
                c=lambda *arg: ToggleHairCtrlVis(state='show'))
    pm.menuItem(label='Hide all controls',
                c=lambda *arg: ToggleHairCtrlVis(state='hide'))
    pm.button(label="Create",
              c=lambda *arg: makeHairMesh(name=hairNameUI.getText(),
                                          mat=matNameUI.getText(),
                                          cSet=hsSetNameUI.getText(),
                                          reverse=RevCurveUI.getValue(),
                                          lengthDivs=LDivsValUI.getValue(),
                                          widthDivs=WDivsValUI.getValue(),
                                          Segments=segmentValUI.getValue(),
                                          width=segmentWidthUI.getValue(),
                                          curveDel=DelCurveUI.getValue(),
                                          cShape=cShapeOpUI.getValue()))
    pm.popupMenu()
    pm.menuItem(
        label='Rebuild',
        c=lambda *arg: selHair(
            rebuild=[True, LDivsValUI.getValue(),
                     WDivsValUI.getValue()]))
    pm.menuItem(
        label='Rebuild also controls',
        c=lambda *arg: selHair(
            rebuild=[True, LDivsValUI.getValue(),
                     WDivsValUI.getValue()],
            cShape=(True, cShapeOpUI.getValue(), segmentWidthUI.getValue())))
    pm.button(label="Duplicate", c=lambda *arg: dupHairMesh())
    pm.popupMenu()
    pm.menuItem(label='Mirror',
                c=lambda *arg: dupHairMesh(mirror=True,
                                           axis=axisOpUI.getValue(),
                                           space=mirrorOpUI.getValue()))
    pm.button(label="RemoveHair", c=lambda *arg: delHair())
    pm.popupMenu()
    pm.menuItem(label='RemoveControl', c=lambda *arg: delHair(keepHair=True))
    pm.menuItem(label='RemoveAllControl', c=lambda *arg: cleanHairMesh())
    pm.setParent('..')
    pm.showWindow()
コード例 #19
0
    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__)
コード例 #20
0
ファイル: lcCamUtil.py プロジェクト: leocov-dev/lct-legacy
def lcCamUtilUI(dockable=False, asChildLayout=False, *args, **kwargs):
    """ """

    ci = 0  # color index iterator
    windowName = fileName
    shelfCommand = 'import lct.src.{0}.{0} as {1}\nreload({1})\n{1}.{0}UI()'.format(
        windowName, prefix)
    commandString = 'import lct.src.{0}.{0} as {1}\nreload({1})\n{1}.{0}UI(asChildLayout=True)'.format(
        windowName, prefix)
    icon = os.path.join(basePath, '{}.png'.format(fileName))
    winWidth = 205
    winHeight = height

    if pm.window(windowName, ex=True):
        pm.deleteUI(windowName)

    if not asChildLayout:
        lcUI.UI.lcToolbox_child_popout(prefix + '_columnLayout_main',
                                       windowName, height, commandString,
                                       iconPath, lct_cfg)
        mainWindow = lcUI.lcWindow(prefix=prefix,
                                   windowName=windowName,
                                   width=winWidth,
                                   height=winHeight,
                                   icon=icon,
                                   shelfCommand=shelfCommand,
                                   annotation=annotation,
                                   dockable=dockable,
                                   menuBar=True)
        mainWindow.create()

    # UI HERE
    pm.columnLayout(prefix + '_columnLayout_main')
    w = 200
    pm.text(l="Values update for active camera",
            w=w,
            h=25,
            align='center',
            font='boldLabelFont')

    pm.separator(style='in', h=3, w=winWidth)

    pm.rowColumnLayout(prefix + '_rowColumnMain', nc=2, cw=([1, 150], [2, 50]))

    pm.text(l="Camera Focal Length", w=150)
    ff_focal = pm.floatField(
        v=35,
        min=2.5,
        pre=1,
        step=1.0,
        w=50,
        enterCommand=lambda *args: set_camera_attrs(ui_elements),
        dragCommand=lambda *args: set_camera_attrs(ui_elements),
        rfc=lambda *args: get_camera_attrs(ui_elements))

    pm.text(l="Camera Near Clip Plane", w=150)
    ff_near = pm.floatField(
        v=0.100,
        min=0.001,
        pre=3,
        step=0.001,
        w=50,
        enterCommand=lambda *args: set_camera_attrs(ui_elements),
        dragCommand=lambda *args: set_camera_attrs(ui_elements),
        rfc=lambda *args: get_camera_attrs(ui_elements))

    pm.text(l="Camera Far Clip Plane", w=150)
    ff_far = pm.floatField(
        v=1000.0,
        min=0.001,
        pre=0,
        step=10.0,
        w=50,
        enterCommand=lambda *args: set_camera_attrs(ui_elements),
        dragCommand=lambda *args: set_camera_attrs(ui_elements),
        rfc=lambda *args: get_camera_attrs(ui_elements))

    pm.text(l="Camera Overscan", w=150)
    ff_overscan = pm.floatField(
        v=1.0,
        min=0.001,
        pre=3,
        step=0.01,
        w=50,
        enterCommand=lambda *args: set_camera_attrs(ui_elements),
        dragCommand=lambda *args: set_camera_attrs(ui_elements),
        rfc=lambda *args: get_camera_attrs(ui_elements))

    pm.text(l="Camera Background Color", w=150)
    csg_background = pm.colorSliderGrp(
        cw1=50,
        rgb=(0.36, 0.36, 0.36),
        changeCommand=lambda *args: set_camera_attrs(ui_elements))

    pm.text(l="Camera Gradient Top", w=150)
    csg_top = pm.colorSliderGrp(
        cw1=50,
        rgb=(0.54, 0.62, 0.7),
        changeCommand=lambda *args: set_camera_attrs(ui_elements))

    pm.text(l="Camera Gradient Bottom", w=150)
    csg_bottom = pm.colorSliderGrp(
        cw1=50,
        rgb=(0.5, 0.5, 0.5),
        changeCommand=lambda *args: set_camera_attrs(ui_elements))

    pm.setParent('..')

    pm.button(l="Toggle Background Gradient",
              w=winWidth,
              h=32,
              al='center',
              bgc=(0.75, 0.5, 0.2),
              command=lambda *args: lcCamera.Camera.toggle_background())

    ui_elements = [
        ff_focal, ff_near, ff_far, ff_overscan, csg_background, csg_top,
        csg_bottom
    ]

    # Show Window
    if not asChildLayout:
        mainWindow.show()
        # force height and width
        pm.window(mainWindow.mainWindow, edit=True, h=winHeight, w=winWidth)
    else:
        pm.separator(style='none', h=5)
        pm.setParent('..')
        pm.setParent('..')

    # edit menus
    optionsMenu, helpMenu = lcUI.UI.lcToolbox_child_menu_edit(
        asChildLayout, windowName)

    # restore interface from lct_cfg

    # misc
    get_camera_attrs(ui_elements)
    set_camera_attrs(ui_elements)
コード例 #21
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__)
コード例 #22
0
 def _showUI(self, parent=None):
     self._uiName = 'CreateControlUI'
     self._windowSize = (260, 10)
     if pm.window(self._uiName + 'Window', ex=True):
         pm.deleteUI(self._uiName + 'Window', window=True)
         pm.windowPref(self._uiName + 'Window', remove=True)
     if parent is not None and isinstance(parent, pm.uitypes.Window):
         self._window = parent
     else:
         self._window = pm.window(self._uiName + 'Window',
                                  title=self._uiName,
                                  rtf=True,
                                  widthHeight=self._windowSize)
     self._uiTemplate = pm.uiTemplate('CreateControlUITemplace', force=True)
     self._uiTemplate.define(pm.button,
                             width=5,
                             height=40,
                             align='left',
                             bgc=[0.15, 0.25, 0.35])
     self._uiTemplate.define(pm.columnLayout, adjustableColumn=1, w=10)
     self._uiTemplate.define(pm.frameLayout,
                             borderVisible=False,
                             labelVisible=True,
                             mh=2,
                             mw=2,
                             width=self._windowSize[0],
                             bgc=[0.2, 0.2, 0.2])
     self._uiTemplate.define(pm.rowColumnLayout,
                             rs=[
                                 (1, 5),
                             ],
                             adj=True,
                             numberOfColumns=2,
                             cal=[
                                 (1, 'left'),
                             ],
                             columnWidth=[(1, 100), (2, 100)])
     with self._window:
         with self._uiTemplate:
             with pm.frameLayout(label='Create Control'):
                 with pm.columnLayout():
                     with pm.rowColumnLayout():
                         self._uiElement['ctlName'] = pm.textFieldGrp(
                             cl2=('left', 'right'),
                             co2=(0, 0),
                             cw2=(40, 100),
                             label='Name:',
                             text=self.name,
                             cc=self._getUIValue)
                         self._uiElement['ctlType'] = pm.optionMenu(
                             label='Type:', cc=self._getUIValue)
                         with self._uiElement['ctlType']:
                             for ct in self._controlType:
                                 pm.menuItem(label=ct)
                     with pm.rowColumnLayout(numberOfColumns=3,
                                             columnWidth=[
                                                 (1, 10),
                                             ]):
                         self._uiElement['ctlLength'] = pm.floatFieldGrp(
                             cl2=('left', 'right'),
                             co2=(0, 0),
                             cw2=(40, 30),
                             numberOfFields=1,
                             label='Length:',
                             value1=3.0,
                             cc=self._getUIValue)
                         self._uiElement['ctlRadius'] = pm.floatFieldGrp(
                             cl2=('left', 'right'),
                             co2=(0, 0),
                             cw2=(40, 30),
                             numberOfFields=1,
                             label='Radius:',
                             value1=0.5,
                             cc=self._getUIValue)
                         self._uiElement['ctlRes'] = pm.optionMenu(
                             label='Step:', cc=self._getUIValue)
                         with self._uiElement['ctlRes']:
                             for ct in self._resolutions:
                                 pm.menuItem(label=ct)
                     with pm.rowColumnLayout():
                         self._uiElement['ctlColor'] = pm.colorSliderGrp(
                             label='Color:',
                             rgb=(0, 0, 1),
                             co3=(0, 0, 0),
                             cw3=(30, 60, 60),
                             cl3=('left', 'center', 'right'),
                             cc=self._getUIValue)
                         self._uiElement['ctlAxis'] = pm.optionMenu(
                             label='Axis:', cc=self._getUIValue)
                         with self._uiElement['ctlAxis']:
                             for ct in self._axisList:
                                 pm.menuItem(label=ct)
                     self._uiElement['ctlOffset'] = pm.floatFieldGrp(
                         cl4=('left', 'center', 'center', 'center'),
                         co4=(0, 5, 0, 0),
                         cw4=(45, 50, 50, 50),
                         numberOfFields=3,
                         label='Offset:',
                         cc=self._getUIValue)
                     self._uiElement['ctlOption'] = pm.checkBoxGrp(
                         cl5=('left', 'center', 'center', 'center',
                              'center'),
                         co5=(0, 5, 0, 0, 0),
                         cw5=(45, 50, 50, 50, 50),
                         numberOfCheckBoxes=4,
                         label='Options:',
                         labelArray4=[
                             'group', 'setAxis', 'sphere', 'mirror'
                         ],
                         cc=self._getUIValue)
                     pm.button(label='Create',
                               c=pm.Callback(self.createControl))
                     pm.button(label='Change Current Select',
                               c=lambda x: ul.do_function_on()
                               (self.changeControlShape)(sl=True))
                     pm.button(label='Set Color Select',
                               c=lambda x: ul.do_function_on()
                               (self.setColor)(sl=True))
     self._getUIValue()
     self.reset_window_height()