def __init__(self, view, parent=None): super(TreeMenuHandler, self).__init__(view, parent=parent) self.__expandOnLoadAction = Action(selectionBased=False, text="Keep All Expanded", checkable=True, runFn=self.__setExpandOnLoad) self._staticActions = [ Action(selectionBased=True, text="Toggle Expanded", runFn=self.view._toggleExpanded), Action(selectionBased=True, text="Expand", shortcut=QtGui.QKeySequence(QtCore.Qt.Key_Plus), isValidFn=self.__canExpand, runFn=self.expandSelected), Action(selectionBased=True, text="Collapse", shortcut=QtGui.QKeySequence(QtCore.Qt.Key_Minus), isValidFn=self.__canCollapse, runFn=self.collapseSelected), Action(selectionBased=True, text="Expand all", runFn=self.view.expandAll), Action(selectionBased=True, text="Collapse all", runFn=self.view.collapseAll), self.__expandOnLoadAction ]
def __init__(self, text=None, icon=None, tip=None, shortcut=None, shortcutContext=QtCore.Qt.WidgetShortcut, menu=None, checkable=False, separator=False, selectionBased=False, signal="triggered()", enabled=True, isValidFn=None, runFn=None, parent=None): super(Action, self).__init__(parent) if text: self.setText(text) if icon: self.setIcon(icon) if tip: self.setToolTip(tip) self.setStatusTip(tip) if shortcut: if isinstance(shortcut, list): shortcuts = [QtGui.QKeySequence(key) for key in shortcut] self.setShortcuts(shortcuts) else: self.setShortcut(QtGui.QKeySequence(shortcut)) self.setShortcutContext(shortcutContext) if menu: self.setMenu(menu) self.setCheckable(checkable) self.setEnabled(enabled) self.setSeparator(separator) self.__selectionBased = selectionBased self.__isValidFn = isValidFn self.__runFn = runFn self.connect(self, QtCore.SIGNAL(signal), self.run) self.__subActions = []