示例#1
0
文件: ui.py 项目: lefan2016/glTools
def exportDataFromUI():
    '''
	Export selected Rig data from UI.
	'''
    rig = Rig()

    # Check Window
    window = rig.EXPORT_DATA_UI
    if not mc.window(window, q=True, ex=1):
        raise Exception('Rig export data UI does not exist!')

    # Get Data Path
    dataPath = mc.textFieldButtonGrp(rig.EXPORT_PATH_TBG, q=True, text=True)
    # Get Data Selection
    deformerList = mc.textScrollList(rig.EXPORT_LIST_TSL, q=True, si=True)

    # Import Selected Data
    rig.rigData['dataPath'] = dataPath
    rig.exportData(exportDeformerList=deformerList,
                   exportSetList=None,
                   exportCrvList=None,
                   force=True)

    # Return Result
    return deformerList
示例#2
0
文件: ui.py 项目: fsanges/glTools-1
def importDataFromUI():
	'''
	Import selected Rig data from UI.
	'''
	rig = Rig()
	
	# Check Window
	window = rig.IMPORT_DATA_UI
	if not mc.window(window,q=True,ex=1):
		raise Exception('Rig import data UI does not exist!')
		
	# Get Data Path
	dataPath =  mc.textFieldButtonGrp(rig.IMPORT_PATH_TBG,q=True,text=True)
	# Get Data Selection
	fileList = mc.textScrollList(rig.IMPORT_LIST_TSL,q=True,si=True)
	
	# Import Selected Data
	for dataFile in fileList:
		
		# Build Data Object
		data = Data().load(os.path.join(dataPath,dataFile))
		# Rebuild Data
		try: data.rebuild()
		except: print('IMPORT DATA FAILED: Unable to load data from file "'+dataFile+'"!')
	
	# Return Result
	return fileList
示例#3
0
def reloadDataUIList():
    """
    List deformers in export data UI.
    """
    rig = Rig()

    # Check Window
    window = rig.EXPORT_DATA_UI
    if not cmds.window(window, q=True, ex=1): return []

    # Get Deformers from Selection
    sel = cmds.ls(sl=1, dag=True)
    if sel:
        deformerList = cmds.ls(cmds.listHistory(sel), type='geometryFilter')
    else:
        deformerList = cmds.ls(type='geometryFilter')
    deformerList = [i for i in deformerList if cmds.objectType(i) != 'tweak']
    deformerList = sorted(list(set(deformerList)))

    # Update List
    cmds.textScrollList(rig.EXPORT_LIST_TSL, e=True, ra=True)
    for deformer in deformerList:
        cmds.textScrollList(rig.EXPORT_LIST_TSL, e=True, a=deformer)

    # Return Result
    return deformerList
示例#4
0
def importDataUI():
    """
    UI for selectively loading Rig data.
    """
    rig = Rig()
    dataPath = rig.setDataPath()

    # Build Window
    window = rig.IMPORT_DATA_UI
    if cmds.window(window, q=True, ex=1): cmds.deleteUI(window)
    window = cmds.window(window, t='RIG: Import Data')

    # Layout
    FL = cmds.formLayout()

    # UI Elements
    dataPathTBG = cmds.textFieldButtonGrp(rig.IMPORT_PATH_TBG, label='Data Path', buttonLabel='...', text=dataPath)
    filterTFG = cmds.textFieldGrp(rig.IMPORT_FILTER_TFG, label='Filter', text='')
    fileListTSL = cmds.textScrollList(rig.IMPORT_LIST_TSL, ams=True)
    importB = cmds.button('rigImportData_importB', label='Import', c='glTools.rig.ui.importDataFromUI()')
    cancelB = cmds.button('rigImportData_cancelB', label='Close', c='cmds.deleteUI("' + window + '")')

    # UI Callbacks
    cmds.textFieldButtonGrp(dataPathTBG, e=True, bc='glTools.ui.utils.importFolderBrowser("' + dataPathTBG + '")')
    cmds.textFieldButtonGrp(dataPathTBG, e=True,
                          cc='glTools.ui.utils.loadFileList("' + fileListTSL + '","' + cmds.textFieldButtonGrp(
                              dataPathTBG, q=True, text=True) + '",filesOnly=True,filterStr=".pkl")')

    # Form Layout
    cmds.formLayout(FL, e=True, af=[(dataPathTBG, 'top', 5), (dataPathTBG, 'left', 5), (dataPathTBG, 'right', 5)])
    cmds.formLayout(FL, e=True, ac=[(filterTFG, 'top', 5, dataPathTBG)],
                  af=[(filterTFG, 'left', 5), (filterTFG, 'right', 5)])
    cmds.formLayout(FL, e=True, ac=[(fileListTSL, 'top', 5, filterTFG), (fileListTSL, 'bottom', 5, importB)],
                  af=[(fileListTSL, 'left', 5), (fileListTSL, 'right', 5)])
    cmds.formLayout(FL, e=True, ac=[(importB, 'bottom', 5, cancelB)], af=[(importB, 'left', 5), (importB, 'right', 5)])
    cmds.formLayout(FL, e=True, af=[(cancelB, 'left', 5), (cancelB, 'right', 5), (cancelB, 'bottom', 5)])

    # Load Data files
    if dataPath: glTools.ui.utils.loadFileList(fileListTSL, dataPath, filesOnly=True, filterStr='.pkl', sort=True)

    # Show Window
    cmds.showWindow(window)
示例#5
0
def exportDataUI():
    """
    UI for selectively saving Rig data.
    """
    rig = Rig()
    dataPath = rig.setDataPath()

    # Build Window
    window = rig.EXPORT_DATA_UI
    if cmds.window(window, q=True, ex=1): cmds.deleteUI(window)
    window = cmds.window(window, t='RIG: Export Data')

    # Layout
    FL = cmds.formLayout()

    # UI Elements
    dataPathTBG = cmds.textFieldButtonGrp(rig.EXPORT_PATH_TBG, label='Data Path', buttonLabel='...', text=dataPath)
    dataListTSL = cmds.textScrollList(rig.EXPORT_LIST_TSL, ams=True)
    reloadB = cmds.button('rigExportData_reloadB', label='Reload', c='glTools.rig.ui.reloadDataUIList()')
    exportB = cmds.button('rigExportData_exportB', label='Export', c='glTools.rig.ui.exportDataFromUI()')
    cancelB = cmds.button('rigExportData_cancelB', label='Close', c='cmds.deleteUI("' + window + '")')

    # UI Callbacks
    cmds.textFieldButtonGrp(dataPathTBG, e=True, bc='glTools.ui.utils.exportFolderBrowser("' + dataPathTBG + '")')
    cmds.textFieldButtonGrp(dataPathTBG, e=True,
                          cc='glTools.ui.utils.loadFileList("' + dataListTSL + '","' + cmds.textFieldButtonGrp(
                              dataPathTBG, q=True, text=True) + '",filesOnly=True,filterStr=".pkl")')

    # Form Layout
    cmds.formLayout(FL, e=True, af=[(dataPathTBG, 'top', 5), (dataPathTBG, 'left', 5), (dataPathTBG, 'right', 5)])
    cmds.formLayout(FL, e=True, ac=[(dataListTSL, 'top', 5, dataPathTBG), (dataListTSL, 'bottom', 5, reloadB)],
                  af=[(dataListTSL, 'left', 5), (dataListTSL, 'right', 5)])
    cmds.formLayout(FL, e=True, ac=[(reloadB, 'bottom', 5, exportB)], af=[(reloadB, 'left', 5), (reloadB, 'right', 5)])
    cmds.formLayout(FL, e=True, ac=[(exportB, 'bottom', 5, cancelB)], af=[(exportB, 'left', 5), (exportB, 'right', 5)])
    cmds.formLayout(FL, e=True, af=[(cancelB, 'left', 5), (cancelB, 'right', 5), (cancelB, 'bottom', 5)])

    # Load Deformer List
    reloadDataUIList()

    # Show Window
    cmds.showWindow(window)
示例#6
0
文件: ui.py 项目: auqeyjf/glTools
def exportDataFromUI():
	'''
	Export selected Rig data from UI.
	'''
	rig = Rig()
	
	# Check Window
	window = rig.EXPORT_DATA_UI
	if not mc.window(window,q=True,ex=1):
		raise Exception('Rig export data UI does not exist!')
		
	# Get Data Path
	dataPath =  mc.textFieldButtonGrp(rig.EXPORT_PATH_TBG,q=True,text=True)
	# Get Data Selection
	deformerList = mc.textScrollList(rig.EXPORT_LIST_TSL,q=True,si=True)
	
	# Import Selected Data
	rig.rigData['dataPath'] = dataPath
	rig.exportData(exportDeformerList=deformerList,exportSetList=None,exportCrvList=None,force=True)
	
	# Return Result
	return deformerList