Esempio n. 1
0
 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()
Esempio n. 2
0
    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
        }