def __init__(self, category, parent=None): WelcomePage.__init__(self, parent=parent) self._actions = {} self._sorted_actions = [] for plugin_class in plugins(category): action = QtGui.QAction(obj_icon(plugin_class), alias(plugin_class), self) action.triggered.connect(self._on_action_triggered) self._actions[action] = plugin_class self._sorted_actions.append(action) self.set_actions(self._sorted_actions)
def _redraw_tab(self, idx): """ """ if idx not in self._name: return name = self._name[idx] _plugin_class = plugin_class('oalab.applet', name) applet = self._applets[idx][name] # self.setTabText(idx, _plugin_class.alias) if self.tabPosition() == QtGui.QTabWidget.East: rotation = -90 elif self.tabPosition() == QtGui.QTabWidget.West: rotation = 90 else: rotation = 0 self.setTabIcon(idx, obj_icon(_plugin_class, applet=applet, rotation=rotation)) self.setTabToolTip(idx, _plugin_class.alias) self.widget(idx).set_edit_mode(self._edit_mode)
def __init__(self, parent=None): QtGui.QWidget.__init__(self) self.setContentsMargins(0, 0, 0, 0) self._layout = QtGui.QHBoxLayout(self) self._layout.setContentsMargins(0, 0, 0, 0) self._cb_applets = QtGui.QComboBox() self._applet_alias = [] # list of alias sorted by name self._applet_plugins = {} # alias -> plugin class self._cb_applets.addItem('Select applet') for plugin_class in plugins('oalab.applet'): self._applet_alias.append(plugin_class.alias) self._applet_plugins[plugin_class.alias] = plugin_class self._applet_alias.sort() for alias in self._applet_alias: plugin_class = self._applet_plugins[alias] self._cb_applets.addItem(obj_icon(plugin_class), alias) self._layout.addWidget(self._cb_applets) self.setCurrentApplet('') self._cb_applets.currentIndexChanged.connect(self._on_current_applet_changed)