def setBackgroundColor(self, row, column):
        try:
            ctrlShape = cmds.listRelatives(cmds.scriptTable('table',
                                                            q=True,
                                                            cellIndex=(row, 1),
                                                            cellValue=True),
                                           s=True)[0]
        except:
            return

        color = cmds.getAttr(ctrlShape + '.color')[0]
        opacity = cmds.getAttr(ctrlShape + '.opacity') + 0.1

        if column == 1:
            return (color[0] * 255 * opacity + 64,
                    color[1] * 255 * opacity + 64,
                    color[2] * 255 * opacity + 64)

        if column == 2:
            if row % 2 == 0:
                return (64, 80, 100)

        if column == 3:
            if cmds.scriptTable('table',
                                q=True,
                                cellIndex=(row, column),
                                cellValue=True)[0] == 'True':
                return (48 + 64, 40 + 64, 64)
            else:
                return (64, 64, 64)
def saveFileDialog(*args):
    dialog = cmds.fileDialog(m=1);
    
#    fdialog = pm.fileDialog2(
#       ocm="on_save_dialog_file",
#       fm=0,
#        ff="CSV Files (*.csv);;All Files (*.*)",
#        dialogStyle=2)
    
    o_file = str(dialog)
    #print o_file

    if not (cmds.file(o_file,query=True, exists=True)):
        tmp_csv_file = open(o_file, 'w' ,os.O_CREAT)
    else:
        tmp_csv_file = open(o_file, 'w')
    
    writer = csv.writer(tmp_csv_file, lineterminator='\n')
    
    all_rows = cmds.scriptTable('table', query=True, rows=True)
    for o_r in range(all_rows):
            
        all_colums = cmds.scriptTable('table', query=True, columns=True)
        data_list = []
        for o_c in range( all_colums - 1):
            if o_r == 0:
                data_list = ["No.", "JointName", "transrateX","transrateY","transrateZ"]
            else:
                cell_list = cmds.scriptTable('table', cellIndex=(o_r,o_c + 1), query=True, cellValue=True)
                if o_c == 0:
                    if type(cell_list) == list:
                        cell_text = "".join(cell_list)
                        #print cell_text
                    elif cell_list == None:
                        cell_text = u''
                    else:
                        cell_text = cell_list
                    data_list.append(cell_text)
                elif o_c == 1:
                    if type(cell_list) == list:
                        cell_text = "".join(cell_list)
                        #print cell_text
                    elif cell_list == None:
                        cell_text = u''
                    else:
                        cell_text = cell_list
                    data_list.append(cell_text)
                else:
                    if type(cell_list) == list:
                        cell_text = "".join(cell_list)
                    elif cell_list == None:
                        cell_text = u''
                    else:
                        cell_text = cell_list
                    data_list.append(cell_text)
        writer.writerow(data_list)
    tmp_csv_file.close()
Ejemplo n.º 3
0
def delete_sel_row(*args):
    if recstart == 0:
        try:
            selected_row = cmds.scriptTable('scrtable',
                                            query=True,
                                            selectedRows=True)[0]
            if selected_row == None:
                print('Select Row to Delete')
            else:
                cmds.scriptTable('scrtable', edit=True, deleteRow=selected_row)
        except:
            print('Select Row to Delete')
    def cellSelected(self):
        selectedCell = cmds.scriptTable('table', q=True, selectedCells=True)

        cmds.select(cl=True)

        try:
            for i in range(0, len(selectedCell), 2):
                value = cmds.scriptTable('table',
                                         q=True,
                                         cellIndex=(selectedCell[i], 1),
                                         cellValue=True)
                cmds.select(value, add=True)
        except:
            pass
def RigComponentEditor(*args):
        
    window = cmds.window(title='Rig Component Editor', widthHeight=(1200, 600))
    
    form = cmds.formLayout()

    table =  cmds.scriptTable(
            'table',rows=0, columns=15,columnWidth=([1,30],[2,300],[3,30],[4,80],[5,50],[6,80],[7,50],[8,80],[9,50],[10,80],[11,50],[12,80],[13,50],[14,80],[15,50]),
            label=[(1,"No."), (2,"rigName"), (3,"num"), (4,"label[0]"), (5,"val[0]"), (6,"label[1]"), (7,"val[1]"), (8,"label[2]"), (9,"val[2]"), (10,"label[3]"), (11,"val[3]"), (12,"label[4]"), (13,"val[4]"), (14,"label[5]"), (15,"val[5]")],
            cellChangedCmd=edit_cell)


    resetButton = cmds.button(label='Save', command=saveRigFileDialog)
    closeButton = cmds.button( label='Close', command=('cmds.deleteUI(\"' + window + '\", window=True)') )
    
    setRigAttribute()
        
    cmds.formLayout(form, edit=True, 
        attachForm=[(table, 'top', 0), (table, 'left', 0), (table, 'right', 0), 
        (resetButton, 'left', 0), (resetButton, 'bottom', 0), 
        (closeButton, 'bottom', 0), (closeButton, 'right', 0)],
        attachControl=(table, 'bottom', 0, resetButton), 
        attachNone=[(resetButton, 'top'),(closeButton, 'top')], 
        attachPosition=[(resetButton, 'right', 0, 50), (closeButton, 'left', 0, 50)]
        )

    cmds.showWindow( window )
def JointComponentEditor(*args):
        
    window = cmds.window(title='Joint Component Editor', widthHeight=(720, 310))
    
    form = cmds.formLayout()
    table =  cmds.scriptTable('table',rows=len(GetJointNames()), columns=5,columnWidth=([1,30], [2,300],[3,120],[4,120],[5,120]),
            label=[(1,"No."), (2,"JointName"), (3,"transrateX"), (4,"transrateY"), (5,"transrateZ")],
            cellChangedCmd=edit_cell)
    
#    resetButton = cmds.button(label="Reset",command=add_row)
    resetButton = cmds.button(label='Save', command=saveFileDialog)

#    closeButton = cmds.button(label="Delete Row",command=delete_row)
    closeButton = cmds.button( label='Close', command=('cmds.deleteUI(\"' + window + '\", window=True)') )
    
    setParam()
#    setRigAttribute()

    cmds.formLayout(form, edit=True, 
        attachForm=[(table, 'top', 0), (table, 'left', 0), (table, 'right', 0), 
        (resetButton, 'left', 0), (resetButton, 'bottom', 0), 
        (closeButton, 'bottom', 0), (closeButton, 'right', 0)],
        attachControl=(table, 'bottom', 0, resetButton), 
        attachNone=[(resetButton, 'top'),(closeButton, 'top')], 
        attachPosition=[(resetButton, 'right', 0, 50), (closeButton, 'left', 0, 50)]
        )

    cmds.showWindow( window )
Ejemplo n.º 7
0
def startrealtimeexp(*args):
    global recstart
    global recend
    numrow = cmds.scriptTable('scrtable', query=True, rows=True)
    if len(selectedBlend) > 0 and numrow > 1:
        if recstart == 0:
            recstart = 1
            cmds.button('realtimecomm',
                        edit=True,
                        label='Stop Real Time Expression')
            #Start Comm
            cmds.commandPort(name="127.0.0.1:7777",
                             echoOutput=False,
                             noreturn=False,
                             prefix="portData",
                             returnNumCommands=True)
            cmds.commandPort(name=":7777",
                             echoOutput=False,
                             noreturn=False,
                             prefix="portData",
                             returnNumCommands=True)
        else:
            recstart = 0
            cmds.button('realtimecomm',
                        edit=True,
                        label='Start Real Time Expression')
            #Stop Comm
            deactivateCommandPort('127.0.0.1', '7777')
 def table(*args, **kwargs):
     #note in order to have a horizontal scroll bar displayable on resize, the table must contain at least 2 columns
     try:
         return cmds.scriptTable(*args, **kwargs)
     except Exception as exp:
         LOG.debug("MayaAPI exception in 'table': {0}".format(exp).strip())
         return None
def startrealtimerec(*args):
    global recstart
    global server
    numrow = cmds.scriptTable('scrtable', query=True, rows=True)
    if len(selectedBlend) > 0 and numrow > 1:
        if recstart == 0:
            recstart = 1
            cmds.button('realtimerecbt', edit=True, label='Stop preview')
            logging.basicConfig(
                level=logging.DEBUG,
                format="%(asctime)s - %(levelname)s - %(message)s")
            myport = cmds.textField('Portnum', q=True, tx=True)
            server = WebSocketServer("", int(myport), WebSocket)
            server_thread = Thread(target=server.listen, args=[5])
            server_thread.start()
        else:
            recstart = 0
            cmds.button('realtimerecbt', edit=True, label='Real time preview')
            server.running = False
            recnow = 0
def setParam(*args):
    # set joint name to form
    count = 1
    select_names = GetJointNames()

    # set pos to form
    for j in select_names:
        cmds.scriptTable('table', cellIndex=(count,1), edit=True, cellValue=count)
        cmds.scriptTable('table', cellIndex=(count,2), edit=True, cellValue=j)
        count = count + 1
    
    positions = ConstructPositionHash(select_names)

    count = 0
    for t in positions:
        row = count/3 + 1
        col = count%3 + 3
        cmds.scriptTable('table', cellIndex=(row,col), edit=True, cellValue=t)
        count = count + 1
Ejemplo n.º 11
0
def deformface():
    global dataarray
    if len(dataarray) < 3:
        return 0

    all_rows = cmds.scriptTable('scrtable', query=True, rows=True)
    global recstart
    global gnumcurrenttime
    if all_rows > 1 and recstart == 1:
        ornum = 1

        numcurrenttime = gnumcurrenttime
        bonename = cmds.textField('HeadbonenameF', q=True, tx=True)

        if len(bonename) > 0:
            cX = cmds.textField('HeadbonenameXF', q=True, tx=True)
            cY = cmds.textField('HeadbonenameYF', q=True, tx=True)
            cZ = cmds.textField('HeadbonenameZF', q=True, tx=True)
            CrX = 0
            CrY = 0
            CrZ = 0
            if cX.replace(".", "").isdigit():
                CrX = float(cX)
            if cY.replace(".", "").isdigit():
                CrY = float(cY)
            if cZ.replace(".", "").isdigit():
                CrZ = float(cZ)

            bjoint = pm.PyNode(bonename)
            pm.rotate(bjoint, [
                float(dataarray[0]) * -1 + CrX,
                float(dataarray[1]) * -1 + CrY,
                float(dataarray[2]) * -1 + CrZ
            ],
                      euler=True,
                      a=True,
                      ws=False)
            #if recnow ==1
            pm.setKeyframe(bjoint,
                           v=float(dataarray[0]) * -1 + CrX,
                           attribute='rotateX',
                           t=[numcurrenttime])
            pm.setKeyframe(bjoint,
                           v=float(dataarray[1]) * -1 + CrY,
                           attribute='rotateY',
                           t=[numcurrenttime])
            pm.setKeyframe(bjoint,
                           v=float(dataarray[2]) * -1 + CrZ,
                           attribute='rotateZ',
                           t=[numcurrenttime])

        for i in range(all_rows):
            all_colums = cmds.scriptTable('scrtable', query=True, columns=True)
            data_list = []
            for j in range(all_colums):
                cell_list = cmds.scriptTable('scrtable',
                                             cellIndex=(i, j),
                                             query=True,
                                             cellValue=True)
                if type(cell_list) == 'list':
                    cell_text = "".join(cell_list)
                elif cell_list == None:
                    cell_text = cell_list
                else:
                    cell_text = cell_list[0]

                data_list.append(cell_text)

            if i > 0 and len(dataarray) > 3:
                streng = 1.0
                if data_list[4].replace(".", "").isdigit():
                    streng = float(data_list[4])
                #recdataDeformStreng = (((float(dataarray[int(data_list[6])-2+3]))+0.0)/100.0)*(streng+0.0)
                recdataDeformStreng = ((
                    (float(dataarray[int(data_list[6]) - 2 + 3])) + 0.0) /
                                       33.0) * (streng + 0.0)
                targetdefnum = int(data_list[5]) - 2
                cmds.blendShape(selectedBlend,
                                edit=True,
                                w=[(targetdefnum, recdataDeformStreng)])
                #if recnow ==1
                cmds.setKeyframe("%s.w[%i]" % (selectedBlend, targetdefnum),
                                 t=numcurrenttime)

                if random.random() < 0.2:
                    datastring = '%.4f' % recdataDeformStreng
                    cmds.scriptTable('scrtable',
                                     e=True,
                                     ci=[i, 3],
                                     cv=datastring)
Ejemplo n.º 12
0
def add_row(*args):
    cmds.scriptTable('scrtable', edit=True, selectedRows=[])

    selectedBlend = cmds.optionMenu('targetObjectMenu', query=True, value=True)
    selectedBlendI = cmds.optionMenu('targetObjectMenu',
                                     query=True,
                                     select=True)
    selectedLinkBlend = cmds.optionMenu('paramObjectMenu',
                                        query=True,
                                        value=True)
    selectedLinkBlendI = cmds.optionMenu('paramObjectMenu',
                                         query=True,
                                         select=True)

    last_row_num = cmds.scriptTable('scrtable', query=True, rows=True)
    cmds.scriptTable('scrtable', edit=True, insertRow=last_row_num)

    cmds.scriptTable('scrtable',
                     e=True,
                     ci=[last_row_num, 1],
                     cv=selectedBlend)
    cmds.scriptTable('scrtable',
                     e=True,
                     ci=[last_row_num, 2],
                     cv=selectedLinkBlend)
    cmds.scriptTable('scrtable', e=True, ci=[last_row_num, 3], cv='0')
    cmds.scriptTable('scrtable', e=True, ci=[last_row_num, 4], cv='1')
    cmds.scriptTable('scrtable',
                     e=True,
                     ci=[last_row_num, 5],
                     cv=selectedBlendI)
    cmds.scriptTable('scrtable',
                     e=True,
                     ci=[last_row_num, 6],
                     cv=selectedLinkBlendI)
Ejemplo n.º 13
0
def poseTrackerWindow():
    if cmds.window('fcloneMAYApipeline', exists=True):
        cmds.deleteUI('fcloneMAYApipeline')

    #window definition
    cmds.window('fcloneMAYApipeline',
                widthHeight=(600, 450),
                title='f-clone MAYA pipeline(Beta)',
                minimizeButton=False,
                maximizeButton=False,
                resizeToFitChildren=True,
                sizeable=True)

    cmds.rowColumnLayout(numberOfColumns=3,
                         columnWidth=[(1, 200), (2, 200), (3, 200)])

    #select an existing blendShape node
    cmds.text(label='Blend Shape node name')
    selectedBlendShapeTextField = cmds.textField('selectedBlendShapeText')
    cmds.button(label='Load Targets', command='loadTargetList()')

    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    targetList = cmds.optionMenu('targetObjectMenu', label='Target')
    cmds.menuItem(label=' ')
    fcloneList = cmds.optionMenu('fcloneObjectMenu', label='Link')
    cmds.menuItem(label='Please select f-clone param')
    cmds.menuItem(label='Brow Left UP')
    cmds.menuItem(label='Brow Left Down')
    cmds.menuItem(label='Brow Right UP')
    cmds.menuItem(label='Brow Right Down')
    cmds.menuItem(label='Brow Centering')
    cmds.menuItem(label='Brow outer left down')
    cmds.menuItem(label='Brow outer right down')
    cmds.menuItem(label='Eye Close Left')
    cmds.menuItem(label='Eye Close Right')
    cmds.menuItem(label='Mouse Open')
    cmds.menuItem(label='Mouse Left Smile')
    cmds.menuItem(label='Mouse Right Smile')
    cmds.menuItem(label='Mouse Left Spread')
    cmds.menuItem(label='Mouse Right Spread')
    cmds.menuItem(label='Mouse Left Frawn')
    cmds.menuItem(label='Mouse Right Frawn')
    cmds.menuItem(label='Mouse Left Centering')
    cmds.menuItem(label='Mouse Right Centering')
    cmds.menuItem(label='Cheek Left UP')
    cmds.menuItem(label='Cheek Right UP')
    cmds.button(label='Add link', command='addlink()')

    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    cmds.columnLayout('mytable', width=600)

    table = cmds.scriptTable('scrtable',
                             rows=0,
                             columns=6,
                             columnWidth=([1, 200], [2, 200], [3, 99], [4, 99],
                                          [5, 1], [6, 1]),
                             label=[(1, "Target"), (2, "Link"),
                                    (3, "Receive val"), (4, "Strength"),
                                    (5, "ID(Target)"), (6, "ID(Link)")],
                             width=600,
                             cellChangedCmd=edit_cell)

    cmds.rowColumnLayout(numberOfColumns=3,
                         columnWidth=[(1, 100), (2, 250), (3, 250)])

    cmds.text(label='')
    cmds.text(label='')
    cmds.button(label='Delete select row', command=delete_sel_row)

    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    cmds.text(label='')
    cmds.text(label='Head bone name')
    Headbonename = cmds.textField('HeadbonenameF')

    cmds.text(label='')
    cmds.text(label='Head bone rotation compensation X')
    HeadbonenameX = cmds.textField('HeadbonenameXF', text='0')

    cmds.text(label='')
    cmds.text(label='Head bone rotation compensation Y')
    HeadbonenameY = cmds.textField('HeadbonenameYF', text='0')

    cmds.text(label='')
    cmds.text(label='Head bone rotation compensation Z')
    HeadbonenameZ = cmds.textField('HeadbonenameZF', text='0')

    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    cmds.text(label='')
    cmds.text(label='')
    cmds.button(label='Load f-clone motion csv (30 fps)',
                command=loadfclonemotion)

    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    cmds.text(label='')
    cmds.text(label='Server port')
    HeadbonenameZ = cmds.textField('Portnum', text='8080')

    cmds.text(label='')
    cmds.text(label='')
    cmds.button('realtimerecbt',
                label='Real time preview',
                command=startrealtimerec)
    #cmds.button( 'nowrecbt' , label = 'Record motion(MAX 30 fps)', command = startrec )

    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    cmds.text(label='')
    cmds.button(label='Save preset', command=savecsvfile)
    cmds.button(label='Load preset', command=loadpresetfile)

    cmds.showWindow('fcloneMAYApipeline')
Ejemplo n.º 14
0
def expTrackerWindow():
    if cmds.window('expTrackerWindow', exists=True):
        cmds.deleteUI('expTrackerWindow')

    #window def
    cmds.window('expTrackerWindow',
                widthHeight=(900, 400),
                title='expTracker-conelab',
                minimizeButton=False,
                maximizeButton=False,
                resizeToFitChildren=True,
                sizeable=True)
    #cmds.rowColumnLayout(numberOfColumns=3,columnWidth=[(1,300),(2,300),(3,300)],backgroundColor=[200,200,0])

    #select an existing blendShape node
    cmds.rowColumnLayout(numberOfColumns=6,
                         columnWidth=[(1, 150), (2, 25), (3, 300), (4, 25),
                                      (5, 200), (6, 200)],
                         backgroundColor=[1, 0.9843, 0.7961])
    cmds.text(label='Blend Shape node name : ', align='right')
    cmds.text(label='')
    selectedBlendShapeTextField = cmds.textField('selectedBlendShapeText',
                                                 backgroundColor=[1, 1, 1])
    cmds.text(label='')
    cmds.button(label='Load Targets',
                command='loadTargetList()',
                width=20,
                align='left',
                backgroundColor=[0.3412, 0.8196, 0.7882])
    cmds.text(label='')

    cmds.columnLayout('temp1', width=900)
    cmds.rowColumnLayout(numberOfColumns=6,
                         columnWidth=[(1, 300), (2, 40), (3, 300), (4, 40),
                                      (5, 200), (6, 20)])
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    targetList = cmds.optionMenu('targetObjectMenu',
                                 label='Target: ',
                                 backgroundColor=[1, 0.9098, 0.4118])
    cmds.menuItem(label=' ')
    cmds.text(label='')
    paramList = cmds.optionMenu('paramObjectMenu',
                                label='Link: ',
                                backgroundColor=[1, 0.9098, 0.4118])
    cmds.menuItem(label='Please select param')
    cmds.menuItem(label='Brow Left UP')
    cmds.menuItem(label='Brow Left Down')
    cmds.menuItem(label='Brow Right UP')
    cmds.menuItem(label='Brow Right Down')
    cmds.menuItem(label='Brow Centering')
    cmds.menuItem(label='Brow outer left down')
    cmds.menuItem(label='Brow outer right down')
    cmds.menuItem(label='Eye Close Left')
    cmds.menuItem(label='Eye Close Right')
    cmds.menuItem(label='Mouse Open')
    cmds.menuItem(label='Mouse Left Smile')
    cmds.menuItem(label='Mouse Right Smile')
    cmds.menuItem(label='Mouse Left Spread')
    cmds.menuItem(label='Mouse Right Spread')
    cmds.menuItem(label='Mouse Left Frawn')
    cmds.menuItem(label='Mouse Right Frawn')
    cmds.menuItem(label='Mouse Left Centering')
    cmds.menuItem(label='Mouse Right Centering')
    cmds.menuItem(label='Cheek Left UP')
    cmds.menuItem(label='Cheek Right UP')
    cmds.text(label='')
    cmds.button(label='Add link',
                command='addlink()',
                backgroundColor=[0.3412, 0.8196, 0.7882])
    cmds.text(label='')

    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    cmds.columnLayout('mytable',
                      width=900,
                      backgroundColor=[1, 0.9098, 0.4118])

    table = cmds.scriptTable('scrtable',
                             rows=0,
                             columns=6,
                             columnWidth=([1, 300], [2, 300], [3, 145],
                                          [4, 145], [5, 1], [6, 1]),
                             label=[(1, "Target"), (2, "Link"),
                                    (3, "Receive val"), (4, "Strength"),
                                    (5, "ID(Target)"), (6, "ID(Link)")],
                             width=900,
                             cellChangedCmd=edit_cell)

    cmds.rowColumnLayout(numberOfColumns=3,
                         columnWidth=[(1, 100), (2, 300), (3, 500)])

    cmds.text(label='')
    cmds.text(label='')
    cmds.button(label='Delete select row',
                command=delete_sel_row,
                backgroundColor=[0.3412, 0.8196, 0.7882])

    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    cmds.columnLayout('temp2', width=900)
    cmds.rowColumnLayout(numberOfColumns=4,
                         columnWidth=[(1, 100), (2, 300), (3, 300), (4, 200)],
                         backgroundColor=[1, 0.9098, 0.4118])

    cmds.text(label='')
    cmds.text(label='Head bone name')
    Headbonename = cmds.textField('HeadbonenameF')
    cmds.text(label='')

    cmds.text(label='')
    cmds.text(label='Head bone rotation compensation X')
    HeadbonenameX = cmds.textField('HeadbonenameXF', text='0')
    cmds.text(label='')

    cmds.text(label='')
    cmds.text(label='Head bone rotation compensation Y')
    HeadbonenameY = cmds.textField('HeadbonenameYF', text='0')
    cmds.text(label='')

    cmds.text(label='')
    cmds.text(label='Head bone rotation compensation Z')
    HeadbonenameZ = cmds.textField('HeadbonenameZF', text='0')
    cmds.text(label='')

    cmds.columnLayout('temp3', width=900)
    cmds.rowColumnLayout(numberOfColumns=5,
                         columnWidth=[(1, 200), (2, 50), (3, 200), (4, 150),
                                      (5, 300)])

    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    cmds.button(label='Save preset',
                command=savepresetfile,
                backgroundColor=[0.3412, 0.8196, 0.7882])
    cmds.text(label='')
    cmds.button(label='Load preset',
                command=loadpresetfile,
                backgroundColor=[0.3412, 0.8196, 0.7882])
    cmds.text(label='')
    cmds.button('realtimecomm',
                label='Start Real Time Expression',
                command=startrealtimeexp,
                backgroundColor=[0.9294, 0.3294, 0.5216])

    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')
    cmds.text(label='')

    cmds.showWindow('expTrackerWindow')
Ejemplo n.º 15
0
def loadpresetfile(*args):
    if recstart != 0:
        return 0

    presetfile = pm.fileDialog2(fileMode=1)

    if presetfile:
        cmds.scriptTable('scrtable', edit=True, selectedRows=[])

        o_file = open(str(presetfile[0]), 'r')
        reader = csv.reader(o_file)

        all_rows = cmds.scriptTable('scrtable', query=True, rows=True)
        for i in range(all_rows):
            cmds.scriptTable('scrtable', edit=True, deleteRow=i)

        row_no = 0
        for row in reader:
            if row_no > 0:
                cmds.scriptTable('scrtable', edit=True, insertRow=row_no)
                cmds.scriptTable('scrtable',
                                 cellIndex=(row_no, 1),
                                 edit=True,
                                 cellValue=row[0])
                cmds.scriptTable('scrtable',
                                 cellIndex=(row_no, 2),
                                 edit=True,
                                 cellValue=row[1])
                cmds.scriptTable('scrtable',
                                 cellIndex=(row_no, 3),
                                 edit=True,
                                 cellValue="0")
                cmds.scriptTable('scrtable',
                                 cellIndex=(row_no, 4),
                                 edit=True,
                                 cellValue=row[3])
                cmds.scriptTable('scrtable',
                                 cellIndex=(row_no, 5),
                                 edit=True,
                                 cellValue=row[4])
                cmds.scriptTable('scrtable',
                                 cellIndex=(row_no, 6),
                                 edit=True,
                                 cellValue=row[5])
            else:
                cmds.textField('selectedBlendShapeText',
                               edit=True,
                               text=row[0])
                cmds.textField('HeadbonenameF', edit=True, text=row[1])
                cmds.textField('HeadbonenameXF', edit=True, text=row[2])
                cmds.textField('HeadbonenameYF', edit=True, text=row[3])
                cmds.textField('HeadbonenameZF', edit=True, text=row[4])
                #cmds.textField('Portnum', edit=True, text=row[5] )
                loadTargetList()
            row_no = 1 + row_no
        o_file.close()
Ejemplo n.º 16
0
 def table(*args, **kwargs):
     try:
         return cmds.scriptTable(*args, **kwargs)
     except Exception as exp:
         LOG.debug("MayaAPI exception in 'table': {0}".format(exp).strip())
         return None
Ejemplo n.º 17
0
    def uiCreate(self):

        self.onCloseClicked()

        self.window = m.window(
            WIN_NAME,
            title='Maya Window',
            maximizeButton=False
        )

        uiLAY_mainForm = m.formLayout()

        self.uiLAY_mainScroll = m.scrollLayout(childResizable=True)

        mainColumn = m.columnLayout(adjustableColumn=True)  # main column layout with frames

        # --------
        self.uiLAY_frameCheckBoxes = self.uiCreateFrame('uiLAY_frameCheckBoxes', 'Check Boxes (PMCheckBox)')

        m.columnLayout()

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

        m.rowLayout(numberOfColumns=3)

        m.separator(width=140, style='none')
        self.uiCHK_test1 = m.checkBox('uiCHK_test1', label='test1')
        self.uiCHK_test2 = m.checkBox('uiCHK_test2', label='test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameCheckBoxGroups = self.uiCreateFrame('uiLAY_frameCheckBoxGroups',
                                                            'Check Box Groups (PMCheckBoxGrp#)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiCHKGRP_test1 = m.checkBoxGrp(
            'uiCHKGRP_test1',
            numberOfCheckBoxes=1,
            label='PMCheckBoxGrp1',
            label1='test1'
        )
        self.uiCHKGRP_test2 = m.checkBoxGrp(
            'uiCHKGRP_test2',
            numberOfCheckBoxes=2,
            label='PMCheckBoxGrp2',
            labelArray2=('test1', 'test2')
        )
        self.uiCHKGRP_test3 = m.checkBoxGrp(
            'uiCHKGRP_test3',
            numberOfCheckBoxes=3,
            label='PMCheckBoxGrp3',
            labelArray3=('test1', 'test2', 'test3')
        )
        self.uiCHKGRP_test4 = m.checkBoxGrp(
            'uiCHKGRP_test4',
            numberOfCheckBoxes=4,
            label='PMCheckBoxGrp4',
            labelArray4=('test1', 'test2', 'test3', 'test4')
        )

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameColorSliders = self.uiCreateFrame('uiLAY_frameColorSliders',
                                                          'Color Slider Groups (PMColorSliderGrp)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiCLRGRP_test1 = m.colorSliderGrp(
            'uiCLRGRP_test1',
            label='test1'
        )
        self.uiCLRGRP_test2 = m.colorSliderGrp(
            'uiCLRGRP_test2',
            label='test2'
        )

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameFloatFields = self.uiCreateFrame('uiLAY_frameFloatFields', 'Float Fields (PMFloatField)')

        m.columnLayout()

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

        m.rowLayout(numberOfColumns=3)
        m.separator(width=140, style='none')
        self.uiFLF_test1 = m.floatField('uiFLF_test1')
        self.uiFLF_test2 = m.floatField('uiFLF_test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameFloatFieldGroups = self.uiCreateFrame('uiLAY_frameFloatFieldGroups',
                                                              'Float Field Groups (PMFloatFieldGrp#)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiFLFGRP_test1 = m.floatFieldGrp(
            'uiFLFGRP_test1',
            numberOfFields=1,
            label='PMFloatFieldGrp1'
        )
        self.uiFLFGRP_test2 = m.floatFieldGrp(
            'uiFLFGRP_test2',
            numberOfFields=2,
            label='PMFloatFieldGrp2'
        )
        self.uiFLFGRP_test3 = m.floatFieldGrp(
            'uiFLFGRP_test3',
            numberOfFields=3,
            label='PMFloatFieldGrp3'
        )
        self.uiFLFGRP_test4 = m.floatFieldGrp(
            'uiFLFGRP_test4',
            numberOfFields=4,
            label='PMFloatFieldGrp4'
        )

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameFloatScrollBars = self.uiCreateFrame('uiLAY_frameFloatScrollBars',
                                                             'Float Scroll Bars (PMFloatScrollBar)')

        m.columnLayout(adjustableColumn=True)

        m.separator(style='none', height=2)
        self.uiFLSCRL_test1 = m.floatScrollBar('uiFLSCRL_test1')
        self.uiFLSCRL_test2 = m.floatScrollBar('uiFLSCRL_test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameFloatSliders = self.uiCreateFrame('uiLAY_frameFloatSliders', 'Float Sliders (PMFloatSlider)')

        m.columnLayout(adjustableColumn=True)

        m.separator(style='none', height=2)
        self.uiFLTSLD_test1 = m.floatSlider('uiFLTSLD_test1')
        self.uiFLTSLD_test2 = m.floatSlider('uiFLTSLD_test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameFloatSliderGroups = self.uiCreateFrame('uiLAY_frameFloatSliderGroups',
                                                               'Float Slider Groups (PMFloatSliderGrp)')
        m.columnLayout()
        m.separator(style='none', height=2)
        self.uiFLSGRP_test1 = m.floatSliderGrp(
            'uiFLSGRP_test1',
            label='test1',
            field=True
        )
        self.uiFLSGRP_test2 = m.floatSliderGrp(
            'uiFLSGRP_test2',
            label='test2',
            field=True
        )

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIconTextCheckBoxes = self.uiCreateFrame('uiLAY_frameIconTextCheckBoxes',
                                                                'Icon Text Check Boxes (PMIconTextCheckBox)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=3)

        m.separator(style='none', width=140)
        self.uiITCHK_test1 = m.iconTextCheckBox(
            'uiITCHK_test1',
            style='iconAndTextHorizontal',
            label='cube',
            image1='cube'
        )
        self.uiITCHK_test2 = m.iconTextCheckBox(
            'uiITCHK_test2',
            style='iconAndTextHorizontal',
            label='cone',
            image1='cone'
        )

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIconTextRadioButtons = self.uiCreateFrame('uiLAY_frameIconTextRadioButtons',
                                                                  'Icon Text Radio Buttons (PMIconTextRadioButton)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=4)

        m.separator(style='none', width=140)
        m.iconTextRadioCollection()
        self.uiITRAD_test1 = m.iconTextRadioButton(
            'uiITRAD_test1',
            style='iconAndTextHorizontal',
            label='cube',
            image1='cube'
        )
        self.uiITRAD_test2 = m.iconTextRadioButton(
            'uiITRAD_test2',
            style='iconAndTextHorizontal',
            label='cone',
            image1='cone'
        )
        self.uiITRAD_test3 = m.iconTextRadioButton(
            'uiITRAD_test3',
            style='iconAndTextHorizontal',
            label='torus',
            image1='torus'
        )

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIconTextScrollLists = self.uiCreateFrame('uiLAY_frameIconTextScrollLists',
                                                                 'Icon Text Scroll Lists (PMIconTextScrollList)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=3)

        m.separator(style='none', width=140)
        self.uiITSLST_test1 = m.iconTextScrollList(
            'uiITSLST_test1',
            allowMultiSelection=True,
            append=('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten')
        )
        self.uiITSLST_test2 = m.iconTextScrollList(
            'uiITSLST_test2',
            allowMultiSelection=True,
            append=('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten')
        )

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIntFields = self.uiCreateFrame('uiLAY_frameIntFields', 'Int Fields (PMIntField)')

        m.columnLayout()

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

        m.rowLayout(numberOfColumns=3)

        m.separator(width=140, style='none')
        self.uiINF_test1 = m.intField('uiINF_test1')
        self.uiINF_test2 = m.intField('uiINF_test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIntFieldGroups = self.uiCreateFrame('uiLAY_frameIntFieldGroups',
                                                            'Int Field Groups (PMIntFieldGrp#)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiINFGRP_test1 = m.intFieldGrp(
            'uiINFGRP_test1',
            numberOfFields=1,
            label='PMIntFieldGrp1'
        )
        self.uiINFGRP_test2 = m.intFieldGrp(
            'uiINFGRP_test2',
            numberOfFields=2,
            label='PMIntFieldGrp2'
        )
        self.uiINFGRP_test3 = m.intFieldGrp(
            'uiINFGRP_test3',
            numberOfFields=3,
            label='PMIntFieldGrp3'
        )
        self.uiINFGRP_test4 = m.intFieldGrp(
            'uiINFGRP_test4',
            numberOfFields=4,
            label='PMIntFieldGrp4'
        )

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIntScrollBars = self.uiCreateFrame('uiLAY_frameIntScrollBars',
                                                           'Int Scroll Bars (PMIntScrollBar)')

        m.columnLayout(adjustableColumn=True)

        m.separator(style='none', height=2)
        self.uiINSCRL_test1 = m.intScrollBar('uiINSCRL_test1')
        self.uiINSCRL_test2 = m.intScrollBar('uiINSCRL_test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIntSliders = self.uiCreateFrame('uiLAY_frameIntSliders', 'Int Sliders (PMIntSlider)')

        m.columnLayout(adjustableColumn=True)

        m.separator(style='none', height=2)
        self.uiINTSLD_test1 = m.intSlider('uiINTSLD_test1')
        self.uiINTSLD_test2 = m.intSlider('uiINTSLD_test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIntSliderGroups = self.uiCreateFrame('uiLAY_frameIntSliderGroups',
                                                             'Int Slider Groups (PMIntSliderGrp)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiINSGRP_test1 = m.intSliderGrp(
            'uiINSGRP_test1',
            label='test1',
            field=True
        )
        self.uiINSGRP_test2 = m.intSliderGrp(
            'uiINSGRP_test2',
            label='test2',
            field=True
        )

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameOptionMenus = self.uiCreateFrame('uiLAY_frameOptionMenus', 'Option Menus (PMOptionMenu)')

        m.columnLayout()

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

        m.rowLayout(numberOfColumns=3)

        m.separator(width=110, style='none')
        self.uiOPTMNU_test1 = m.optionMenu('uiOPTMNU_test1', label='test1')
        m.menuItem(label='one')
        m.menuItem(label='two')
        m.menuItem(label='three')
        self.uiOPTMNU_test2 = m.optionMenu('uiOPTMNU_test2', label='test2')
        m.menuItem(label='four')
        m.menuItem(label='five')
        m.menuItem(label='six')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameOptionMenuGroups = self.uiCreateFrame('uiLAY_frameOptionMenuGroups',
                                                              'Option Menus Groups (PMOptionMenuGrp)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiOPMGRP_test1 = m.optionMenuGrp('uiOPMGRP_test1', label='test1', extraLabel='extraLabel')
        m.menuItem(label='one')
        m.menuItem(label='two')
        m.menuItem(label='three')
        self.uiOPMGRP_test2 = m.optionMenuGrp('uiOPMGRP_test2', label='test2', extraLabel='extraLabel')
        m.menuItem(label='four')
        m.menuItem(label='five')
        m.menuItem(label='six')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameRadioButtons = self.uiCreateFrame('uiLAY_frameRadioButtons', 'Radio Buttons (PMRadioButton)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=4)

        m.separator(style='none', width=140)
        m.radioCollection()
        self.uiRAD_test1 = m.radioButton('uiRAD_test1', label='test1')
        self.uiRAD_test2 = m.radioButton('uiRAD_test2', label='test2')
        self.uiRAD_test3 = m.radioButton('uiRAD_test3', label='test3')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameRadioButtonGroups = self.uiCreateFrame('uiLAY_frameRadioButtonGroups',
                                                               'Radio Button Groups (PMRadioButtonGrp#)')

        m.columnLayout()
        m.separator(style='none', height=2)
        self.uiRADGRP_test1 = m.radioButtonGrp(
            'uiRADGRP_test1',
            numberOfRadioButtons=1,
            label='PMRadioButtonGrp1',
            label1='test1'
        )
        self.uiRADGRP_test2 = m.radioButtonGrp(
            'uiRADGRP_test2',
            numberOfRadioButtons=2,
            label='PMRadioButtonGrp2',
            labelArray2=('test1', 'test2')
        )
        self.uiRADGRP_test3 = m.radioButtonGrp(
            'uiRADGRP_test3',
            numberOfRadioButtons=3,
            label='PMRadioButtonGrp3',
            labelArray3=('test1', 'test2', 'test3')
        )
        self.uiRADGRP_test4 = m.radioButtonGrp(
            'uiRADGRP_test4',
            numberOfRadioButtons=4,
            label='PMRadioButtonGrp4',
            labelArray4=('test1', 'test2', 'test3', 'test4')
        )

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameSymbolCheckBoxes = self.uiCreateFrame('uiLAY_frameSymbolCheckBoxes',
                                                              'Symbol Check Boxes (PMSymbolCheckBox)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=3)

        m.separator(style='none', width=140)
        self.uiSYMCHK_test1 = m.symbolCheckBox(
            'uiSYMCHK_test1',
            image='polyCube'
        )
        self.uiSYMCHK_test2 = m.symbolCheckBox(
            'uiSYMCHK_test2',
            image='polyCone'
        )

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameScriptTables = self.uiCreateFrame('uiLAY_frameScriptTables', 'Script Tables (PMScriptTable)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=3)

        m.separator(style='none', width=140)
        self.uiSCRTBL_test1 = m.scriptTable(
            'uiSCRTBL_test1',
            selectionMode=3,
            rows=4,
            columns=2
        )
        self.uiSCRTBL_test2 = m.scriptTable(
            'uiSCRTBL_test2',
            selectionMode=3,
            rows=4,
            columns=2
        )

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameScrollField = self.uiCreateFrame('uiLAY_frameScrollField', 'Scroll Field (PMScrollField)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=3)

        m.separator(style='none', width=140)
        self.uiSCRFLD_test1 = m.scrollField(
            'uiSCRFLD_test1',
            wordWrap=True
        )
        self.uiSCRFLD_test2 = m.scrollField(
            'uiSCRFLD_test2',
            wordWrap=True
        )

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameShelfTabLayout = self.uiCreateFrame('uiLAY_frameShelfTabLayout',
                                                            'Shelf Tab Layout (PMShelfTabLayout)')

        m.columnLayout(adjustableColumn=True)

        self.uiSHLTAB_test1 = m.shelfTabLayout()

        m.shelfLayout('test1')
        m.setParent('..')
        m.shelfLayout('test2')
        m.setParent('..')
        m.shelfLayout('test3')
        m.setParent('..')

        m.setParent('..')

        self.uiSHLTAB_test2 = m.shelfTabLayout()

        m.shelfLayout('test4')
        m.setParent('..')
        m.shelfLayout('test5')
        m.setParent('..')
        m.shelfLayout('test6')
        m.setParent('..')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameTabLayout = self.uiCreateFrame('uiLAY_frameTabLayout', 'Tab Layout (PMTabLayout)')

        m.columnLayout(adjustableColumn=True)

        self.uiTAB_test1 = m.tabLayout()

        uiLAY_tabRow1 = m.rowLayout(numberOfColumns=1)
        m.setParent('..')
        uiLAY_tabRow2 = m.rowLayout(numberOfColumns=1)
        m.setParent('..')
        uiLAY_tabRow3 = m.rowLayout(numberOfColumns=1)
        m.setParent('..')

        m.setParent('..')

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

        self.uiTAB_test2 = m.tabLayout()

        uiLAY_tabRow4 = m.rowLayout(numberOfColumns=1)
        m.setParent('..')
        uiLAY_tabRow5 = m.rowLayout(numberOfColumns=1)
        m.setParent('..')
        uiLAY_tabRow6 = m.rowLayout(numberOfColumns=1)
        m.setParent('..')

        m.setParent('..')

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

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameTextFields = self.uiCreateFrame('uiLAY_frameTextFields', 'Text Fields (PMTextField)')

        m.columnLayout()

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

        m.rowLayout(numberOfColumns=3)

        m.separator(width=140, style='none')
        self.uiTXT_test1 = m.textField('uiTXT_test1')
        self.uiTXT_test2 = m.textField('uiTXT_test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameTextFieldButtonGroups = self.uiCreateFrame('uiLAY_frameTextFieldButtonGroups',
                                                                   'Text Field Button Groups (PMTextFieldButtonGrp)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiTXBTGR_test1 = m.textFieldButtonGrp(
            'uiTXBTGR_test1',
            label='test1',
            buttonLabel='button1'
        )
        self.uiTXBTGR_test2 = m.textFieldButtonGrp(
            'uiTXBTGR_test2',
            label='test2',
            buttonLabel='button2'
        )

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameTextFieldGroups = self.uiCreateFrame('uiLAY_frameTextFieldGroups',
                                                             'Text Field Groups (PMTextFieldGrp)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiTXTGRP_test1 = m.textFieldGrp(
            'uiTXTGRP_test1',
            label='test1'
        )
        self.uiTXTGRP_test2 = m.textFieldGrp(
            'uiTXTGRP_test2',
            label='test2'
        )

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameTextScrollLists = self.uiCreateFrame('uiLAY_frameTextScrollLists',
                                                             'Text Scroll Lists (PMTextScrollList)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=3)

        m.separator(style='none', width=140)
        self.uiTXTLST_test1 = m.textScrollList(
            'uiTXTLST_test1',
            allowMultiSelection=True,
            append=('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten')
        )
        self.uiTXTLST_test2 = m.textScrollList(
            'uiTXTLST_test2',
            allowMultiSelection=True,
            append=('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten')
        )

        # --------
        m.setParent(uiLAY_mainForm)

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

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

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

        m.setParent('..')  # -> window

        m.formLayout(uiLAY_mainForm, e=True, attachForm=[(self.uiLAY_mainScroll, 'top', 2)])
        m.formLayout(uiLAY_mainForm, e=True, attachForm=[(self.uiLAY_mainScroll, 'left', 2)])
        m.formLayout(uiLAY_mainForm, e=True, attachForm=[(self.uiLAY_mainScroll, 'right', 2)])
        m.formLayout(uiLAY_mainForm, e=True, attachControl=[(self.uiLAY_mainScroll, 'bottom', 2, self.uiBTN_savePrefs)])

        m.formLayout(uiLAY_mainForm, e=True, attachNone=[(self.uiBTN_savePrefs, 'top')])
        m.formLayout(uiLAY_mainForm, e=True, attachForm=[(self.uiBTN_savePrefs, 'left', 2)])
        m.formLayout(uiLAY_mainForm, e=True, attachPosition=[(self.uiBTN_savePrefs, 'right', 2, 33)])
        m.formLayout(uiLAY_mainForm, e=True, attachForm=[(self.uiBTN_savePrefs, 'bottom', 2)])

        m.formLayout(uiLAY_mainForm, e=True, attachNone=[(self.uiBTN_loadPrefs, 'top')])
        m.formLayout(uiLAY_mainForm, e=True, attachPosition=[(self.uiBTN_loadPrefs, 'left', 2, 33)])
        m.formLayout(uiLAY_mainForm, e=True, attachPosition=[(self.uiBTN_loadPrefs, 'right', 2, 66)])
        m.formLayout(uiLAY_mainForm, e=True, attachForm=[(self.uiBTN_loadPrefs, 'bottom', 2)])

        m.formLayout(uiLAY_mainForm, e=True, attachNone=[(self.uiBTN_resetPrefs, 'top')])
        m.formLayout(uiLAY_mainForm, e=True, attachPosition=[(self.uiBTN_resetPrefs, 'left', 2, 66)])
        m.formLayout(uiLAY_mainForm, e=True, attachForm=[(self.uiBTN_resetPrefs, 'right', 2)])
        m.formLayout(uiLAY_mainForm, e=True, attachForm=[(self.uiBTN_resetPrefs, 'bottom', 2)])

        m.showWindow(self.window)
Ejemplo n.º 18
0
    def uiCreate(self):

        self.onCloseClicked()

        self.window = m.window(WIN_NAME,
                               title='Maya Window',
                               maximizeButton=False)

        uiLAY_mainForm = m.formLayout()

        self.uiLAY_mainScroll = m.scrollLayout(childResizable=True)

        mainColumn = m.columnLayout(
            adjustableColumn=True)  # main column layout with frames

        # --------
        self.uiLAY_frameCheckBoxes = self.uiCreateFrame(
            'uiLAY_frameCheckBoxes', 'Check Boxes (PMCheckBox)')

        m.columnLayout()

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

        m.rowLayout(numberOfColumns=3)

        m.separator(width=140, style='none')
        self.uiCHK_test1 = m.checkBox('uiCHK_test1', label='test1')
        self.uiCHK_test2 = m.checkBox('uiCHK_test2', label='test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameCheckBoxGroups = self.uiCreateFrame(
            'uiLAY_frameCheckBoxGroups', 'Check Box Groups (PMCheckBoxGrp#)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiCHKGRP_test1 = m.checkBoxGrp('uiCHKGRP_test1',
                                            numberOfCheckBoxes=1,
                                            label='PMCheckBoxGrp1',
                                            label1='test1')
        self.uiCHKGRP_test2 = m.checkBoxGrp('uiCHKGRP_test2',
                                            numberOfCheckBoxes=2,
                                            label='PMCheckBoxGrp2',
                                            labelArray2=('test1', 'test2'))
        self.uiCHKGRP_test3 = m.checkBoxGrp('uiCHKGRP_test3',
                                            numberOfCheckBoxes=3,
                                            label='PMCheckBoxGrp3',
                                            labelArray3=('test1', 'test2',
                                                         'test3'))
        self.uiCHKGRP_test4 = m.checkBoxGrp('uiCHKGRP_test4',
                                            numberOfCheckBoxes=4,
                                            label='PMCheckBoxGrp4',
                                            labelArray4=('test1', 'test2',
                                                         'test3', 'test4'))

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameColorSliders = self.uiCreateFrame(
            'uiLAY_frameColorSliders',
            'Color Slider Groups (PMColorSliderGrp)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiCLRGRP_test1 = m.colorSliderGrp('uiCLRGRP_test1', label='test1')
        self.uiCLRGRP_test2 = m.colorSliderGrp('uiCLRGRP_test2', label='test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameFloatFields = self.uiCreateFrame(
            'uiLAY_frameFloatFields', 'Float Fields (PMFloatField)')

        m.columnLayout()

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

        m.rowLayout(numberOfColumns=3)
        m.separator(width=140, style='none')
        self.uiFLF_test1 = m.floatField('uiFLF_test1')
        self.uiFLF_test2 = m.floatField('uiFLF_test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameFloatFieldGroups = self.uiCreateFrame(
            'uiLAY_frameFloatFieldGroups',
            'Float Field Groups (PMFloatFieldGrp#)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiFLFGRP_test1 = m.floatFieldGrp('uiFLFGRP_test1',
                                              numberOfFields=1,
                                              label='PMFloatFieldGrp1')
        self.uiFLFGRP_test2 = m.floatFieldGrp('uiFLFGRP_test2',
                                              numberOfFields=2,
                                              label='PMFloatFieldGrp2')
        self.uiFLFGRP_test3 = m.floatFieldGrp('uiFLFGRP_test3',
                                              numberOfFields=3,
                                              label='PMFloatFieldGrp3')
        self.uiFLFGRP_test4 = m.floatFieldGrp('uiFLFGRP_test4',
                                              numberOfFields=4,
                                              label='PMFloatFieldGrp4')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameFloatScrollBars = self.uiCreateFrame(
            'uiLAY_frameFloatScrollBars',
            'Float Scroll Bars (PMFloatScrollBar)')

        m.columnLayout(adjustableColumn=True)

        m.separator(style='none', height=2)
        self.uiFLSCRL_test1 = m.floatScrollBar('uiFLSCRL_test1')
        self.uiFLSCRL_test2 = m.floatScrollBar('uiFLSCRL_test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameFloatSliders = self.uiCreateFrame(
            'uiLAY_frameFloatSliders', 'Float Sliders (PMFloatSlider)')

        m.columnLayout(adjustableColumn=True)

        m.separator(style='none', height=2)
        self.uiFLTSLD_test1 = m.floatSlider('uiFLTSLD_test1')
        self.uiFLTSLD_test2 = m.floatSlider('uiFLTSLD_test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameFloatSliderGroups = self.uiCreateFrame(
            'uiLAY_frameFloatSliderGroups',
            'Float Slider Groups (PMFloatSliderGrp)')
        m.columnLayout()
        m.separator(style='none', height=2)
        self.uiFLSGRP_test1 = m.floatSliderGrp('uiFLSGRP_test1',
                                               label='test1',
                                               field=True)
        self.uiFLSGRP_test2 = m.floatSliderGrp('uiFLSGRP_test2',
                                               label='test2',
                                               field=True)

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIconTextCheckBoxes = self.uiCreateFrame(
            'uiLAY_frameIconTextCheckBoxes',
            'Icon Text Check Boxes (PMIconTextCheckBox)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=3)

        m.separator(style='none', width=140)
        self.uiITCHK_test1 = m.iconTextCheckBox('uiITCHK_test1',
                                                style='iconAndTextHorizontal',
                                                label='cube',
                                                image1='cube')
        self.uiITCHK_test2 = m.iconTextCheckBox('uiITCHK_test2',
                                                style='iconAndTextHorizontal',
                                                label='cone',
                                                image1='cone')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIconTextRadioButtons = self.uiCreateFrame(
            'uiLAY_frameIconTextRadioButtons',
            'Icon Text Radio Buttons (PMIconTextRadioButton)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=4)

        m.separator(style='none', width=140)
        m.iconTextRadioCollection()
        self.uiITRAD_test1 = m.iconTextRadioButton(
            'uiITRAD_test1',
            style='iconAndTextHorizontal',
            label='cube',
            image1='cube')
        self.uiITRAD_test2 = m.iconTextRadioButton(
            'uiITRAD_test2',
            style='iconAndTextHorizontal',
            label='cone',
            image1='cone')
        self.uiITRAD_test3 = m.iconTextRadioButton(
            'uiITRAD_test3',
            style='iconAndTextHorizontal',
            label='torus',
            image1='torus')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIconTextScrollLists = self.uiCreateFrame(
            'uiLAY_frameIconTextScrollLists',
            'Icon Text Scroll Lists (PMIconTextScrollList)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=3)

        m.separator(style='none', width=140)
        self.uiITSLST_test1 = m.iconTextScrollList(
            'uiITSLST_test1',
            allowMultiSelection=True,
            append=('one', 'two', 'three', 'four', 'five', 'six', 'seven',
                    'eight', 'nine', 'ten'))
        self.uiITSLST_test2 = m.iconTextScrollList(
            'uiITSLST_test2',
            allowMultiSelection=True,
            append=('one', 'two', 'three', 'four', 'five', 'six', 'seven',
                    'eight', 'nine', 'ten'))

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIntFields = self.uiCreateFrame(
            'uiLAY_frameIntFields', 'Int Fields (PMIntField)')

        m.columnLayout()

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

        m.rowLayout(numberOfColumns=3)

        m.separator(width=140, style='none')
        self.uiINF_test1 = m.intField('uiINF_test1')
        self.uiINF_test2 = m.intField('uiINF_test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIntFieldGroups = self.uiCreateFrame(
            'uiLAY_frameIntFieldGroups', 'Int Field Groups (PMIntFieldGrp#)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiINFGRP_test1 = m.intFieldGrp('uiINFGRP_test1',
                                            numberOfFields=1,
                                            label='PMIntFieldGrp1')
        self.uiINFGRP_test2 = m.intFieldGrp('uiINFGRP_test2',
                                            numberOfFields=2,
                                            label='PMIntFieldGrp2')
        self.uiINFGRP_test3 = m.intFieldGrp('uiINFGRP_test3',
                                            numberOfFields=3,
                                            label='PMIntFieldGrp3')
        self.uiINFGRP_test4 = m.intFieldGrp('uiINFGRP_test4',
                                            numberOfFields=4,
                                            label='PMIntFieldGrp4')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIntScrollBars = self.uiCreateFrame(
            'uiLAY_frameIntScrollBars', 'Int Scroll Bars (PMIntScrollBar)')

        m.columnLayout(adjustableColumn=True)

        m.separator(style='none', height=2)
        self.uiINSCRL_test1 = m.intScrollBar('uiINSCRL_test1')
        self.uiINSCRL_test2 = m.intScrollBar('uiINSCRL_test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIntSliders = self.uiCreateFrame(
            'uiLAY_frameIntSliders', 'Int Sliders (PMIntSlider)')

        m.columnLayout(adjustableColumn=True)

        m.separator(style='none', height=2)
        self.uiINTSLD_test1 = m.intSlider('uiINTSLD_test1')
        self.uiINTSLD_test2 = m.intSlider('uiINTSLD_test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameIntSliderGroups = self.uiCreateFrame(
            'uiLAY_frameIntSliderGroups', 'Int Slider Groups (PMIntSliderGrp)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiINSGRP_test1 = m.intSliderGrp('uiINSGRP_test1',
                                             label='test1',
                                             field=True)
        self.uiINSGRP_test2 = m.intSliderGrp('uiINSGRP_test2',
                                             label='test2',
                                             field=True)

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameOptionMenus = self.uiCreateFrame(
            'uiLAY_frameOptionMenus', 'Option Menus (PMOptionMenu)')

        m.columnLayout()

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

        m.rowLayout(numberOfColumns=3)

        m.separator(width=110, style='none')
        self.uiOPTMNU_test1 = m.optionMenu('uiOPTMNU_test1', label='test1')
        m.menuItem(label='one')
        m.menuItem(label='two')
        m.menuItem(label='three')
        self.uiOPTMNU_test2 = m.optionMenu('uiOPTMNU_test2', label='test2')
        m.menuItem(label='four')
        m.menuItem(label='five')
        m.menuItem(label='six')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameOptionMenuGroups = self.uiCreateFrame(
            'uiLAY_frameOptionMenuGroups',
            'Option Menus Groups (PMOptionMenuGrp)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiOPMGRP_test1 = m.optionMenuGrp('uiOPMGRP_test1',
                                              label='test1',
                                              extraLabel='extraLabel')
        m.menuItem(label='one')
        m.menuItem(label='two')
        m.menuItem(label='three')
        self.uiOPMGRP_test2 = m.optionMenuGrp('uiOPMGRP_test2',
                                              label='test2',
                                              extraLabel='extraLabel')
        m.menuItem(label='four')
        m.menuItem(label='five')
        m.menuItem(label='six')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameRadioButtons = self.uiCreateFrame(
            'uiLAY_frameRadioButtons', 'Radio Buttons (PMRadioButton)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=4)

        m.separator(style='none', width=140)
        m.radioCollection()
        self.uiRAD_test1 = m.radioButton('uiRAD_test1', label='test1')
        self.uiRAD_test2 = m.radioButton('uiRAD_test2', label='test2')
        self.uiRAD_test3 = m.radioButton('uiRAD_test3', label='test3')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameRadioButtonGroups = self.uiCreateFrame(
            'uiLAY_frameRadioButtonGroups',
            'Radio Button Groups (PMRadioButtonGrp#)')

        m.columnLayout()
        m.separator(style='none', height=2)
        self.uiRADGRP_test1 = m.radioButtonGrp('uiRADGRP_test1',
                                               numberOfRadioButtons=1,
                                               label='PMRadioButtonGrp1',
                                               label1='test1')
        self.uiRADGRP_test2 = m.radioButtonGrp('uiRADGRP_test2',
                                               numberOfRadioButtons=2,
                                               label='PMRadioButtonGrp2',
                                               labelArray2=('test1', 'test2'))
        self.uiRADGRP_test3 = m.radioButtonGrp('uiRADGRP_test3',
                                               numberOfRadioButtons=3,
                                               label='PMRadioButtonGrp3',
                                               labelArray3=('test1', 'test2',
                                                            'test3'))
        self.uiRADGRP_test4 = m.radioButtonGrp('uiRADGRP_test4',
                                               numberOfRadioButtons=4,
                                               label='PMRadioButtonGrp4',
                                               labelArray4=('test1', 'test2',
                                                            'test3', 'test4'))

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameSymbolCheckBoxes = self.uiCreateFrame(
            'uiLAY_frameSymbolCheckBoxes',
            'Symbol Check Boxes (PMSymbolCheckBox)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=3)

        m.separator(style='none', width=140)
        self.uiSYMCHK_test1 = m.symbolCheckBox('uiSYMCHK_test1',
                                               image='polyCube')
        self.uiSYMCHK_test2 = m.symbolCheckBox('uiSYMCHK_test2',
                                               image='polyCone')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameScriptTables = self.uiCreateFrame(
            'uiLAY_frameScriptTables', 'Script Tables (PMScriptTable)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=3)

        m.separator(style='none', width=140)
        self.uiSCRTBL_test1 = m.scriptTable('uiSCRTBL_test1',
                                            selectionMode=3,
                                            rows=4,
                                            columns=2)
        self.uiSCRTBL_test2 = m.scriptTable('uiSCRTBL_test2',
                                            selectionMode=3,
                                            rows=4,
                                            columns=2)

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameScrollField = self.uiCreateFrame(
            'uiLAY_frameScrollField', 'Scroll Field (PMScrollField)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=3)

        m.separator(style='none', width=140)
        self.uiSCRFLD_test1 = m.scrollField('uiSCRFLD_test1', wordWrap=True)
        self.uiSCRFLD_test2 = m.scrollField('uiSCRFLD_test2', wordWrap=True)

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameShelfTabLayout = self.uiCreateFrame(
            'uiLAY_frameShelfTabLayout', 'Shelf Tab Layout (PMShelfTabLayout)')

        m.columnLayout(adjustableColumn=True)

        self.uiSHLTAB_test1 = m.shelfTabLayout()

        m.shelfLayout('test1')
        m.setParent('..')
        m.shelfLayout('test2')
        m.setParent('..')
        m.shelfLayout('test3')
        m.setParent('..')

        m.setParent('..')

        self.uiSHLTAB_test2 = m.shelfTabLayout()

        m.shelfLayout('test4')
        m.setParent('..')
        m.shelfLayout('test5')
        m.setParent('..')
        m.shelfLayout('test6')
        m.setParent('..')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameTabLayout = self.uiCreateFrame(
            'uiLAY_frameTabLayout', 'Tab Layout (PMTabLayout)')

        m.columnLayout(adjustableColumn=True)

        self.uiTAB_test1 = m.tabLayout()

        uiLAY_tabRow1 = m.rowLayout(numberOfColumns=1)
        m.setParent('..')
        uiLAY_tabRow2 = m.rowLayout(numberOfColumns=1)
        m.setParent('..')
        uiLAY_tabRow3 = m.rowLayout(numberOfColumns=1)
        m.setParent('..')

        m.setParent('..')

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

        self.uiTAB_test2 = m.tabLayout()

        uiLAY_tabRow4 = m.rowLayout(numberOfColumns=1)
        m.setParent('..')
        uiLAY_tabRow5 = m.rowLayout(numberOfColumns=1)
        m.setParent('..')
        uiLAY_tabRow6 = m.rowLayout(numberOfColumns=1)
        m.setParent('..')

        m.setParent('..')

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

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameTextFields = self.uiCreateFrame(
            'uiLAY_frameTextFields', 'Text Fields (PMTextField)')

        m.columnLayout()

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

        m.rowLayout(numberOfColumns=3)

        m.separator(width=140, style='none')
        self.uiTXT_test1 = m.textField('uiTXT_test1')
        self.uiTXT_test2 = m.textField('uiTXT_test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameTextFieldButtonGroups = self.uiCreateFrame(
            'uiLAY_frameTextFieldButtonGroups',
            'Text Field Button Groups (PMTextFieldButtonGrp)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiTXBTGR_test1 = m.textFieldButtonGrp('uiTXBTGR_test1',
                                                   label='test1',
                                                   buttonLabel='button1')
        self.uiTXBTGR_test2 = m.textFieldButtonGrp('uiTXBTGR_test2',
                                                   label='test2',
                                                   buttonLabel='button2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameTextFieldGroups = self.uiCreateFrame(
            'uiLAY_frameTextFieldGroups', 'Text Field Groups (PMTextFieldGrp)')

        m.columnLayout()

        m.separator(style='none', height=2)
        self.uiTXTGRP_test1 = m.textFieldGrp('uiTXTGRP_test1', label='test1')
        self.uiTXTGRP_test2 = m.textFieldGrp('uiTXTGRP_test2', label='test2')

        m.setParent(mainColumn)

        # --------
        self.uiLAY_frameTextScrollLists = self.uiCreateFrame(
            'uiLAY_frameTextScrollLists',
            'Text Scroll Lists (PMTextScrollList)')

        m.columnLayout()

        m.rowLayout(numberOfColumns=3)

        m.separator(style='none', width=140)
        self.uiTXTLST_test1 = m.textScrollList(
            'uiTXTLST_test1',
            allowMultiSelection=True,
            append=('one', 'two', 'three', 'four', 'five', 'six', 'seven',
                    'eight', 'nine', 'ten'))
        self.uiTXTLST_test2 = m.textScrollList(
            'uiTXTLST_test2',
            allowMultiSelection=True,
            append=('one', 'two', 'three', 'four', 'five', 'six', 'seven',
                    'eight', 'nine', 'ten'))

        # --------
        m.setParent(uiLAY_mainForm)

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

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

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

        m.setParent('..')  # -> window

        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachForm=[(self.uiLAY_mainScroll, 'top', 2)])
        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachForm=[(self.uiLAY_mainScroll, 'left', 2)])
        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachForm=[(self.uiLAY_mainScroll, 'right', 2)])
        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachControl=[(self.uiLAY_mainScroll, 'bottom', 2,
                                     self.uiBTN_savePrefs)])

        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachNone=[(self.uiBTN_savePrefs, 'top')])
        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachForm=[(self.uiBTN_savePrefs, 'left', 2)])
        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachPosition=[(self.uiBTN_savePrefs, 'right', 2, 33)])
        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachForm=[(self.uiBTN_savePrefs, 'bottom', 2)])

        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachNone=[(self.uiBTN_loadPrefs, 'top')])
        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachPosition=[(self.uiBTN_loadPrefs, 'left', 2, 33)])
        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachPosition=[(self.uiBTN_loadPrefs, 'right', 2, 66)])
        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachForm=[(self.uiBTN_loadPrefs, 'bottom', 2)])

        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachNone=[(self.uiBTN_resetPrefs, 'top')])
        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachPosition=[(self.uiBTN_resetPrefs, 'left', 2, 66)])
        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachForm=[(self.uiBTN_resetPrefs, 'right', 2)])
        m.formLayout(uiLAY_mainForm,
                     e=True,
                     attachForm=[(self.uiBTN_resetPrefs, 'bottom', 2)])

        m.showWindow(self.window)
    def updatePoseScopeTable(self, *args):
        MSelectionList = OpenMaya.MGlobal.getActiveSelectionList()
        # I can do something to help about refresh here ...
        if MSelectionList.length() == 0:
            return

        # I can do something here to search input mesh from poseScopes too ...
        poseScopeInfos = self.getPoseScopesInfos()

        if poseScopeInfos == None:
            return

        cmds.scriptTable('table', e=True, clearTable=True)
        for i in range(0, cmds.scriptTable('table', q=True, rows=True)):
            cmds.scriptTable('table', e=True, deleteRow=(i + 1))

        if len(poseScopeInfos[1]):
            cmds.textFieldButtonGrp('getInfosControl',
                                    e=True,
                                    tx=poseScopeInfos[0])
            cmds.scriptTable('table', edit=True, rows=len(poseScopeInfos[1]))

            for i in range(0, len(poseScopeInfos[1])):
                cmds.scriptTable('table',
                                 cellIndex=(i + 1, 1),
                                 edit=True,
                                 cellValue=poseScopeInfos[1][i])
                cmds.scriptTable('table',
                                 cellIndex=(i + 1, 2),
                                 edit=True,
                                 cellValue=poseScopeInfos[2][i])
                isVisible = cmds.getAttr(
                    cmds.scriptTable(
                        'table', q=True, cellIndex=(i + 1,
                                                    1), cellValue=True)[0] +
                    '.visibility')

                cmds.scriptTable('table',
                                 edit=True,
                                 cellIndex=(i + 1, 3),
                                 cellValue=isVisible)
        else:
            return

        cmds.scriptTable('table', e=True, sm=3)
        return
def setRigAttribute(*args):

    cmds.select(hierarchy=True)
    oSel = cmds.ls(sl=True, type='transform')    
    #print oSel

    row = 1

    for i in oSel:
        
        add_row()

        #name
        #print i
        cmds.scriptTable('table', cellIndex=(row,1), edit=True, cellValue=row-1)
        cmds.scriptTable('table', cellIndex=(row,2), edit=True, cellValue=i)
        
        numAttrib = 0

        for att in cmds.listAttr(i, unlocked = True , settable = True, visible = True , keyable = True, connectable = False, scalar = True, write = True, hd = True, hnd = False) or []:

            # only limited for translate and rotate
            if 'translate' in att or 'rotate' in att:
        
                #Tmpsel = cmds.ls(sl=True,type='transform')[0] 

                gettype = cmds.getAttr(i + "." + att, type=True)

                col = numAttrib*2 + 4

                if gettype == "bool":
                    BoolValue = cmds.getAttr(i + "." + att)
                    #print '%s : %i', att, BoolValue
                    cmds.scriptTable('table', cellIndex=(row,col), edit=True, cellValue=att)
                    cmds.scriptTable('table', cellIndex=(row,col+1), edit=True, cellValue=BoolValue)
                else:
                    getValue = cmds.getAttr(i + "." + att)
                    #print "[%s] %f" %(att, getValue)
                    cmds.scriptTable('table', cellIndex=(row,col), edit=True, cellValue=att)
                    cmds.scriptTable('table', cellIndex=(row,col+1), edit=True, cellValue=getValue)
#                    print getValue

                numAttrib = numAttrib + 1

        # add num of attribute
        cmds.scriptTable('table', cellIndex=(row,3), edit=True, cellValue=numAttrib)
        row = row + 1
Ejemplo n.º 21
0
def loadfclonemotion(*args):

    all_rows = cmds.scriptTable('scrtable', query=True, rows=True)
    global recstart
    if all_rows > 1 and recstart == 0:

        motionfile = pm.fileDialog2(fileMode=1)
        cmds.currentUnit(time='ntsc')
        numcurrenttime = cmds.currentTime(query=True)

        if motionfile:
            o_file = open(str(motionfile[0]), 'r')
            reader = csv.reader(o_file)
            #header = next(reader)

            row_no = 0
            for row in reader:
                if row_no > 0 and len(row) > 5:

                    bonename = cmds.textField('HeadbonenameF', q=True, tx=True)

                    if len(bonename) > 0:
                        cX = cmds.textField('HeadbonenameXF', q=True, tx=True)
                        cY = cmds.textField('HeadbonenameYF', q=True, tx=True)
                        cZ = cmds.textField('HeadbonenameZF', q=True, tx=True)
                        CrX = 0
                        CrY = 0
                        CrZ = 0
                        if cX.replace(".", "").isdigit():
                            CrX = float(cX)
                        if cY.replace(".", "").isdigit():
                            CrY = float(cY)
                        if cZ.replace(".", "").isdigit():
                            CrZ = float(cZ)

                        bjoint = pm.PyNode(bonename)
                        #pm.rotate(bjoint, [float(row[1])*-1+CrX ,float(row[2])*-1+CrY,float(row[3])*-1+CrZ], euler= True,a=True, ws=False)
                        pm.setKeyframe(
                            bjoint,
                            v=float(row[1]) * -1 + CrX,
                            attribute='rotateX',
                            t=[str(row_no + numcurrenttime - 1) + "ntsc"])
                        pm.setKeyframe(
                            bjoint,
                            v=float(row[2]) * -1 + CrY,
                            attribute='rotateY',
                            t=[str(row_no + numcurrenttime - 1) + "ntsc"])
                        pm.setKeyframe(
                            bjoint,
                            v=float(row[3]) * -1 + CrZ,
                            attribute='rotateZ',
                            t=[str(row_no + numcurrenttime - 1) + "ntsc"])

                    for o_r in range(all_rows):
                        all_colums = cmds.scriptTable('scrtable',
                                                      query=True,
                                                      columns=True)
                        data_list = []
                        for o_c in range(all_colums):
                            cell_list = cmds.scriptTable('scrtable',
                                                         cellIndex=(o_r, o_c),
                                                         query=True,
                                                         cellValue=True)
                            if type(cell_list) == 'list':
                                cell_text = "".join(cell_list)
                            elif cell_list == None:
                                cell_text = cell_list
                            else:
                                cell_text = cell_list[0]

                            data_list.append(cell_text)
                        #print(data_list)
                        if o_r > 0:
                            streng = 1.0
                            if data_list[4].replace(".", "").isdigit():
                                streng = float(data_list[4])
                            recdataDeformStreng = (
                                ((float(row[int(data_list[6]) - 2 + 3 + 1])) +
                                 0.0) / 100.0) * (streng + 0.0)
                            targetdefnum = int(data_list[5]) - 2
                            cmds.blendShape(selectedBlend,
                                            edit=True,
                                            w=[(targetdefnum,
                                                recdataDeformStreng)])
                            cmds.setKeyframe(
                                "%s.w[%i]" % (selectedBlend, targetdefnum),
                                t=str(row_no + numcurrenttime - 1) + "ntsc")

                row_no = 1 + row_no
            o_file.close()
def add_row(*args):
    last_row_num = cmds.scriptTable('table', query=True, rows=True)
    cmds.scriptTable('table', edit=True,insertRow=last_row_num)
Ejemplo n.º 23
0
def deformface():
    global dataarray  # dataarray는 전역변수
    if len(dataarray) < 3:  # 3개는 x, y, z 그 세개라도 오면 목 움직임이라도 구현.
        return 0

    all_rows = cmds.scriptTable(
        'scrtable', query=True,
        rows=True)  # scrtable은 노란 창. 거기 있는 것들 받아와서 all_rows에 넣어주는 것.
    global recstart
    global gnumcurrenttime  # gnumcurrenttime은 현재시간. 기본 값은 1로 되어있고 1프레임으로 계속 하는 것. 별거 아님.
    if all_rows > 1 and recstart == 1:  # recstart는 토글버튼. 첨엔 0 인데 start real time expression누르면 1 0 1 0 바뀜.
        ornum = 1

        numcurrenttime = gnumcurrenttime
        bonename = cmds.textField('HeadbonenameF', q=True, tx=True)

        if len(
                bonename
        ) > 0:  # bonename > 0 == 값이 있으면. 목 링크. 내꺼에선 Character1_Ctrl_Neck. bonename 0 , 180, 0 해놓고 저장.
            cX = cmds.textField('HeadbonenameXF', q=True,
                                tx=True)  # cX, cY, cZ는
            cY = cmds.textField('HeadbonenameYF', q=True, tx=True)
            cZ = cmds.textField('HeadbonenameZF', q=True, tx=True)
            CrX = 0
            CrY = 0
            CrZ = 0
            if cX.replace(".", "").isdigit():
                CrX = float(cX)
            if cY.replace(".", "").isdigit():
                CrY = float(cY)
            if cZ.replace(".", "").isdigit():
                CrZ = float(cZ)

            bjoint = pm.PyNode(bonename)
            pm.rotate(bjoint, [
                float(dataarray[0]) * -1 + CrX,
                float(dataarray[1]) * -1 + CrY,
                float(dataarray[2]) * -1 + CrZ
            ],
                      euler=True,
                      a=True,
                      ws=False)
            #if recnow ==1
            pm.setKeyframe(bjoint,
                           v=float(dataarray[0]) * -1 + CrX,
                           attribute='rotateX',
                           t=[numcurrenttime])
            pm.setKeyframe(bjoint,
                           v=float(dataarray[1]) * -1 + CrY,
                           attribute='rotateY',
                           t=[numcurrenttime])
            pm.setKeyframe(bjoint,
                           v=float(dataarray[2]) * -1 + CrZ,
                           attribute='rotateZ',
                           t=[numcurrenttime])

        for i in range(all_rows):
            all_colums = cmds.scriptTable('scrtable', query=True, columns=True)
            data_list = []
            for j in range(all_colums):
                cell_list = cmds.scriptTable('scrtable',
                                             cellIndex=(i, j),
                                             query=True,
                                             cellValue=True)
                if type(cell_list) == 'list':
                    cell_text = "".join(cell_list)
                elif cell_list == None:
                    cell_text = cell_list
                else:
                    cell_text = cell_list[0]

                data_list.append(cell_text)

            if i > 0 and len(dataarray) > 3:
                streng = 1.0
                if data_list[4].replace(".", "").isdigit():
                    streng = float(data_list[4])
                #recdataDeformStreng = (((float(dataarray[int(data_list[6])-2+3]))+0.0)/100.0)*(streng+0.0)
                recdataDeformStreng = ((
                    (float(dataarray[int(data_list[6]) - 2 + 3])) + 0.0) /
                                       33.0) * (streng + 0.0)
                targetdefnum = int(data_list[5]) - 2
                cmds.blendShape(selectedBlend,
                                edit=True,
                                w=[(targetdefnum, recdataDeformStreng)])
                #if recnow ==1
                cmds.setKeyframe("%s.w[%i]" % (selectedBlend, targetdefnum),
                                 t=numcurrenttime)

                if random.random() < 0.2:
                    datastring = '%.4f' % recdataDeformStreng
                    cmds.scriptTable('scrtable',
                                     e=True,
                                     ci=[i, 3],
                                     cv=datastring)
def delete_row(*args):
    last_row_num = cmds.scriptTable('table', query=True, rows=True)
    cmds.scriptTable('table', edit=True,deleteRow=last_row_num - 1)
Ejemplo n.º 25
0
def savepresetfile(*args):
    blendshapetxt = cmds.textField('selectedBlendShapeText', q=True, tx=True)
    filename = blendshapetxt + "_mayapipeline_setting.txt"
    o_file = os.path.join(os.path.join(os.environ['USERPROFILE']),
                          'Desktop') + "\\" + filename

    all_rows = cmds.scriptTable('scrtable', query=True, rows=True)

    if all_rows < 2:
        return 0

    if not (cmds.file(o_file, query=True, exists=True)):
        tmp_csv_file = open(o_file, 'w', os.O_CREAT)
    else:
        tmp_csv_file = open(o_file, 'w')
    writer = csv.writer(tmp_csv_file, lineterminator='\n')

    all_rows = cmds.scriptTable('scrtable', query=True, rows=True)
    for i in range(all_rows):
        all_colums = cmds.scriptTable('scrtable', query=True, columns=True)
        data_list = []
        for j in range(all_colums - 1):
            if i == 0:
                blendshapetxt = cmds.textField('selectedBlendShapeText',
                                               q=True,
                                               tx=True)
                headbonenametxt = cmds.textField('HeadbonenameF',
                                                 q=True,
                                                 tx=True)
                headxtxt = cmds.textField('HeadbonenameXF', q=True, tx=True)
                headytxt = cmds.textField('HeadbonenameYF', q=True, tx=True)
                headztxt = cmds.textField('HeadbonenameZF', q=True, tx=True)
                porttxt = cmds.textField('Portnum', q=True, tx=True)
                data_list = [
                    blendshapetxt, headbonenametxt, headxtxt, headytxt,
                    headztxt, porttxt
                ]

            else:
                cell_list = cmds.scriptTable('scrtable',
                                             cellIndex=(i, j + 1),
                                             query=True,
                                             cellValue=True)
                if j == 0:
                    if type(cell_list) == list:
                        cell_text = "".join(cell_list)
                        print(cell_text)
                    elif cell_list == None:
                        cell_text = u''
                    else:
                        cell_text = cell_list
                    data_list.append(cell_text)
                elif j == 1:
                    if type(cell_list) == list:
                        cell_text = "".join(cell_list)
                        print(cell_text)
                    elif cell_list == None:
                        cell_text = u''
                    else:
                        cell_text = cell_list
                    data_list.append(cell_text)
                else:
                    if type(cell_list) == list:
                        cell_text = "".join(cell_list)
                    elif cell_list == None:
                        cell_text = u''
                    else:
                        cell_text = cell_list
                    data_list.append(cell_text)
        writer.writerow(data_list)
    tmp_csv_file.close()
    cmds.warning("Saved file (" + o_file + ")")
    def buildUI(self):
        iconPath = cmds.getModulePath(
            moduleName='mnt_poseScope') + '/icons/mntShelf/'
        windowwidth = 200

        if cmds.workspaceControl('mnt_poseScopes_editor', ex=True):
            cmds.deleteUI('mnt_poseScopes_editor')

        cmds.workspaceControl('mnt_poseScopes_editor',
                              w=windowwidth,
                              r=True,
                              clp=False)

        cmds.columnLayout(adj=True)
        cmds.text('Mnt poseScopes Editor',
                  fn='boldLabelFont',
                  h=32,
                  ebg=True,
                  bgc=(0.15, 0.15, 0.15))
        cmds.paneLayout('mntDenoiseToolPane', cn='vertical2')

        cmds.columnLayout(adj=True)
        cmds.iconTextButton(style='iconAndTextVertical', l = 'Create or Update poseScope', i = iconPath + 'mnt_createPoseScope.png',\
            c = 'import maya.cmds as cmds\ncmds.createPoseScopeShape()', ann = 'Select some polySurface face components.\nThen select a transform node using the outliner and click button to create a poseScope.\n If no transform node is selected a default one is created.')
        cmds.iconTextButton(style='iconAndTextVertical', l = 'Mirror poseScope', i = iconPath + 'mnt_mirrorPoseScope.png',\
            c = 'import maya.cmds as cmds\ncmds.mirrorPoseScope()', ann = 'Creates a new mirrored poseScope\nfrom the selected one.')
        cmds.iconTextButton(style='iconAndTextVertical', l = 'Delete poseScope', i = iconPath + 'mnt_deletePoseScope.png',\
            c = cmds.deletePoseScope, ann = 'Delete poseScope from the selected transform node.')
        cmds.iconTextButton(style='iconAndTextVertical', l = 'Edit poseScope components', i = iconPath + 'mnt_editPoseScopeComponents.png',\
            c = 'cmds.editPoseScopeComponents()', ann = 'Select polySurface components associated\nto the selected poseScope.')
        cmds.iconTextButton(style='iconAndTextVertical', l = 'Transfert poseScopes', i = iconPath + 'mnt_transfertposeScopes.png',\
            c = 'cmds.transfertPoseScopes()', ann = 'Transfers poseScopes from  first selected polySurface A\nto a second selected polySurface B.')
        cmds.iconTextButton(style='iconAndTextVertical', l = 'Import poseScopes from json file', i = iconPath + 'mnt_importPoseScopes.png',\
            c = self.importPoseScopeInfos, ann = 'Imports poseScopes from a json file.')
        cmds.iconTextButton(style='iconAndTextVertical', l = 'Export poseScopes from json file', i = iconPath + 'mnt_exportPoseScopes.png',\
            c = self.savePoseScopeInfos, ann = 'Exports poseScopes to a json file.')
        cmds.setParent('..')

        cmds.columnLayout(adj=True, w=500)
        cmds.text('PoseScopes Table', h=24, bgc=(0.2, 0.2, 0.2))
        cmds.textFieldButtonGrp('getInfosControl', label = 'PolySurface Name : ', text = 'None', buttonLabel = 'Get Posescopes', cat = (1, 'left', 0),\
            ct3 = ('left', 'left', 'left'), cw3 = (100, 170, 100), bc = self.updatePoseScopeTable)
        form = cmds.formLayout()

        table = cmds.scriptTable('table', rows = 0, columns = 3, label = [(1, 'Controller Name'), (2, 'Components List'), (3, 'PoseScope Visibility')], h = 530,\
            cw = (2, 200), ed = False, cellChangedCmd = self.edit_cell, sm = 3, sb = 1, mee = False)
        cmds.scriptTable('table', edit=True, cw=(1, 150))
        cmds.scriptTable('table', edit=True, cw=(3, 110))
        cmds.scriptTable('table',
                         edit=True,
                         selectionChangedCmd=self.cellSelected,
                         cbc=self.setBackgroundColor)

        cmds.formLayout(form,
                        edit=True,
                        attachForm=[
                            (table, 'top', 0),
                            (table, 'left', 0),
                            (table, 'right', 0),
                        ])
        cmds.setParent('..')

        cmds.setParent('..')