Exemple #1
0
 def on_about_activate(self, action: Gio.Action, data: str) -> None:
     about_dialog = about.AboutWindow(parent_window=self.main_window)
     about_dialog.show()
Exemple #2
0
 def showAboutPage(self):
     self.aboutWindow = about.AboutWindow()
     self.aboutWindow.widget.show()
Exemple #3
0
 def aboutClicked(self):
     ab_win = about.AboutWindow(self)
     ab_win.exec_()
Exemple #4
0
    def __init__(self, app: QApplication, parent=None):
        """
        MainWindow constructor

        :param app: parent MainApplication
        :param parent: [optional] parent class
        """

        super(MainWindow, self).__init__(parent)

        self.app = app

        self.setWindowTitle(QCoreApplication.applicationName())
        self.setWindowIcon(QIcon(util.resource_path('../img/icon.png')))

        #
        # App Toolbar section
        #
        exitAction = QAction(QIcon(util.resource_path('../img/exit.png')),
                             'Exit', self)
        exitAction.setShortcut('Ctrl+Q')
        exitAction.setStatusTip("[Ctrl+Q] Exit application")
        exitAction.triggered.connect(self.app.quit)

        aboutAction = QAction(QIcon(util.resource_path('../img/info.png')),
                              'About', self)  # see about.py
        aboutAction.setShortcut('Ctrl+I')
        aboutAction.setStatusTip("[Ctrl+I] Application Info & About")
        self.aboutWindow = about.AboutWindow()
        aboutAction.triggered.connect(self.aboutWindow.show)

        settingsAction = QAction(
            QIcon(util.resource_path('../img/settings.png')), 'Settings',
            self)  # see settings.py
        settingsAction.setShortcut('Ctrl+P')
        settingsAction.setStatusTip("[Ctrl+P] Application Settings")
        self.settingsWindow = settings.SettingsWindow(app=app)
        settingsAction.triggered.connect(self.settingsWindow.show)

        appToolbar = self.addToolBar('app')  # internal name
        appToolbar.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
        appToolbar.addAction(exitAction)
        appToolbar.addAction(aboutAction)
        appToolbar.addAction(settingsAction)

        #
        # Controller Toolbar section
        #
        # see errorssettings.py
        errorsSettingsAction = QAction(
            QIcon(util.resource_path('../img/set_errors.png')),
            'Errors limits', self)
        errorsSettingsAction.setShortcut('E')
        errorsSettingsAction.setStatusTip("[E] Set values of errors limits")
        self.errorsSettingsWindow = errorssettings.ErrorsSettingsWindow(
            app=app)
        errorsSettingsAction.triggered.connect(self.errorsSettingsWindow.show)

        restoreValuesAction = QAction(
            QIcon(util.resource_path('../img/restore.png')),
            'Restore controller', self)
        restoreValuesAction.setShortcut('R')
        restoreValuesAction.setStatusTip(
            "[R] Restore all controller parameters to values at the program start time"
        )
        restoreValuesAction.triggered.connect(self.restoreContValues)

        saveToEEPROMAction = QAction(
            QIcon(util.resource_path('../img/eeprom.png')), 'Save to EEPROM',
            self)
        saveToEEPROMAction.setShortcut('S')
        saveToEEPROMAction.setStatusTip(
            "[S] Save current controller configuration to EEPROM")
        saveToEEPROMAction.triggered.connect(self.saveToEEPROM)

        contToolbar = self.addToolBar('controller')  # internal name
        contToolbar.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
        contToolbar.addAction(errorsSettingsAction)
        contToolbar.addAction(restoreValuesAction)
        contToolbar.addAction(saveToEEPROMAction)

        #
        # Graphs Toolbar section
        #
        playpauseAction = QAction(
            QIcon(util.resource_path('../img/play_pause.png')), 'Play/Pause',
            self)
        playpauseAction.setShortcut('P')
        playpauseAction.setStatusTip("[P] Play/pause graphs")
        playpauseAction.triggered.connect(self.playpauseGraphs)

        graphsToolbar = self.addToolBar('graphs')  # internal name
        graphsToolbar.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
        graphsToolbar.addAction(playpauseAction)
        self.playpauseButton = graphsToolbar.widgetForAction(playpauseAction)
        self.playpauseButton.setCheckable(True)
        self.playpauseButton.setChecked(True)
        self.graphsWereRun = False

        mainMenu = self.menuBar().addMenu('&Menu')
        mainMenu.addAction(aboutAction)
        mainMenu.addAction(settingsAction)
        mainMenu.addAction(exitAction)

        if self.app.isOfflineMode:
            self.statusBar().addWidget(
                QLabel("<font color='red'>Offline mode</font>"))

        self.centralWidget = CentralWidget(app=app)
        self.setCentralWidget(self.centralWidget)

        self.statusBar().show()  # can be not visible in online mode otherwise