示例#1
0
    def filter(self, items):
        mode = mh.getSetting('tagFilterMode')
        if not self.filterActive():
            for item in items:
                item.setHidden(False)
            return

        for item in items:
            if mode == 'OR':
                if len(self.selectedTags.intersection(item.tags)) > 0:
                    item.setHidden(False)
                else:
                    item.setHidden(True)
            elif mode == 'AND':
                if len(self.selectedTags.intersection(item.tags)) == len(self.selectedTags):
                    item.setHidden(False)
                else:
                    item.setHidden(True)
            elif mode == 'NOR':
                if len(self.selectedTags.intersection((item.tags))) > 0:
                    item.setHidden(True)
                else:
                    item.setHidden(False)
            elif mode == 'NAND':
                if len(self.selectedTags.intersection(item.tags)) == len(self.selectedTags):
                    item.setHidden(True)
                else:
                    item.setHidden(False)
示例#2
0
 def __init__(self):
     super(
         TagFilter,
         self).__init__('Tag Filter [Mode : ' +
                        self.convertModes(mh.getSetting('tagFilterMode')) +
                        ']')
     self.tags = {}
     self.selectedTags = set()
示例#3
0
    def onShow(self, event):
        gui3d.TaskView.onShow(self, event)

        self.fileLoadHandler.setNameTagsUsage(
            useNameTags=mh.getSetting('useNameTags'))

        #self.modelPath = gui3d.app.currentFile.dir
        #if self.modelPath is None:
        #    self.modelPath = gui3d.app.getSetting('loaddir')
        #
        #self.fileentry.directory = self.modelPath
        #self.filechooser.setPaths(self.modelPath)
        self.fileentry.directory = gui3d.app.getSetting('loaddir')
        self.filechooser.setPaths(gui3d.app.getSetting('loaddir'))
        self.filechooser.setFocus()
示例#4
0
    def __init__(self, category):

        gui3d.TaskView.__init__(self, category, 'Load')

        self.modelPath = None

        self.fileentry = self.addTopWidget(
            gui.FileEntryView(label='Select Folder:',
                              buttonLabel='Browse',
                              mode='dir'))
        self.fileentry.filter = 'MakeHuman Models (*.mhm)'

        # Declare new settings
        gui3d.app.addSetting('loaddir', mh.getPath("models"))

        @self.fileentry.mhEvent
        def onFileSelected(event):
            self.filechooser.setPaths([event.path])
            self.filechooser.refresh()
            # Remember load folder
            gui3d.app.setSetting('loaddir', formatPath(event.path))

        loadpath = gui3d.app.getSetting('loaddir')
        self.filechooser = fc.IconListFileChooser(
            loadpath,
            'mhm',
            'thumb',
            mh.getSysDataPath('notfound.thumb'),
            sort=HumanFileSort())
        filecache.MetadataCacher.__init__(self, ['mhm'],
                                          'models_filecache.mhc')
        self.addRightWidget(self.filechooser)
        self.addLeftWidget(self.filechooser.createSortBox())
        self.fileLoadHandler = fc.TaggedFileLoader(
            self, useNameTags=mh.getSetting('useNameTags'))
        self.filechooser.setFileLoadHandler(self.fileLoadHandler)
        self.addLeftWidget(self.filechooser.createTagFilter())

        @self.filechooser.mhEvent
        def onFileSelected(filename):
            if gui3d.app.currentFile.modified:
                gui3d.app.prompt(
                    "Load",
                    "You have unsaved changes. Are you sure you want to close the current file?",
                    "Yes", "No", lambda: gui3d.app.loadHumanMHM(filename))
            else:
                gui3d.app.loadHumanMHM(filename)
示例#5
0
 def onShow(self, event):
     super(TagFilter, self).onShow(event)
     self.setTitle('Tag Filter [Mode : ' + self.convertModes(mh.getSetting('tagFilterMode')) + ']')
示例#6
0
 def labelSwitch(self):
     self.setTitle('Tag Filter [Mode : ' +
                   self.convertModes(mh.getSetting('tagFilterMode')) + ']')