Example #1
0
def create(parent, title, defaultCollapsed=False):
    '''
    creates collapsable UI group
    '''
    cmds.setParent(parent)

    optionName = "ngSkinTools_group%s_collapse" % title.replace(" ", "")

    def saveState():
        Options.saveOption(optionName,
                           cmds.frameLayout(group, q=True, collapse=True))

    group = uiWrappers.frameLayout(
        label=title,
        marginWidth=Constants.MARGIN_SPACING_HORIZONTAL,
        marginHeight=Constants.MARGIN_SPACING_VERTICAL,
        collapsable=True,
        expandCommand=saveState,
        collapseCommand=saveState)

    cmds.frameLayout(group,
                     e=True,
                     collapse=Options.loadOption(optionName,
                                                 1 if defaultCollapsed else 0))
    return cmds.columnLayout(adjustableColumn=1,
                             rowSpacing=Constants.MARGIN_SPACING_VERTICAL)
Example #2
0
    def createUI(self, parent):
        result = group = self.mainLayout = uiWrappers.frameLayout(
            parent=parent,
            label="Influence Filter",
            marginWidth=Constants.MARGIN_SPACING_HORIZONTAL,
            marginHeight=Constants.MARGIN_SPACING_VERTICAL,
            collapsable=True,
            expandCommand=self.isVisible.save,
            collapseCommand=self.isVisible.save,
            borderStyle='etchedIn')
        cmds.frameLayout(group, e=True, collapse=self.isVisible.get())

        column = cmds.columnLayout(
            parent=group,
            adjustableColumn=1,
            rowSpacing=Constants.MARGIN_SPACING_VERTICAL)

        form = FormLayout(parent=column)

        label = cmds.text(label='Influence Filter:')
        textField = self.influenceNameFilter = TextEdit(
            annotation="Filter influence list by name")
        clearButton = cmds.button(label='clear',
                                  width=50,
                                  command=self.clearNameFilter)

        form.attachForm(label, 10, None, 0,
                        Constants.MARGIN_SPACING_HORIZONTAL)
        form.attachForm(clearButton, 10, Constants.MARGIN_SPACING_HORIZONTAL,
                        0, None)
        form.attachForm(textField, 10, None, 0, None)
        form.attachControl(textField, label, None, None, None,
                           Constants.MARGIN_SPACING_HORIZONTAL)
        form.attachControl(textField, clearButton, None,
                           Constants.MARGIN_SPACING_HORIZONTAL, None, None)

        textField.changeCommand.addHandler(self.filterChanged.emit)

        cmds.setParent(result)
        cmds.radioCollection()

        form = FormLayout(parent=column)

        self.radioAllInfluences = RadioButtonField(self.VAR_PREFIX +
                                                   "allInfluences",
                                                   defaultValue=1,
                                                   label='Show all influences')
        self.radioAllInfluences.changeCommand.addHandler(
            self.radioAllInfluencesChanged)
        self.radioActiveInfluences = RadioButtonField(
            self.VAR_PREFIX + "activeInfluences",
            defaultValue=0,
            label='Only influences with non-zero weights')
        form.attachForm(self.radioAllInfluences, 0, 0, None, 90)
        form.attachForm(self.radioActiveInfluences, None, 0, None, 90)
        form.attachControl(self.radioActiveInfluences, self.radioAllInfluences,
                           0, None, None, None)

        return result
Example #3
0
 def createUI(self,parent):
     result = group = self.mainLayout = uiWrappers.frameLayout(parent=parent,label="Influence Filter", marginWidth=Constants.MARGIN_SPACING_HORIZONTAL,marginHeight=Constants.MARGIN_SPACING_VERTICAL, collapsable=True,
                              expandCommand=self.isVisible.save,collapseCommand=self.isVisible.save,
                              borderStyle='etchedIn')
     cmds.frameLayout(group,e=True,collapse = self.isVisible.get())
     
     column = cmds.columnLayout(parent=group,adjustableColumn=1,rowSpacing=Constants.MARGIN_SPACING_VERTICAL)
     
     form = FormLayout(parent=column)
     
     label=cmds.text(label='Influence Filter:')
     textField = self.influenceNameFilter = TextEdit(annotation="Filter influence list by name")
     clearButton = cmds.button(label='clear',width=50,command=self.clearNameFilter)
     
     
     form.attachForm(label, 10, None, 0, Constants.MARGIN_SPACING_HORIZONTAL)
     form.attachForm(clearButton, 10, Constants.MARGIN_SPACING_HORIZONTAL, 0, None)
     form.attachForm(textField,10,None,0,None)
     form.attachControl(textField,label,None,None,None,Constants.MARGIN_SPACING_HORIZONTAL)
     form.attachControl(textField,clearButton,None,Constants.MARGIN_SPACING_HORIZONTAL,None,None)
     
     
     textField.changeCommand.addHandler(self.filterChanged.emit)
     
     cmds.setParent(result)
     cmds.radioCollection()
     
     
     form = FormLayout(parent=column)
     
     self.radioAllInfluences = RadioButtonField(self.VAR_PREFIX+"allInfluences",defaultValue=1,label='Show all influences')
     self.radioAllInfluences.changeCommand.addHandler(self.radioAllInfluencesChanged)
     self.radioActiveInfluences = RadioButtonField(self.VAR_PREFIX+"activeInfluences",defaultValue=0,label='Only influences with non-zero weights')
     form.attachForm(self.radioAllInfluences, 0, 0, None, 90)
     form.attachForm(self.radioActiveInfluences, None, 0, None, 90)
     form.attachControl(self.radioActiveInfluences, self.radioAllInfluences, 0, None, None, None)
     
     return result
Example #4
0
    def createUIGroup(self, layout, title, defaultCollapsed=False):
        '''
        creates collapsable UI group
        '''
        cmds.setParent(layout)

        group = uiWrappers.frameLayout(
            label=title,
            marginWidth=Constants.MARGIN_SPACING_HORIZONTAL,
            marginHeight=Constants.MARGIN_SPACING_VERTICAL,
            collapsable=True,
            expandCommand=self.saveOptions,
            collapseCommand=self.saveOptions)
        self.lastCreatedGroup = group

        self.controls.groups.append(group)
        cmds.frameLayout(group,
                         e=True,
                         collapse=Options.loadOption(
                             self.getGroupVariable(group),
                             1 if defaultCollapsed else 0))
        return cmds.columnLayout(adjustableColumn=1,
                                 rowSpacing=Constants.MARGIN_SPACING_VERTICAL)