def __init__(self, name, area, parent): QtGui.QToolBar.__init__(self, parent) assert isinstance(parent, QtGui.QMainWindow) assert area in self.DOCK_AREA_TO_TB self._area = area self.setObjectName(text2objectname(name, prefix="ToolBar")) self.setWindowTitle(name) #Button Style #self.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon) self.setFloatable(False) self.setMovable(False) self.setSizePolicy( QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.MinimumExpanding)) self.setIconSize(QtCore.QSize(16, 16)) #Restore action self.restoreAction = QtGui.QAction(self) self.restoreAction.setIcon(resources.getIcon("image-stack")) self.restoreAction.triggered.connect(self.hide) self.addAction(self.restoreAction) self.visibilityChanged.connect(self.on_visibilityChanged)
def setup(self): logging.root.addHandler(self.handler) self.debug_levels_menu = QtGui.QMenu() self.debug_levels_action_group = QtGui.QActionGroup(self) for level, value in filter(lambda (key, value): type(key) == str, logging._levelNames.iteritems()): action = QtGui.QAction(level.title(), self) action.setData({'name': level, 'level': value}) action.setCheckable(True) self.debug_levels_action_group.addAction(action) self.debug_levels_menu.addAction(action)
def configToolbar(self): self.toolbarMenu = QtGui.QMenu("Menu", self) action = QtGui.QAction("New Command", self) action.triggered.connect(self.on_actionCommand_triggered) self.toolbarMenu.addAction(action) action = QtGui.QAction("New Drag Command", self) action.triggered.connect(self.on_actionDragCommand_triggered) self.toolbarMenu.addAction(action) action = QtGui.QAction("New Language", self) action.triggered.connect(self.on_actionLanguage_triggered) self.toolbarMenu.addAction(action) action = QtGui.QAction("New Snippet", self) action.triggered.connect(self.on_actionSnippet_triggered) self.toolbarMenu.addAction(action) action = QtGui.QAction("New Template", self) action.triggered.connect(self.on_actionTemplate_triggered) self.toolbarMenu.addAction(action) action = QtGui.QAction("New Project", self) action.triggered.connect(self.on_actionProject_triggered) self.toolbarMenu.addAction(action) self.templateFileAction = QtGui.QAction("New Template File", self) self.templateFileAction.triggered.connect(self.on_actionTemplateFile_triggered) self.toolbarMenu.addAction(self.templateFileAction) action = QtGui.QAction("New Preferences", self) action.triggered.connect(self.on_actionPreferences_triggered) self.toolbarMenu.addAction(action) self.toolbarMenu.addSeparator() action = QtGui.QAction("New Bundle", self) action.triggered.connect(self.on_actionBundle_triggered) self.toolbarMenu.addAction(action) def conditionalEnabledTemplateFile(): node = self.proxyTreeModel.node(self.treeView.currentIndex()) self.templateFileAction.setEnabled(not node.isRootNode() and (node.TYPE in ["template", "templatefile", "project"])) self.toolbarMenu.aboutToShow.connect(conditionalEnabledTemplateFile) self.pushButtonAdd.setMenu(self.toolbarMenu) #Bundle global filter dialog self.bundleFilterDialog = PMXBundleFilter(self) self.defaullFilterText = "Filter"
def create_action(parent, settings): """Create a QAction""" text = settings.get("text", "Action") action = QtGui.QAction(text, parent) action.setObjectName(text2objectname(text, prefix="action")) # attrs if settings.has_key("icon"): icon = settings["icon"] if isinstance(icon, basestring): icon = resources.getIcon(icon) action.setIcon(icon) if settings.has_key("shortcut"): action.setShortcut(settings["shortcut"]) if settings.has_key("tip"): action.setToolTip(settings["tip"]) action.setStatusTip(settings["tip"]) if settings.has_key("data"): action.setData(settings["data"]) if settings.has_key("menurole"): action.setMenuRole(settings["menurole"]) if settings.has_key("checkable"): action.setCheckable(settings["checkable"]) # callables if settings.has_key("callback"): action.callback = settings["callback"] if settings.has_key("testChecked"): action.testChecked = settings["testChecked"] if settings.has_key("triggered") and callable(settings["triggered"]): parent.connect(action, QtCore.SIGNAL("triggered()"), settings["triggered"]) if settings.has_key("toggled") and callable(settings["toggled"]): parent.connect(action, QtCore.SIGNAL("toggled(bool)"), settings["toggled"]) action.setCheckable(True) #TODO: Hard-code all shortcuts and choose context=QtCore.Qt.WidgetShortcut # (this will avoid calling shortcuts from another dockwidget # since the context thing doesn't work quite well with these widgets) action.setShortcutContext(settings.get("context", QtCore.Qt.WindowShortcut)) return action
def buildTriggerItemAction(self, parent, receiver): action = QtGui.QAction(self.icon, self.buildMenuTextEntry(), parent) parent.connect(action, QtCore.SIGNAL('triggered()'), receiver) return action