Ejemplo n.º 1
0
    def __init__(self, parent=None):
        """ init UI """
        QMainWindow.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        self.dockToolBarManager = DockToolBarManager(self)

        self.dockToolBar(Qt.TopToolBarArea)
        self.__bottomDockBar = self.dockToolBar(Qt.BottomToolBarArea)
        self.dockToolBar(Qt.LeftToolBarArea)
        self.dockToolBar(Qt.RightToolBarArea)

        self.ui.actionSaveSession.setEnabled(False)

        self.do = DistributedObjects(self)

        self.act = self.do.actions
        self.debugController = self.do.debugController
        self.settings = self.do.settings
        self.signalproxy = self.do.signalProxy
        self.pluginloader = PluginLoader(self.do)

        self.act = self.do.actions
        # init RecentFileHandler
        self.recentFileHandler = RecentFileHandler(
            self, self.ui.menuRecentlyUsedFiles, self.do)
        self.debugController.executableOpened.connect(
            self.recentFileHandler.addToRecentFiles)
        self.debugController.executableOpened.connect(self.showExecutableName)
        self.debugController.executableOpened.connect(self.disableButtons)
        # signal proxy
        self.signalproxy.inferiorIsRunning.connect(self.targetStartedRunning)
        self.signalproxy.inferiorStoppedNormally.connect(self.targetStopped)
        self.signalproxy.inferiorReceivedSignal.connect(self.targetStopped)
        self.signalproxy.inferiorHasExited.connect(self.targetExited)
        self.signalproxy.recordStateChanged.connect(
            self.setReverseDebugButtonsState)

        # Plugin Loader
        self.pluginloader.insertPluginAction.connect(self.addPluginAction)
        self.ui.actionSavePlugins.triggered.connect(self.showSavePluginsDialog)
        self.ui.actionLoadPlugins.triggered.connect(self.showLoadPluginsDialog)

        # Add editor to main window.
        self.ui.verticalLayout.addWidget(self.do.editorController.editor_view)

        dw = self.newDockWidget("Log View", Qt.BottomDockWidgetArea, True)
        self.logviewhandler = LogViewHandler(dw)
        dw.setWidget(self.logviewhandler)
        self.notificationFrameHandler = NotificationFrameHandler(
            self.ui.notificationArea)

        self.pluginloader.addAvailablePlugins()

        self.setWindowFilePath("<none>")
        self.setupUi()
        self.readSettings()

        self.quickwatch = QuickWatch(self, self.do)