def __init__(self, debug=False, DbOnly=False, doc=False, arch='vxWorks-ppc604_long'): # This is a default architecture self.architecture = arch self.simarch = False self.epics_base = None self.build_root = '.' self.iocname = 'example' # This the group of undo stacks for each table self.stack = QUndoGroup() # this is a dict of tables self._tables = {} self._tableNames = [] # store the debug state self.debug = debug self.DbOnly = DbOnly self.doc = doc self.setLastModified() # this is the list of objects provided by this module, for documentation self.moduleObjects = [] # store the arch and tableNames so we know we're clean self.setStored()
def createActions(self): self.undoGroup = QUndoGroup(self) self.undoStack = QUndoStack(self) self.__createUndoRedoActions() self.slots["File"] = FileSlots(self) self.slots["List"] = ListSlots(self) self.slots["Edit"] = EditSlots(self) self.slots["Item"] = ItemSlots(self) self.slots["Server"] = ServerSlots(self) self.slots["Help"] = HelpSlots(self) self.slots["Windows"] = WindowsSlots(self) for sl in self.slots.values(): self.__setActions(sl) self.__setTasks(sl) self.slots["Windows"].updateWindowMenu() if not PYTANGO_AVAILABLE: self.ui.actionConnectServer.setDisabled(True) self.disableServer(True) viewCompDockAction = self.ui.compDockWidget.toggleViewAction() viewCompDockAction.setToolTip("Show/Hide the dock lists") viewCompDockAction.setStatusTip("Show/Hide the dock lists") viewLogDockAction = self.ui.logDockWidget.toggleViewAction() viewLogDockAction.setToolTip("Show/Hide the logger") viewLogDockAction.setStatusTip("Show/Hide the logger") self.ui.menuView.insertAction(self.ui.menuView.actions()[0], viewLogDockAction) self.ui.menuView.insertAction(self.ui.menuView.actions()[0], viewCompDockAction) self.__setAction(self.ui.actionAllAttributesView, "&All Attributes", self.viewAllAttributes, "", tip="Go to the component list", checkable=True) # Signals self.connect(self.componentList.ui.elementListWidget, SIGNAL("itemDoubleClicked(QListWidgetItem*)"), self.slots["Edit"].componentEdit) self.connect(self.sourceList.ui.elementListWidget, SIGNAL("itemDoubleClicked(QListWidgetItem*)"), self.slots["Edit"].dsourceEdit) ## Component context menu self.ui.mdi.setContextMenuPolicy(Qt.ActionsContextMenu) self.contextMenuActions = ( self.ui.actionNewGroupItem, self.ui.actionNewFieldItem, self.ui.actionNewDataSourceItem, self.ui.actionNewStrategyItem, self.ui.actionNewAttributeItem, self.ui.actionNewLinkItem, None, self.ui.actionLoadSubComponentItem, self.ui.actionLoadDataSourceItem, None, self.ui.actionAddDataSourceItem, self.ui.actionLinkDataSourceItem, None, self.ui.actionCutItem, self.ui.actionCopyItem, self.ui.actionPasteItem, self.ui.actionTakeDataSourceItem, None, self.ui.actionMoveUpComponentItem, self.ui.actionMoveDownComponentItem, None, self.ui.actionApplyComponentItem, None, self.ui.actionClearComponentItems) ## Component list menu self.componentListMenuActions = ( self.ui.actionNew, self.ui.actionEditComponent, self.ui.actionMergeComponentItems, self.ui.actionClose, None, { "File": (self.ui.actionLoad, self.ui.actionSave, self.ui.actionSaveAs, self.ui.actionSaveAll, self.ui.actionReloadList, self.ui.actionChangeDirectory) }, None, { "Server": (self.ui.actionFetchComponentsServer, self.ui.actionStoreComponentServer, self.ui.actionStoreAllComponentsServer, self.ui.actionDeleteComponentServer, self.ui.actionGetMandatoryComponentsServer, self.ui.actionSetComponentMandatoryServer, self.ui.actionUnsetComponentMandatoryServer) }, None, self.ui.actionTakeDataSources) ## DataSource list menu self.dsourceListMenuActions = ( self.ui.actionNewDataSource, self.ui.actionEditDataSource, self.ui.actionApplyDataSource, self.ui.actionCloseDataSource, None, self.ui.actionCopyDataSource, self.ui.actionCutDataSource, self.ui.actionPasteDataSource, None, { "File": (self.ui.actionLoadDataSource, self.ui.actionSaveDataSource, self.ui.actionSaveDataSourceAs, self.ui.actionSaveAllDataSources, self.ui.actionReloadDataSourceList, self.ui.actionChangeDataSourceDirectory) }, None, { "Server": (self.ui.actionFetchDataSourcesServer, self.ui.actionStoreDataSourceServer, self.ui.actionStoreAllDataSourcesServer, self.ui.actionDeleteDataSourceServer) }) # datasource widget actions self.externalDSActions = { "externalSave": self.slots["File"].dsourceSaveButton, "externalApply": self.slots["Edit"].dsourceApplyButton, "externalClose": self.slots["Windows"].dsourceClose, "externalStore": self.slots["Server"].serverStoreDataSourceButton } # component widget actions self.externalCPActions = { "externalSave": self.slots["File"].componentSaveButton, "externalStore": self.slots["Server"].serverStoreComponentButton, "externalApply": self.slots["Item"].componentApplyItemButton, "externalClose": self.slots["Windows"].componentClose, "externalDSLink": self.slots["Item"].componentLinkDataSourceItemButton }