예제 #1
0
 def ui_initSettings(self):
     self.prefSaver = prefsaver.PrefSaver(
         serializers.SerializerOptVar(OPT_VAR_NAME))
     self.prefSaver.addControl(self, prefsaver.UIType.PYSIDEWindow,
                               (200, 200, 600, 300))
     self.prefSaver.addVariable('lastBrowsedDir', self.getLastBrowsedDir,
                                self.setLastBrowsedDir, '')
예제 #2
0
    def ui_initSettings(self):
        self.prefSaver = prefsaver.PrefSaver(
            serializers.SerializerOptVar(OPT_VAR_NAME_COPY_MOVE_DLG))

        self.prefSaver.addControl(self, prefsaver.UIType.PYSIDEWindow,
                                  (200, 200, 800, 350))
        self.prefSaver.addControl(self.ui.uiLED_targetRoot,
                                  prefsaver.UIType.PYSIDELineEdit, '')
        self.prefSaver.addControl(self.ui.uiCHK_deleteSources,
                                  prefsaver.UIType.PYSIDECheckBox, False)
        self.prefSaver.addControl(self.ui.uiGRP_folderStructure,
                                  prefsaver.UIType.PYSIDEGroupBox, False)
        self.prefSaver.addControl(self.ui.uiLED_sourceRoot,
                                  prefsaver.UIType.PYSIDELineEdit, '')
        self.prefSaver.addControl(self.ui.uiGRP_addTextures,
                                  prefsaver.UIType.PYSIDEGroupBox, False)
        self.prefSaver.addControl(self.ui.uiLED_texSuffixes,
                                  prefsaver.UIType.PYSIDELineEdit,
                                  '_nm, _spec, _hdetm, _em')
        self.prefSaver.addControl(self.ui.uiCHK_retarget,
                                  prefsaver.UIType.PYSIDECheckBox, False)

        self.prefSaver.addVariable('retargetDlg_lastBrowsedDirTarget',
                                   self.getLastBrowsedDirTarget,
                                   self.setLastBrowsedDirTarget, '')
        self.prefSaver.addVariable('retargetDlg_lastBrowsedDirSource',
                                   self.getLastBrowsedDirSource,
                                   self.setLastBrowsedDirSource, '')
예제 #3
0
    def __init__(self):
        # noinspection PyArgumentList
        ptr = omui.MQtUtil.mainWindow()
        mainWinQObject = None
        if ptr is not None:
            mainWinQObject = shiboken2.wrapInstance(
                long(ptr), QtWidgets.QWidget)  # or you can use QMainWindow
        else:
            m.error('cannot find main Maya window.')
        super(SearchUI, self).__init__(mainWinQObject)

        self.setupUi(self)

        self.ctxMenu = None
        self.generateCtxMenu()

        self.currentSearcherLink = None
        self.searchers = []
        self.initSearchersAndControls()

        self.ui_setState(SEARCH_STATE_WELCOME)

        self.prefSaver = prefsaver.PrefSaver(
            serializers.SerializerOptVar(OPT_VAR_NAME))
        self.ui_initSettings()
        self.ui_loadSettings()
예제 #4
0
    def __init__(self):
        self.optionVarLinks = []
        self.ui_createUI()

        self.prefSaver = prefsaver.PrefSaver(
            serializers.SerializerOptVar(OPT_VAR_NAME))
        self.ui_initSettings()
        self.ui_loadSettings()
    def __init__(self):

        self.prefSaver = prefsaver.PrefSaver(
            serializers.SerializerOptVar(OPT_VAR_NAME))

        self.growProcessor = GrowProcessor()

        self.ui_createUI()
        self.ui_setTargetGeometry()
    def __init__(self):

        self.prefSaver = prefsaver.PrefSaver(
            serializers.SerializerOptVar(OPT_VAR_NAME))

        self.targetGeom = []
        self.geometryData = GeometryData()

        self.ui_createUI()
        self.ui_setTargetGeometry()
예제 #7
0
    def ui_initSettings(self):
        self.prefSaver = prefsaver.PrefSaver(
            serializers.SerializerOptVar(OPT_VAR_NAME_SEARCH_REPLACE_DLG))

        self.prefSaver.addControl(self, prefsaver.UIType.PYSIDEWindow,
                                  (200, 200, 600, 100))
        self.prefSaver.addControl(self.ui.uiLED_search,
                                  prefsaver.UIType.PYSIDELineEdit, '')
        self.prefSaver.addControl(self.ui.uiLED_replace,
                                  prefsaver.UIType.PYSIDELineEdit, '')
        self.prefSaver.addControl(self.ui.uiCHK_caseSensitive,
                                  prefsaver.UIType.PYSIDECheckBox, False)
예제 #8
0
    def __init__(self, qtType, ser, parent=None):

        self.qtType = qtType

        global QtCore, QtGui, QtWidgets
        if self.qtType == TestQtWindow.QtTypePyQt:
            # noinspection PyUnresolvedReferences
            from PyQt4 import QtCore, QtGui
            QtWidgets = QtGui
            import pyqt_window_test_ui
            self.ui = pyqt_window_test_ui.Ui_MainWindow()
        elif self.qtType == TestQtWindow.QtTypePySide:
            # noinspection PyUnresolvedReferences
            from PySide import QtCore, QtGui
            QtWidgets = QtGui
            import pyside_window_test_ui
            self.ui = pyside_window_test_ui.Ui_MainWindow()
        elif self.qtType == TestQtWindow.QtTypePySide2:
            # noinspection PyUnresolvedReferences
            from PySide2 import QtCore, QtGui, QtWidgets
            import pyside_window_test_ui2
            self.ui = pyside_window_test_ui2.Ui_MainWindow()
        else:
            assert False, 'Unknown Qt Framework/Version.'

        self.win = QtWidgets.QMainWindow(parent=parent)

        self.dlg = QtWidgets.QDialog(parent=self.win)
        self.dlg.setObjectName('uiDLG_testDialog')
        self.dlg.setWindowTitle(str(self.dlg))

        self.registerSlots()
        self.ui.setupUi(self.win)

        self.win.setWindowTitle('{0}; {1}'.format(str(self.win),
                                                  str(self.dlg)))

        self.fillListTreeColumnView()
        self.fillTableView()

        self.ui.uiTREW_test1.expandAll()
        self.ui.uiTREV_test1.expandAll()

        self.prefSaver = prefsaver.PrefSaver(self.createSerializer(ser))
        self.initPrefs(True)
예제 #9
0
    def ui_initSettings(self):
        self.prefSaver = prefsaver.PrefSaver(
            serializers.SerializerOptVar(com.OPT_VAR_NAME))

        self.prefSaver.addControl(self, prefsaver.UIType.PYSIDEWindow,
                                  (100, 100, 900, 600))
        self.prefSaver.addControl(self.ui.uiTBL_textures,
                                  prefsaver.UIType.PYSIDETableView)
        self.prefSaver.addControl(self.ui.uiLED_filter,
                                  prefsaver.UIType.PYSIDELineEdit, '')
        self.prefSaver.addControl(self.ui.uiACT_collapseRepetitions,
                                  prefsaver.UIType.PYSIDECheckAction, False)

        self.prefSaver.addControl(self.ui.uiACT_selectNothing,
                                  prefsaver.UIType.PYSIDECheckAction, True)
        self.prefSaver.addControl(self.ui.uiACT_selectTextureNode,
                                  prefsaver.UIType.PYSIDECheckAction, False)
        self.prefSaver.addControl(self.ui.uiACT_selectAssigned,
                                  prefsaver.UIType.PYSIDECheckAction, False)
예제 #10
0
    def ui_initSettings(self):
        self.prefSaver = prefsaver.PrefSaver(
            serializers.SerializerOptVar(OPT_VAR_NAME_RETARGET_DLG))

        self.prefSaver.addControl(self, prefsaver.UIType.PYSIDEWindow,
                                  (200, 200, 600, 100))
        self.prefSaver.addControl(self.ui.uiLED_retargetRoot,
                                  prefsaver.UIType.PYSIDELineEdit, '')
        self.prefSaver.addControl(self.ui.uiCHK_forceRetarget,
                                  prefsaver.UIType.PYSIDECheckBox, False)
        self.prefSaver.addControl(self.ui.uiGRP_useSourceRoot,
                                  prefsaver.UIType.PYSIDEGroupBox, False)
        self.prefSaver.addControl(self.ui.uiLED_sourceRoot,
                                  prefsaver.UIType.PYSIDELineEdit, '')

        self.prefSaver.addVariable('retargetDlg_lastBrowsedDir',
                                   self.getLastBrowsedDir,
                                   self.setLastBrowsedDir, '')
        self.prefSaver.addVariable('retargetDlg_lastBrowsedSrcDir',
                                   self.getLastBrowsedSrcDir,
                                   self.setLastBrowsedSrcDir, '')
예제 #11
0
 def ui_initSettings(self):
     self.prefSaver = prefsaver.PrefSaver(serializers.SerializerOptVar(OPT_VAR_NAME_LOG_DLG))
     self.prefSaver.addControl(self, prefsaver.UIType.PYSIDEWindow, (200, 200, 800, 500))
    def __init__(self):

        ui_labelWidth = 140
        ui_inputWidth = 240

        if pm.window(WIN_NAME, exists=True):
            pm.deleteUI(WIN_NAME, window=True)

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

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

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

            with pm.formLayout() as self.ui_LAY_mainForm:

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

                    with pm.formLayout() as self.ui_LAY_attachForm:

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

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

                                with pm.frameLayout(
                                    label='Control Panel',
                                    collapsable=True,
                                    collapse=False,
                                    marginHeight=3
                                ) as self.ui_LAY_frameControlPanel:

                                    with pm.rowColumnLayout(
                                        numberOfColumns=12,
                                        columnSpacing=([3, 2], [4, 2], [5, 2], [6, 2]),
                                        rowSpacing=[1, 5],
                                        #            Label       X       Y         Z       XYZ      Mag     Sep      Reset     Bias      Sep       Min       Max
                                        columnWidth=[(1, 60), (2, 20), (3, 20), (4, 20), (5, 80), (6, 60), (7, 20), (8, 20), (9, 120), (10, 20), (11, 60), (12, 60)]
                                    ) as self.ui_LAY_mainRowColumn:

                                        # ----- Header Row -----

                                        pm.text(label='')
                                        pm.text(label='')
                                        pm.text(label='')
                                        pm.text(label='')
                                        pm.text(label='')
                                        pm.text(label='Magnitude', )
                                        pm.text(label='')
                                        pm.text(label='')
                                        pm.text(label='Bias', )
                                        pm.text(label='')
                                        pm.text(label='Min', )
                                        pm.text(label='Max', )

                                        # ----- Translate Row -----

                                        pm.text(label='Translate ', align='right')
                                        pm.button(label='X', command=pm.Callback(self.randomizeTranslate, ['tx']))
                                        pm.button(label='Y', command=pm.Callback(self.randomizeTranslate, ['ty']))
                                        pm.button(label='Z', command=pm.Callback(self.randomizeTranslate, ['tz']))
                                        pm.button(label='XYZ', command=pm.Callback(self.randomizeTranslate, ['tx', 'ty', 'tz']))
                                        self.ui_FLTFLD_translateMagnitude = pm.floatField('ui_FLTFLD_translateMagnitude',
                                                                                          changeCommand=self.ui_refresh,
                                                                                          value=10)
                                        pm.text(label='')
                                        self.ui_BTN_translateBiasReset = pm.button(label='0')
                                        pm.setUITemplate('DefaultTemplate', popTemplate=True)  # strange slider group visual with default template
                                        self.ui_INTSLGRP_translateBias = pm.intSliderGrp(
                                            'ui_INTSLGRP_translateBias',
                                            columnWidth=[1, 30],
                                            field=True,
                                            minValue=-100,
                                            maxValue=100,
                                            fieldMinValue=-100,
                                            fieldMaxValue=100,
                                            value=0,
                                            step=1,
                                            fieldStep=1,
                                            sliderStep=1,
                                            changeCommand=self.ui_refresh,
                                            dragCommand=self.ui_refresh
                                        )
                                        pm.setUITemplate('DefaultTemplate', pushTemplate=True)
                                        pm.button(self.ui_BTN_translateBiasReset, edit=True,
                                                  command=pm.Callback(self.ui_resetBias, self.ui_INTSLGRP_translateBias))
                                        pm.text(label='=')
                                        self.ui_FLTFLD_translateMin = pm.floatField(enable=False, value=-5)
                                        self.ui_FLTFLD_translateMax = pm.floatField(enable=False, value=95)

                                        # ----- Rotate Row -----

                                        pm.text(label='Rotate ', align='right')
                                        pm.button(label='X', command=pm.Callback(self.randomizeRotate, ['rx']))
                                        pm.button(label='Y', command=pm.Callback(self.randomizeRotate, ['ry']))
                                        pm.button(label='Z', command=pm.Callback(self.randomizeRotate, ['rz']))
                                        pm.button(label='XYZ', command=pm.Callback(self.randomizeRotate, ['rx', 'ry', 'rz']))
                                        self.ui_FLTFLD_rotateMagnitude = pm.floatField('ui_FLTFLD_rotateMagnitude',
                                                                                       changeCommand=self.ui_refresh, value=90)
                                        pm.text(label='')
                                        self.ui_BTN_rotateBiasReset = pm.button(label='0')
                                        pm.setUITemplate('DefaultTemplate', popTemplate=True)  # strange slider group visual with default template
                                        self.ui_INTSLGRP_rotateBias = pm.intSliderGrp(
                                            'ui_INTSLGRP_rotateBias',
                                            columnWidth=[1, 30],
                                            field=True,
                                            minValue=-100,
                                            maxValue=100,
                                            fieldMinValue=-100,
                                            fieldMaxValue=100,
                                            value=0,
                                            step=1,
                                            fieldStep=1,
                                            sliderStep=1,
                                            changeCommand=self.ui_refresh,
                                            dragCommand=self.ui_refresh
                                        )
                                        pm.setUITemplate('DefaultTemplate', pushTemplate=True)
                                        pm.button(self.ui_BTN_rotateBiasReset, edit=True,
                                                  command=pm.Callback(self.ui_resetBias, self.ui_INTSLGRP_rotateBias))
                                        pm.text(label='=')
                                        self.ui_FLTFLD_rotateMin = pm.floatField(enable=False, value=-5)
                                        self.ui_FLTFLD_rotateMax = pm.floatField(enable=False, value=95)

                                        # ----- Scale Row -----

                                        pm.text(label='Scale ', align='right')
                                        pm.button(label='X', command=pm.Callback(self.randomizeScale, ['sx']))
                                        pm.button(label='Y', command=pm.Callback(self.randomizeScale, ['sy']))
                                        pm.button(label='Z', command=pm.Callback(self.randomizeScale, ['sz']))

                                        pm.flowLayout(columnSpacing=2)
                                        pm.button(label='XYZ', command=pm.Callback(self.randomizeScale, ['sx', 'sy', 'sz']))
                                        pm.button(label='Uniform', command=pm.Callback(self.randomizeScale, ['uniform']))
                                        pm.setParent('..')

                                        self.ui_FLTFLD_scaleMagnitude = pm.floatField('ui_FLTFLD_scaleMagnitude',
                                                                                      changeCommand=self.ui_refresh, value=2)
                                        pm.text(label='')
                                        self.ui_BTN_scaleBiasReset = pm.button(label='0')
                                        pm.setUITemplate('DefaultTemplate', popTemplate=True)  # strange slider group visual with default template
                                        self.ui_INTSLGRP_scaleBias = pm.intSliderGrp(
                                            'ui_INTSLGRP_scaleBias',
                                            columnWidth=[1, 30],
                                            field=True,
                                            minValue=-100,
                                            maxValue=100,
                                            fieldMinValue=-100,
                                            fieldMaxValue=100,
                                            value=0,
                                            step=1,
                                            fieldStep=1,
                                            sliderStep=1,
                                            changeCommand=self.ui_refresh,
                                            dragCommand=self.ui_refresh
                                        )
                                        pm.setUITemplate('DefaultTemplate', pushTemplate=True)
                                        pm.button(self.ui_BTN_scaleBiasReset, edit=True,
                                                  command=pm.Callback(self.ui_resetBias, self.ui_INTSLGRP_scaleBias))
                                        pm.text(label='=')
                                        self.ui_FLTFLD_scaleMin = pm.floatField(enable=False, value=-5)
                                        self.ui_FLTFLD_scaleMax = pm.floatField(enable=False, value=95)

                                with pm.frameLayout(
                                        label='Seed Control',
                                        collapsable=True,
                                        collapse=False,
                                        marginHeight=3
                                ) as self.ui_LAY_frameSeedControl:

                                    with pm.columnLayout(adjustableColumn=False):

                                        with pm.rowLayout(
                                                numberOfColumns=2,
                                                columnWidth2=[ui_labelWidth, ui_inputWidth],
                                                columnAttach=[1, 'right', 5]
                                        ):
                                            pm.text(label='Use Seed')
                                            self.ui_CHK_useSeed = pm.checkBox(
                                                'ui_CHK_useSeed',
                                                value=True,
                                                label='',
                                                changeCommand=self.ui_refresh
                                            )

                                        with pm.rowLayout(
                                                numberOfColumns=2,
                                                columnWidth2=[ui_labelWidth, ui_inputWidth],
                                                columnAttach=[1, 'right', 5]
                                        ):
                                            pm.text(label='Seed')

                                            pm.setUITemplate('DefaultTemplate', popTemplate=True)  # strange slider group visual with default template
                                            self.ui_INTSLGRP_seedValue = pm.intSliderGrp(
                                                'ui_INTSLGRP_seedValue',
                                                field=True,
                                                minValue=1,
                                                maxValue=10000,
                                                fieldMinValue=1,
                                                fieldMaxValue=10000,
                                                value=1234,
                                                step=1,
                                                fieldStep=1,
                                                sliderStep=1
                                            )
                                            pm.setUITemplate('DefaultTemplate', pushTemplate=True)

                # pm.setParent(self.ui_mainForm)

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

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

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

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

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

        self.prefSaver = prefsaver.PrefSaver(serializers.SerializerOptVar(OPT_VAR_NAME))
        self.ui_initSettings()
        self.ui_loadSettings()

        self.window.show()
        pm.refresh()
예제 #13
0
 def __init__(self):
     self.globalPrefs = None
     self.prefSaver = prefsaver.PrefSaver(
         serializers.SerializerOptVar(OPT_VAR_NAME_COMMON_PREFS))
     self.initPrefs()
예제 #14
0
    def ui_createUI(self):

        if m.window(UI_WIN_NAME, exists=True):
            if m.window(UI_WIN_NAME, q=True, visible=True):
                return
            else:
                m.deleteUI(UI_WIN_NAME, window=True)

        self.window = m.window(
            UI_WIN_NAME,
            title=UI_WIN_TITLE,
            maximizeButton=False,
        )

        m.scriptJob(event=['deleteAll', self.scriptJobDeleteAll],
                    parent=self.window,
                    protected=True)
        self.delUIScriptJobID = m.scriptJob(
            uiDeleted=[self.window, self.ui_onDeleteMainWin], protected=True)

        self.ui_LAY_mainForm = m.formLayout()

        # - - - - - - - - - - - - - - - - -

        self.ui_LAY_searchRow = m.rowLayout(numberOfColumns=8,
                                            adjustableColumn=2)

        self.ui_BTN_miscOperations = m.symbolButton(image=ICON_POPUP_MENU,
                                                    width=22,
                                                    height=22)

        self.loadUserCommandsFromXML()
        self.ui_POP_miscOperations = m.popupMenu(button=1)
        for command in self.userMenu:
            m.menuItem(parent=self.ui_POP_miscOperations,
                       label=command[0],
                       command=ft.partial(self.evalMelCommand, command[1]))
        m.menuItem(divider=True)
        m.menuItem(parent=self.ui_POP_miscOperations,
                   label='Open FX Outliner Configuration File',
                   command=ft.partial(self.openFileInEditor,
                                      XML_OUTLINER_CFG_FILE))
        m.menuItem(parent=self.ui_POP_miscOperations,
                   label='Open FX Outliner User Menu Configuration File',
                   command=ft.partial(self.openFileInEditor,
                                      XML_USER_MENU_FILE))
        m.menuItem(divider=True)
        m.menuItem(parent=self.ui_POP_miscOperations,
                   label='Help',
                   command=ft.partial(self.openFileInEditor, README_FILE))

        m.setParent(self.ui_LAY_searchRow)

        self.ui_TFD_search = m.textField(enterCommand=self.ui_BTN_searchClick,
                                         alwaysInvokeEnterCommandOnReturn=True)
        self.ui_BTN_search = m.symbolButton(image=ICON_SEARCH,
                                            width=22,
                                            height=22,
                                            annotation='Perform Search',
                                            command=self.ui_BTN_searchClick)
        self.ui_BTN_searchCase = m.symbolCheckBox(
            image=ICON_CASE_SENSITIVE,
            width=22,
            height=22,
            annotation='Search: Case Sensitive',
            changeCommand=self.ui_BTN_searchCaseChange)
        self.ui_BTN_searchRegEx = m.symbolCheckBox(
            image=ICON_REGEX,
            width=22,
            height=22,
            annotation='Search: Regular Expression',
            changeCommand=self.ui_BTN_searchRegExChange)
        self.ui_BTN_searchType = m.symbolCheckBox(
            image=ICON_TYPE_SEARCH,
            width=22,
            height=22,
            annotation='Search: Search for Type',
            changeCommand=self.ui_BTN_searchTypeChange)
        self.ui_BTN_searchSelect = m.symbolCheckBox(
            image=ICON_SELECT_FOUND,
            width=22,
            height=22,
            annotation='Search: Select Result',
            changeCommand=self.ui_BTN_searchSelectChange)
        self.ui_BTN_searchShape = m.symbolCheckBox(
            image=ICON_SHAPE,
            width=22,
            height=22,
            annotation='Search: Include Shapes in Search',
            changeCommand=self.ui_BTN_searchShapeChange)

        # - - - - - - - - - - - - - - - - -

        m.setParent(self.ui_LAY_mainForm)

        self.ui_SEP_searchSeparator = m.separator(style='in', height=6)

        # - - - - - - - - - - - - - - - - -

        self.ui_LAY_outlinerForm = m.formLayout()

        self.ui_BTN_modeDropDown = m.button(height=24)

        # - - - - - - - - - - - - - - - - -

        self.generateOutlinerViews()

        self.ui_POP_mode = m.popupMenu(button=1)
        for viewCfg in self.state.outlinerViews:
            m.menuItem(parent=self.ui_POP_mode,
                       label=viewCfg.name,
                       command=ft.partial(self.ui_POP_mode_onClick, viewCfg))

        lastPrebuildViewIndex = len(self.state.outlinerViews)
        self.loadOutlinerViewsFromXML()
        m.menuItem(
            parent=self.ui_POP_mode,
            divider=True,
        )

        for i in range(lastPrebuildViewIndex, len(self.state.outlinerViews)):
            vc = self.state.outlinerViews[i]
            m.menuItem(parent=self.ui_POP_mode,
                       label=vc.name,
                       command=ft.partial(self.ui_POP_mode_onClick, vc))

        # - - - - - - - - - - - - - - - - -

        m.setParent(self.ui_LAY_outlinerForm)

        fxOutlinerPanels = [
            x for x in m.getPanel(type='outlinerPanel')
            if m.outlinerPanel(x, q=True, label=True) == OUTLINER_PANEL
        ]
        if fxOutlinerPanels:
            self.ui_PNL_outliner = fxOutlinerPanels[0]
            m.outlinerPanel(self.ui_PNL_outliner, e=True, unParent=True)
            m.outlinerPanel(self.ui_PNL_outliner,
                            e=True,
                            parent=self.ui_LAY_outlinerForm)
        else:
            self.ui_PNL_outliner = m.outlinerPanel(menuBarVisible=False,
                                                   label=OUTLINER_PANEL)

        self.ui_EDT_outliner = m.outlinerPanel(
            self.ui_PNL_outliner,
            query=True,
            outlinerEditor=True,
        )

        # - - - - - - - - - - - - - - - - -

        m.setParent(self.ui_LAY_outlinerForm)

        self.ui_LAY_outlinerToolbar = m.columnLayout()

        self.ui_BTN_showShapes = m.symbolCheckBox(
            image=ICON_SHOW_SHAPES,
            height=35,
            width=35,
            changeCommand=self.ui_BTN_showShapesChange,
            annotation='Show Shapes')
        self.ui_BTN_showSetMembers = m.symbolCheckBox(
            image=ICON_SHOW_SET_MEMBERS,
            height=35,
            width=35,
            changeCommand=self.ui_BTN_showSetMembersChange,
            annotation='Show Set Members')
        self.ui_BTN_selectSetMembers = m.symbolCheckBox(
            image=ICON_SELECT_SET_MEMBERS,
            height=35,
            width=35,
            changeCommand=self.ui_BTN_selectSetMembersChange,
            annotation='Select Set Members \ Assigned Objects')

        # - - - - - - - - - - - - - - - - -

        m.formLayout(self.ui_LAY_outlinerForm,
                     e=True,
                     attachForm=(self.ui_BTN_modeDropDown, 'top', 2))
        m.formLayout(self.ui_LAY_outlinerForm,
                     e=True,
                     attachControl=(self.ui_BTN_modeDropDown, 'right', 2,
                                    self.ui_LAY_outlinerToolbar))
        m.formLayout(self.ui_LAY_outlinerForm,
                     e=True,
                     attachNone=(self.ui_BTN_modeDropDown, 'bottom'))
        m.formLayout(self.ui_LAY_outlinerForm,
                     e=True,
                     attachForm=(self.ui_BTN_modeDropDown, 'left', 2))

        m.formLayout(self.ui_LAY_outlinerForm,
                     e=True,
                     attachControl=(self.ui_PNL_outliner, 'top', 2,
                                    self.ui_BTN_modeDropDown))
        m.formLayout(self.ui_LAY_outlinerForm,
                     e=True,
                     attachControl=(self.ui_PNL_outliner, 'right', 2,
                                    self.ui_LAY_outlinerToolbar))
        m.formLayout(self.ui_LAY_outlinerForm,
                     e=True,
                     attachForm=(self.ui_PNL_outliner, 'bottom', 2))
        m.formLayout(self.ui_LAY_outlinerForm,
                     e=True,
                     attachForm=(self.ui_PNL_outliner, 'left', 2))

        m.formLayout(self.ui_LAY_outlinerForm,
                     e=True,
                     attachForm=(self.ui_LAY_outlinerToolbar, 'top', 2))
        m.formLayout(self.ui_LAY_outlinerForm,
                     e=True,
                     attachForm=(self.ui_LAY_outlinerToolbar, 'right', 2))
        m.formLayout(self.ui_LAY_outlinerForm,
                     e=True,
                     attachForm=(self.ui_LAY_outlinerToolbar, 'bottom', 2))
        m.formLayout(self.ui_LAY_outlinerForm,
                     e=True,
                     attachNone=(self.ui_LAY_outlinerToolbar, 'left'))

        # - - - - - - - - - - - - - - - - -

        self.ui_LAY_attachFrame = m.frameLayout(marginHeight=2,
                                                marginWidth=2,
                                                borderVisible=False,
                                                labelVisible=False)

        self.ui_QT_TBL_searchResult = self.searchResultDlg.getResultsTable()

        self.searchResultModel = SearchResultModel()
        self.ui_searchResultTableSetProps()
        self.ui_QT_TBL_searchResult.setModel(self.searchResultModel)
        # double ui_searchResultTableSetProps cause some props need to be set # double ui_searchResultTableSetProps cause some props need to be set
        self.ui_searchResultTableSetProps()

        self.ui_QT_TBL_searchResult.connect(
            self.ui_QT_TBL_searchResult.selectionModel(),
            QtCore.SIGNAL('selectionChanged(QItemSelection, QItemSelection)'),
            self.ui_QT_TBL_searchResult_selectionChanges)

        # - - - - - - - - - - - - - - - - -

        m.formLayout(self.ui_LAY_mainForm,
                     e=True,
                     attachForm=(self.ui_LAY_searchRow, 'top', 2))
        m.formLayout(self.ui_LAY_mainForm,
                     e=True,
                     attachForm=(self.ui_LAY_searchRow, 'right', 2))
        m.formLayout(self.ui_LAY_mainForm,
                     e=True,
                     attachNone=(self.ui_LAY_searchRow, 'bottom'))
        m.formLayout(self.ui_LAY_mainForm,
                     e=True,
                     attachForm=(self.ui_LAY_searchRow, 'left', 2))

        m.formLayout(self.ui_LAY_mainForm,
                     e=True,
                     attachControl=(self.ui_SEP_searchSeparator, 'top', 2,
                                    self.ui_LAY_searchRow))
        m.formLayout(self.ui_LAY_mainForm,
                     e=True,
                     attachForm=(self.ui_SEP_searchSeparator, 'right', 2))
        m.formLayout(self.ui_LAY_mainForm,
                     e=True,
                     attachNone=(self.ui_SEP_searchSeparator, 'bottom'))
        m.formLayout(self.ui_LAY_mainForm,
                     e=True,
                     attachForm=(self.ui_SEP_searchSeparator, 'left', 2))

        m.formLayout(self.ui_LAY_mainForm,
                     e=True,
                     attachControl=(self.ui_LAY_outlinerForm, 'top', 2,
                                    self.ui_SEP_searchSeparator))
        m.formLayout(self.ui_LAY_mainForm,
                     e=True,
                     attachForm=(self.ui_LAY_outlinerForm, 'right', 2))
        m.formLayout(self.ui_LAY_mainForm,
                     e=True,
                     attachForm=(self.ui_LAY_outlinerForm, 'bottom', 2))
        m.formLayout(self.ui_LAY_mainForm,
                     e=True,
                     attachForm=(self.ui_LAY_outlinerForm, 'left', 2))

        # - - - - - - - - - - - - - - - - -

        m.showWindow(self.window)

        # - - - - - - - - - - - - - - - - -

        self.prefSaver = prefsaver.PrefSaver(
            serializers.SerializerOptVar(OPT_VAR_NAME))
        self.prefSaver.addControl(self.searchResultDlg,
                                  prefsaver.UIType.PYSIDEWindow,
                                  (200, 200, 500, 700))
        self.prefSaver.addVariable('fx_outliner_state', self.prefsPack,
                                   self.prefsUnPack, None)
        self.prefsLoad()
        self.ui_update()

        m.setFocus(self.ui_LAY_outlinerForm)
예제 #15
0
    def __init__(self, serializer):
        self.uiCreate()

        self.prefSaver = prefsaver.PrefSaver(self.createSerializer(serializer))
        self.initPrefs()
예제 #16
0
 def initCfg(self):
     self.prefSaver = prefsaver.PrefSaver(
         serializers.SerializerOptVar(ROOTS_CFG_OPT_VAR))
     # self.prefSaver = PrefSaver.PrefSaver(Serializers.SerializerFileJson(os.path.dirname(__file__) + '/test.cfg'))
     self.prefSaver.addVariable('roots', self.getterRoots, self.setterRoots,
                                self.getDefaultRootsValue())