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)
def __init__(self): super( TagFilter, self).__init__('Tag Filter [Mode : ' + self.convertModes(mh.getSetting('tagFilterMode')) + ']') self.tags = {} self.selectedTags = set()
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()
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)
def onShow(self, event): super(TagFilter, self).onShow(event) self.setTitle('Tag Filter [Mode : ' + self.convertModes(mh.getSetting('tagFilterMode')) + ']')
def labelSwitch(self): self.setTitle('Tag Filter [Mode : ' + self.convertModes(mh.getSetting('tagFilterMode')) + ']')