def setPlugins( self, plugins ): """ Loads the plugins for the inputed dialog. :param plugins | [<XWizardPlugin>, ..] """ langs = {} icons = {} for plugin in plugins: wlang = plugin.wizardType() wgrp = plugin.wizardGroup() langs.setdefault(wlang, {}) langs[wlang].setdefault(wgrp, []) langs[wlang][wgrp].append( plugin ) icons.setdefault(wgrp, plugin.groupIcon(wgrp)) self._plugins = langs self.blockSignals(True) self.setUpdatesEnabled(False) self.uiPluginTREE.clear() folder = QIcon(projexui.resources.find('img/folder_32.png')) for wlang in sorted(langs.keys()): langitem = XTreeWidgetItem(self.uiPluginTREE, [wlang]) langitem.setFixedHeight(28) langitem.initGroupStyle() langitem.setExpanded(True) for wgrp in sorted(langs[wlang].keys()): grpitem = XTreeWidgetItem(langitem, [wgrp]) grpitem.setIcon(0, QIcon(icons[wgrp])) grpitem.setFixedHeight(26) self.blockSignals(False) self.setUpdatesEnabled(True)
def setPlugins( self, plugins ): """ Loads the plugins for the inputed dialog. :param plugins | [<XConfigPlugin>, ..] """ plugins = sorted(plugins, key = lambda x: x.title()) breakdown = {} for plugin in plugins: breakdown.setdefault(plugin.configGroup(), []) breakdown[plugin.configGroup()].append(plugin) for grp in sorted(breakdown.keys()): gitem = XTreeWidgetItem([grp]) gitem.initGroupStyle() gitem.setFixedHeight(22) for plugin in breakdown[grp]: item = PluginItem(plugin) gitem.addChild(item) self.uiPluginTREE.addTopLevelItem(gitem) gitem.setExpanded(True)