Example #1
0
    def __init__(self, Script:QMainWindow):

        # Set window parameters
        Script.setWindowTitle("ASL Tools - Script")
        Script.setWindowFlag(Qt.Window)

        # Main frame
        frame = QWidget(Script)
        self.h_layout = QHBoxLayout(frame)

        # Menubar
        menubar = Script.menuBar()
        menu_file:QMenu = menubar.addMenu("Fichier")
        self.action_file_new = QAction("Nouveau", menubar)
        self.action_file_new.setIcon(QIcon(":/images/new-file.svg"))
        self.action_file_new.setShortcut("Ctrl+N")
        menu_file.addAction(self.action_file_new)
        self.action_file_open = QAction("Ouvrir", menubar)
        self.action_file_open.setIcon(QIcon(":/images/open-file.svg"))
        self.action_file_open.setShortcut("Ctrl+O")
        menu_file.addAction(self.action_file_open)
        self.action_file_save = QAction("Enregistrer", menubar)
        self.action_file_save.setIcon(QIcon(":/images/save.svg"))
        self.action_file_save.setShortcut("Ctrl+S")
        menu_file.addAction(self.action_file_save)
        self.action_file_saveas = QAction("Enregistrer sous", menubar)
        self.action_file_saveas.setIcon(QIcon(":/images/save-as.svg"))
        self.action_file_saveas.setShortcut("Ctrl+Shift+S")
        menu_file.addAction(self.action_file_saveas)
        menu_file.addSeparator()
        self.action_file_export = QAction("Exporter", menubar)
        self.action_file_export.setIcon(QIcon(":/images/export.svg"))
        menu_file.addAction(self.action_file_export)
        menu_file.addSeparator()
        self.action_file_quit = QAction("Quitter", menubar)
        self.action_file_quit.setIcon(QIcon(":/images/quit.svg"))
        menu_file.addAction(self.action_file_quit)
        menu_edit:QMenu = menubar.addMenu("Edition")
        self.action_edit_copy = QAction("Copier", menubar)
        self.action_edit_copy.setIcon(QIcon(":/images/copy.svg"))
        self.action_edit_copy.setShortcut("Alt+C")
        menu_edit.addAction(self.action_edit_copy)
        self.action_edit_paste = QAction("Coller", menubar)
        self.action_edit_paste.setIcon(QIcon(":/images/paste.svg"))
        self.action_edit_paste.setShortcut("Alt+V")
        menu_edit.addAction(self.action_edit_paste)

        # Spacer
        spacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
        self.h_layout.addItem(spacer)

        # Main grid
        self.grid_layout = QtWidgets.QGridLayout()
        # Filename
        self.label_file = QtWidgets.QLabel(frame)
        self.label_file.setAlignment(QtCore.Qt.AlignCenter)
        self.label_file.setObjectName("label_file")
        self.grid_layout.addWidget(self.label_file, 0, 0, 1, 2)
        # Action widgets
        self.h_layout_actions = QtWidgets.QHBoxLayout()
        self.btn_add = QtWidgets.QToolButton(frame)
        self.btn_add.setEnabled(True)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/images/add.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btn_add.setIcon(icon)
        self.btn_add.setIconSize(QtCore.QSize(24, 24))
        self.btn_add.setAutoRaise(True)
        self.h_layout_actions.addWidget(self.btn_add)
        self.btn_remove = QtWidgets.QToolButton(frame)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/images/remove.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btn_remove.setIcon(icon)
        self.btn_remove.setIconSize(QtCore.QSize(24, 24))
        self.btn_remove.setAutoRaise(True)
        self.h_layout_actions.addWidget(self.btn_remove)
        self.btn_move_up = QtWidgets.QToolButton(frame)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/images/arrow-up.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btn_move_up.setIcon(icon)
        self.btn_move_up.setIconSize(QtCore.QSize(24, 24))
        self.btn_move_up.setAutoRaise(True)
        self.h_layout_actions.addWidget(self.btn_move_up)
        self.btn_move_down = QtWidgets.QToolButton(frame)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/images/arrow-down.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btn_move_down.setIcon(icon)
        self.btn_move_down.setIconSize(QtCore.QSize(24, 24))
        self.btn_move_down.setAutoRaise(True)
        self.h_layout_actions.addWidget(self.btn_move_down)
        spacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
        self.h_layout_actions.addItem(spacer)
        self.grid_layout.addLayout(self.h_layout_actions, 1, 0, 1, 1)
        # List widget
        self.list = QtWidgets.QListWidget(frame)
        self.grid_layout.addWidget(self.list, 2, 0, 1, 1)

        # Grid
        self.grid_layout_form = QtWidgets.QGridLayout()
        # Compliance
        self.label_compliance = QtWidgets.QLabel(frame)
        self.grid_layout_form.addWidget(self.label_compliance, 0, 0, 1, 1)
        self.compliance = QtWidgets.QSpinBox(frame)
        self.compliance.setMaximum(500)
        self.grid_layout_form.addWidget(self.compliance, 0, 1, 1, 1)
        # Resistance
        self.label_resistance = QtWidgets.QLabel(frame)
        self.grid_layout_form.addWidget(self.label_resistance, 1, 0, 1, 1)
        self.resistance = QtWidgets.QSpinBox(frame)
        self.resistance.setMaximum(500)
        self.grid_layout_form.addWidget(self.resistance, 1, 1, 1, 1)
        # Respiratory rate
        self.label_respi_rate = QtWidgets.QLabel(frame)
        self.grid_layout_form.addWidget(self.label_respi_rate, 2, 0, 1, 1)
        self.respi_rate = QtWidgets.QSpinBox(frame)
        self.respi_rate.setMaximum(500)
        self.grid_layout_form.addWidget(self.respi_rate, 2, 1, 1, 1)
        # Spacer
        spacerItem1 = QtWidgets.QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
        self.grid_layout_form.addItem(spacerItem1, 4, 0, 1, 1)
        # Pmus insp
        self.label_i_pmus = QtWidgets.QLabel(frame)
        self.grid_layout_form.addWidget(self.label_i_pmus, 5, 0, 1, 1)
        self.i_pmus = QtWidgets.QSpinBox(frame)
        self.i_pmus.setMaximum(100)
        self.grid_layout_form.addWidget(self.i_pmus, 5, 1, 1, 1)
        # Pmus insp inc
        self.label_i_pmus_inc = QtWidgets.QLabel(frame)
        self.grid_layout_form.addWidget(self.label_i_pmus_inc, 6, 0, 1, 1)
        self.i_pmus_inc = QtWidgets.QSpinBox(frame)
        self.i_pmus_inc.setMaximum(100)
        self.grid_layout_form.addWidget(self.i_pmus_inc, 6, 1, 1, 1)
        # Pmus insp hold
        self.label_i_pmus_hld = QtWidgets.QLabel(frame)
        self.grid_layout_form.addWidget(self.label_i_pmus_hld, 7, 0, 1, 1)
        self.i_pmus_hld = QtWidgets.QSpinBox(frame)
        self.i_pmus_hld.setMaximum(100)
        self.grid_layout_form.addWidget(self.i_pmus_hld, 7, 1, 1, 1)
        # Pmus insp rel
        self.label_i_pmus_rel = QtWidgets.QLabel(frame)
        self.grid_layout_form.addWidget(self.label_i_pmus_rel, 8, 0, 1, 1)
        self.i_pmus_rel = QtWidgets.QSpinBox(frame)
        self.i_pmus_rel.setMaximum(100)
        self.grid_layout_form.addWidget(self.i_pmus_rel, 8, 1, 1, 1)
        # Spacer
        spacerItem4 = QtWidgets.QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
        self.grid_layout_form.addItem(spacerItem4, 9, 0, 1, 1)
        # Pmus exp
        self.label_e_pmus = QtWidgets.QLabel(frame)
        self.grid_layout_form.addWidget(self.label_e_pmus, 10, 0, 1, 1)
        self.e_pmus = QtWidgets.QSpinBox(frame)
        self.e_pmus.setMaximum(100)
        self.grid_layout_form.addWidget(self.e_pmus, 10, 1, 1, 1)
        # Pmus exp inc
        self.label_e_pmus_inc = QtWidgets.QLabel(frame)
        self.grid_layout_form.addWidget(self.label_e_pmus_inc, 11, 0, 1, 1)
        self.e_pmus_inc = QtWidgets.QSpinBox(frame)
        self.e_pmus_inc.setMaximum(100)
        self.grid_layout_form.addWidget(self.e_pmus_inc, 11, 1, 1, 1)
        # Pmus exp hold
        self.label_e_pmus_hld = QtWidgets.QLabel(frame)
        self.grid_layout_form.addWidget(self.label_e_pmus_hld, 12, 0, 1, 1)
        self.e_pmus_hld = QtWidgets.QSpinBox(frame)
        self.e_pmus_hld.setMaximum(100)
        self.grid_layout_form.addWidget(self.e_pmus_hld, 12, 1, 1, 1)
        # Pmus exp rel
        self.label_e_pmus_rel = QtWidgets.QLabel(frame)
        self.grid_layout_form.addWidget(self.label_e_pmus_rel, 13, 0, 1, 1)
        self.e_pmus_rel = QtWidgets.QSpinBox(frame)
        self.e_pmus_rel.setMaximum(100)
        self.grid_layout_form.addWidget(self.e_pmus_rel, 13, 1, 1, 1)
        # Spacer
        spacerItem3 = QtWidgets.QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
        self.grid_layout_form.addItem(spacerItem3, 14, 0, 1, 1)
        # CRF
        self.label_crf = QtWidgets.QLabel(frame)
        self.grid_layout_form.addWidget(self.label_crf, 15, 0, 1, 1)
        self.crf = QtWidgets.QDoubleSpinBox(frame)
        self.crf.setDecimals(1)
        self.crf.setSingleStep(0.1)
        self.grid_layout_form.addWidget(self.crf, 15, 1, 1, 1)
        # Spacer
        spacerItem2 = QtWidgets.QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
        self.grid_layout_form.addItem(spacerItem2, 16, 0, 1, 1)
        # Repetions
        self.label_repetitions = QtWidgets.QLabel(frame)
        self.grid_layout_form.addWidget(self.label_repetitions, 17, 0, 1, 1)
        self.repetitions = QtWidgets.QSpinBox(frame)
        self.repetitions.setMaximum(9999)
        self.grid_layout_form.addWidget(self.repetitions, 17, 1, 1, 1)
        self.label_repetitions_total = QtWidgets.QLabel(frame)
        self.label_repetitions_total.setMinimumWidth(30)
        self.grid_layout_form.addWidget(self.label_repetitions_total, 17, 2, 1, 1)
        # Spacer
        spacerItem2 = QtWidgets.QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.grid_layout_form.addItem(spacerItem2, 18, 0, 1, 1)
        # Set form layout in the main grid
        self.grid_layout.addLayout(self.grid_layout_form, 2, 1, 1, 1)
        # Progress bar
        self.progress = QProgressBar(frame)
        self.progress.setMaximumHeight(10)
        self.progress.setTextVisible(False)
        self.grid_layout.addWidget(self.progress, 3, 0, 1, 2)
        # Spacer
        spacer = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.grid_layout.addItem(spacer, 4, 0, 1, 2)

        self.h_layout.addLayout(self.grid_layout)
        spacer = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.h_layout.addItem(spacer)

        # Set size and position
        w, h = self.h_layout.sizeHint().toTuple()
        w_s, h_s = QApplication.primaryScreen().size().toTuple()
        x = round(w_s/2 - w/2)
        y = round(h_s/2 - h/2)
        Script.setCentralWidget(frame)
        Script.resize(w, h)
        Script.move(x, y)

        self.retranslateUi(Script)
        QtCore.QMetaObject.connectSlotsByName(Script)
        Script.setTabOrder(self.btn_add, self.btn_remove)
        Script.setTabOrder(self.btn_remove, self.btn_move_up)
        Script.setTabOrder(self.btn_move_up, self.btn_move_down)
        Script.setTabOrder(self.btn_move_down, self.list)
        Script.setTabOrder(self.list, self.compliance)
        Script.setTabOrder(self.compliance, self.resistance)
        Script.setTabOrder(self.resistance, self.respi_rate)
        Script.setTabOrder(self.respi_rate, self.i_pmus)
        Script.setTabOrder(self.i_pmus, self.i_pmus_inc)
        Script.setTabOrder(self.i_pmus_inc, self.i_pmus_hld)
        Script.setTabOrder(self.i_pmus_hld, self.i_pmus_rel)
        Script.setTabOrder(self.i_pmus_rel, self.e_pmus)
        Script.setTabOrder(self.e_pmus, self.e_pmus_inc)
        Script.setTabOrder(self.e_pmus_inc, self.e_pmus_hld)
        Script.setTabOrder(self.e_pmus_hld, self.e_pmus_rel)
        Script.setTabOrder(self.e_pmus_rel, self.crf)
        Script.setTabOrder(self.crf, self.repetitions)
Example #2
0
    def __init__(self, BigScript: QMainWindow):

        # Set Window parameters
        BigScript.setWindowTitle("ASL Tools - Big Script")
        BigScript.setWindowFlag(Qt.Window)

        # Main frame
        frame = QWidget(BigScript)
        self.h_layout = QHBoxLayout(frame)

        # Menubar
        menubar = BigScript.menuBar()
        menu_file: QMenu = menubar.addMenu("Fichier")
        self.action_file_new = QAction("Nouveau", menubar)
        self.action_file_new.setIcon(QIcon(":/images/new-file.svg"))
        self.action_file_new.setShortcut("Ctrl+N")
        menu_file.addAction(self.action_file_new)
        self.action_file_save = QAction("Enregistrer", menubar)
        self.action_file_save.setIcon(QIcon(":/images/save.svg"))
        self.action_file_save.setShortcut("Ctrl+S")
        menu_file.addAction(self.action_file_save)
        self.action_file_saveas = QAction("Enregistrer sous", menubar)
        self.action_file_saveas.setIcon(QIcon(":/images/save-as.svg"))
        self.action_file_saveas.setShortcut("Ctrl+Shift+S")
        menu_file.addAction(self.action_file_saveas)
        menu_file.addSeparator()
        self.action_file_export = QAction("Exporter", menubar)
        self.action_file_export.setIcon(QIcon(":/images/export.svg"))
        menu_file.addAction(self.action_file_export)
        menu_file.addSeparator()
        self.action_file_quit = QAction("Quitter", menubar)
        self.action_file_quit.setIcon(QIcon(":/images/quit.svg"))
        menu_file.addAction(self.action_file_quit)

        # Spacer
        spacerItem = QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding,
                                 QtWidgets.QSizePolicy.Minimum)
        self.h_layout.addItem(spacerItem)

        # Grid layout
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setSpacing(15)
        # File
        self.label_file = QtWidgets.QLabel(frame)
        self.label_file.setTextFormat(QtCore.Qt.PlainText)
        self.label_file.setAlignment(QtCore.Qt.AlignCenter)
        self.label_file.setObjectName("label_file")
        self.gridLayout.addWidget(self.label_file, 0, 0, 1, 4)
        # Header
        self.label_from = QLabel(frame)
        self.gridLayout.addWidget(self.label_from, 1, 1, 1, 1)
        self.label_to = QLabel(frame)
        self.gridLayout.addWidget(self.label_to, 1, 2, 1, 1)
        self.label_step = QLabel(frame)
        self.gridLayout.addWidget(self.label_step, 1, 3, 1, 1)
        # Resistance
        self.label_r = QLabel(frame)
        self.gridLayout.addWidget(self.label_r, 2, 0, 1, 1)
        self.r_from = QtWidgets.QSpinBox(frame)
        self.r_from.setObjectName("grid-spin")
        self.r_from.setMinimum(0)
        self.r_from.setMaximum(200)
        self.gridLayout.addWidget(self.r_from, 2, 1, 1, 1)
        self.r_to = QtWidgets.QSpinBox(frame)
        self.r_to.setObjectName("grid-spin")
        self.r_to.setMinimum(0)
        self.r_to.setMaximum(200)
        self.gridLayout.addWidget(self.r_to, 2, 2, 1, 1)
        self.r_step = QtWidgets.QSpinBox(frame)
        self.r_step.setObjectName("grid-spin")
        self.r_step.setMinimum(1)
        self.gridLayout.addWidget(self.r_step, 2, 3, 1, 1)
        # Compliance
        self.label_c = QLabel(frame)
        self.gridLayout.addWidget(self.label_c, 3, 0, 1, 1)
        self.c_from = QtWidgets.QSpinBox(frame)
        self.c_from.setObjectName("grid-spin")
        self.c_from.setMinimum(0)
        self.c_from.setMaximum(200)
        self.gridLayout.addWidget(self.c_from, 3, 1, 1, 1)
        self.c_to = QtWidgets.QSpinBox(frame)
        self.c_to.setObjectName("grid-spin")
        self.c_to.setMinimum(0)
        self.c_to.setMaximum(200)
        self.gridLayout.addWidget(self.c_to, 3, 2, 1, 1)
        self.c_step = QtWidgets.QSpinBox(frame)
        self.c_step.setObjectName("grid-spin")
        self.c_step.setMinimum(1)
        self.gridLayout.addWidget(self.c_step, 3, 3, 1, 1)
        # Breath rate
        self.label_br = QLabel(frame)
        self.gridLayout.addWidget(self.label_br, 4, 0, 1, 1)
        self.br_from = QtWidgets.QSpinBox(frame)
        self.br_from.setObjectName("grid-spin")
        self.br_from.setMinimum(1)
        self.br_from.setMaximum(100)
        self.gridLayout.addWidget(self.br_from, 4, 1, 1, 1)
        self.br_to = QtWidgets.QSpinBox(frame)
        self.br_to.setObjectName("grid-spin")
        self.br_to.setMinimum(1)
        self.br_to.setMaximum(100)
        self.gridLayout.addWidget(self.br_to, 4, 2, 1, 1)
        self.br_step = QtWidgets.QSpinBox(frame)
        self.br_step.setObjectName("grid-spin")
        self.br_step.setMinimum(1)
        self.gridLayout.addWidget(self.br_step, 4, 3, 1, 1)
        # Pmus
        self.label_i_pmus = QLabel(frame)
        self.gridLayout.addWidget(self.label_i_pmus, 5, 0, 1, 1)
        self.i_pmus_from = QtWidgets.QSpinBox(frame)
        self.i_pmus_from.setObjectName("grid-spin")
        self.i_pmus_from.setMinimum(0)
        self.i_pmus_from.setMaximum(100)
        self.gridLayout.addWidget(self.i_pmus_from, 5, 1, 1, 1)
        self.i_pmus_to = QtWidgets.QSpinBox(frame)
        self.i_pmus_to.setObjectName("grid-spin")
        self.i_pmus_to.setMinimum(0)
        self.i_pmus_to.setMaximum(100)
        self.gridLayout.addWidget(self.i_pmus_to, 5, 2, 1, 1)
        self.i_pmus_step = QtWidgets.QSpinBox(frame)
        self.i_pmus_step.setObjectName("grid-spin")
        self.i_pmus_step.setMinimum(1)
        self.gridLayout.addWidget(self.i_pmus_step, 5, 3, 1, 1)
        # Pmus increase
        self.label_i_pmus_inc = QLabel(frame)
        self.gridLayout.addWidget(self.label_i_pmus_inc, 6, 0, 1, 1)
        self.i_pmus_inc_from = QtWidgets.QSpinBox(frame)
        self.i_pmus_inc_from.setObjectName("grid-spin")
        self.i_pmus_inc_from.setMinimum(0)
        self.i_pmus_inc_from.setMaximum(100)
        self.gridLayout.addWidget(self.i_pmus_inc_from, 6, 1, 1, 1)
        self.i_pmus_inc_to = QtWidgets.QSpinBox(frame)
        self.i_pmus_inc_to.setObjectName("grid-spin")
        self.i_pmus_inc_to.setMinimum(0)
        self.i_pmus_inc_to.setMaximum(100)
        self.gridLayout.addWidget(self.i_pmus_inc_to, 6, 2, 1, 1)
        self.i_pmus_inc_step = QtWidgets.QSpinBox(frame)
        self.i_pmus_inc_step.setObjectName("grid-spin")
        self.i_pmus_inc_step.setMinimum(1)
        self.gridLayout.addWidget(self.i_pmus_inc_step, 6, 3, 1, 1)
        # Pmus hold
        self.label_i_pmus_hld = QLabel(frame)
        self.gridLayout.addWidget(self.label_i_pmus_hld, 7, 0, 1, 1)
        self.i_pmus_hld_from = QtWidgets.QSpinBox(frame)
        self.i_pmus_hld_from.setObjectName("grid-spin")
        self.i_pmus_hld_from.setMinimum(0)
        self.i_pmus_hld_from.setMaximum(100)
        self.gridLayout.addWidget(self.i_pmus_hld_from, 7, 1, 1, 1)
        self.i_pmus_hld_to = QtWidgets.QSpinBox(frame)
        self.i_pmus_hld_to.setObjectName("grid-spin")
        self.i_pmus_hld_to.setMinimum(0)
        self.i_pmus_hld_to.setMaximum(100)
        self.gridLayout.addWidget(self.i_pmus_hld_to, 7, 2, 1, 1)
        self.i_pmus_hld_step = QtWidgets.QSpinBox(frame)
        self.i_pmus_hld_step.setObjectName("grid-spin")
        self.i_pmus_hld_step.setMinimum(1)
        self.gridLayout.addWidget(self.i_pmus_hld_step, 7, 3, 1, 1)
        # Pmus hold
        self.label_i_pmus_rel = QLabel(frame)
        self.gridLayout.addWidget(self.label_i_pmus_rel, 8, 0, 1, 1)
        self.i_pmus_rel_from = QtWidgets.QSpinBox(frame)
        self.i_pmus_rel_from.setObjectName("grid-spin")
        self.i_pmus_rel_from.setMinimum(0)
        self.i_pmus_rel_from.setMaximum(100)
        self.gridLayout.addWidget(self.i_pmus_rel_from, 8, 1, 1, 1)
        self.i_pmus_rel_to = QtWidgets.QSpinBox(frame)
        self.i_pmus_rel_to.setObjectName("grid-spin")
        self.i_pmus_rel_to.setMinimum(0)
        self.i_pmus_rel_to.setMaximum(100)
        self.gridLayout.addWidget(self.i_pmus_rel_to, 8, 2, 1, 1)
        self.i_pmus_rel_step = QtWidgets.QSpinBox(frame)
        self.i_pmus_rel_step.setObjectName("grid-spin")
        self.i_pmus_rel_step.setMinimum(1)
        self.gridLayout.addWidget(self.i_pmus_rel_step, 8, 3, 1, 1)
        # Repetitions
        self.label_n_cycles = QLabel(frame)
        self.gridLayout.addWidget(self.label_n_cycles, 9, 0, 1, 1)
        self.n_cycles = QtWidgets.QSpinBox(frame)
        self.n_cycles.setObjectName("grid-spin")
        self.n_cycles.setMinimum(0)
        self.n_cycles.setMaximum(100)
        self.gridLayout.addWidget(self.n_cycles, 9, 1, 1, 1)
        # Informations
        separator = QtWidgets.QFrame(frame)
        separator.setFrameShape(QtWidgets.QFrame.HLine)
        separator.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.gridLayout.addWidget(separator, 10, 0, 1, 4)
        self.label_tot_simus = QLabel(frame)
        self.gridLayout.addWidget(self.label_tot_simus, 11, 0, 1, 1)
        self.tot_simus = QLabel(frame)
        self.gridLayout.addWidget(self.tot_simus, 11, 1, 1, 1)
        self.label_tot_time = QLabel(frame)
        self.gridLayout.addWidget(self.label_tot_time, 12, 0, 1, 3)
        self.tot_time = QLabel(frame)
        self.gridLayout.addWidget(self.tot_time, 12, 1, 1, 3)
        # Progress
        self.progress = QProgressBar(frame)
        self.progress.setMaximumHeight(10)
        self.progress.setTextVisible(False)
        self.gridLayout.addWidget(self.progress, 13, 0, 1, 4)
        # Spacer
        spacerItem = QSpacerItem(40, 20, QtWidgets.QSizePolicy.Minimum,
                                 QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem, 14, 0, 1, 4)

        self.h_layout.addLayout(self.gridLayout)
        spacerItem5 = QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding,
                                  QtWidgets.QSizePolicy.Minimum)
        self.h_layout.addItem(spacerItem5)

        # Set size and position
        w, h = self.h_layout.sizeHint().toTuple()
        w_s, h_s = QApplication.primaryScreen().size().toTuple()
        x = round(w_s / 2 - w / 2)
        y = round(h_s / 2 - h / 2)
        BigScript.setCentralWidget(frame)
        BigScript.resize(w, h)
        BigScript.move(x, y)

        self.retranslateUi(BigScript)
        QtCore.QMetaObject.connectSlotsByName(BigScript)
Example #3
0
    def __init__(self, ModelVr3:QMainWindow):

        # Set Window parameters
        ModelVr3.setWindowTitle("ASL Tools - Tableau de bord")
        ModelVr3.setWindowFlag(Qt.Window)

        # Main frame
        frame = QtWidgets.QWidget(ModelVr3)
        self.h_layout = QHBoxLayout(frame)

        # Menubar
        menubar = ModelVr3.menuBar()
        menu_file:QMenu = menubar.addMenu("Fichier")
        self.action_file_new = QAction("Nouveau", menubar)
        self.action_file_new.setIcon(QIcon(":/images/new-file.svg"))
        self.action_file_new.setShortcut("Ctrl+N")
        menu_file.addAction(self.action_file_new)
        self.action_file_open = QAction("Ouvrir", menubar)
        self.action_file_open.setIcon(QIcon(":/images/open-file.svg"))
        self.action_file_open.setShortcut("Ctrl+O")
        menu_file.addAction(self.action_file_open)
        self.action_file_save = QAction("Enregistrer", menubar)
        self.action_file_save.setIcon(QIcon(":/images/save.svg"))
        self.action_file_save.setShortcut("Ctrl+S")
        menu_file.addAction(self.action_file_save)
        self.action_file_saveas = QAction("Enregistrer sous", menubar)
        self.action_file_saveas.setIcon(QIcon(":/images/save-as.svg"))
        self.action_file_saveas.setShortcut("Ctrl+Shift+S")
        menu_file.addAction(self.action_file_saveas)
        menu_file.addSeparator()
        self.action_file_export = QAction("Exporter", menubar)
        self.action_file_export.setIcon(QIcon(":/images/export.svg"))
        menu_file.addAction(self.action_file_export)
        menu_file.addSeparator()
        self.action_file_quit = QAction("Quitter", menubar)
        self.action_file_quit.setIcon(QIcon(":/images/quit.svg"))
        menu_file.addAction(self.action_file_quit)
        # self.h_layout.setMenuBar(menubar)

        # Spacer
        spacerItem = QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.h_layout.addItem(spacerItem)
        self.verticalLayout = QtWidgets.QVBoxLayout()
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.label_file = QtWidgets.QLabel(frame)
        self.label_file.setAlignment(QtCore.Qt.AlignCenter)
        self.label_file.setObjectName("label_file")
        self.verticalLayout.addWidget(self.label_file)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.check_time_constant = QtWidgets.QCheckBox(frame)
        self.check_time_constant.setCheckable(True)
        self.check_time_constant.setChecked(True)
        self.check_time_constant.setObjectName("check_time_constant")
        self.horizontalLayout_2.addWidget(self.check_time_constant)
        self.label_repetitions = QtWidgets.QLabel(frame)
        self.label_repetitions.setObjectName("label_repetitions")
        self.horizontalLayout_2.addWidget(self.label_repetitions)
        self.verticalLayout.addLayout(self.horizontalLayout_2)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.btn_add = QtWidgets.QToolButton(frame)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/images/add.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btn_add.setIcon(icon)
        self.btn_add.setIconSize(QtCore.QSize(24, 24))
        self.btn_add.setAutoRaise(True)
        self.btn_add.setObjectName("btn_add")
        self.horizontalLayout.addWidget(self.btn_add)
        self.btn_remove = QtWidgets.QToolButton(frame)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/images/remove.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btn_remove.setIcon(icon1)
        self.btn_remove.setIconSize(QtCore.QSize(24, 24))
        self.btn_remove.setAutoRaise(True)
        self.btn_remove.setObjectName("btn_remove")
        self.horizontalLayout.addWidget(self.btn_remove)
        self.btn_move_up = QtWidgets.QToolButton(frame)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(":/images/arrow-up.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btn_move_up.setIcon(icon2)
        self.btn_move_up.setIconSize(QtCore.QSize(24, 24))
        self.btn_move_up.setAutoRaise(True)
        self.btn_move_up.setObjectName("btn_move_up")
        self.horizontalLayout.addWidget(self.btn_move_up)
        self.btn_move_down = QtWidgets.QToolButton(frame)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(":/images/arrow-down.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btn_move_down.setIcon(icon3)
        self.btn_move_down.setIconSize(QtCore.QSize(24, 24))
        self.btn_move_down.setAutoRaise(True)
        self.btn_move_down.setObjectName("btn_move_down")
        self.horizontalLayout.addWidget(self.btn_move_down)
        spacerItem = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.tree = QtWidgets.QTreeWidget(frame)
        self.tree.setMinimumSize(QtCore.QSize(420, 500))
        self.tree.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        self.verticalLayout.addWidget(self.tree)
        spacerItem = QSpacerItem(20, 20, QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
        self.verticalLayout.addItem(spacerItem)
        self.h_layout.addLayout(self.verticalLayout)
        spacer = QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.h_layout.addItem(spacer)

        # Set size and position
        w, h = self.h_layout.sizeHint().toTuple()
        w_s, h_s = QApplication.primaryScreen().size().toTuple()
        x = round(w_s/2 - w/2)
        y = round(h_s/2 - h/2)
        ModelVr3.setCentralWidget(frame)
        ModelVr3.resize(w, h)
        ModelVr3.move(x, y)

        self.retranslateUi(ModelVr3)
        QtCore.QMetaObject.connectSlotsByName(ModelVr3)
Example #4
0
    def _make_main_window(self):
        # TODO(jacob): Should we move this code somewhere else (maybe
        # into a separate MainWindow class)?
        window = QMainWindow()

        vert_splitter = QSplitter(Qt.Vertical)
        vert_splitter.setChildrenCollapsible(False)

        horiz_splitter = QSplitter(Qt.Horizontal)
        horiz_splitter.setChildrenCollapsible(False)

        daq_widget = make_daq_widget(self.daq_bridge, self.plumbing_bridge)
        horiz_splitter.addWidget(daq_widget)

        plumb_widget = make_qml_widget(self.qml_engine, 'PlumbingPane.qml')
        plumb_widget.setMinimumWidth(600)
        plumb_widget.setMinimumHeight(600)
        horiz_splitter.addWidget(plumb_widget)

        proc_widget = make_qml_widget(self.qml_engine, 'ProceduresPane.qml')
        proc_widget.setMinimumWidth(400)
        proc_widget.setMinimumHeight(600)
        horiz_splitter.addWidget(proc_widget)

        vert_splitter.addWidget(horiz_splitter)

        controls_widget = make_qml_widget(self.qml_engine, 'ControlsPane.qml')
        controls_widget.setMinimumHeight(200)

        vert_splitter.addWidget(controls_widget)

        window.setCentralWidget(vert_splitter)

        file_menu = QMenu('&File')

        open_proc_action = QAction('Open Procedure Suite', window)
        open_proc_action.setShortcut(QKeySequence('Ctrl+O'))
        open_proc_action.triggered.connect(
            self.procedures_bridge.loadFromDialog)
        file_menu.addAction(open_proc_action)

        open_plumb_action = QAction('Open Plumbing Engine', window)
        open_plumb_action.setShortcut(QKeySequence('Ctrl+Shift+O'))
        open_plumb_action.triggered.connect(
            self.plumbing_bridge.loadFromDialog)
        file_menu.addAction(open_plumb_action)

        exit_action = QAction('Exit', window)
        exit_action.setShortcut(QKeySequence.Quit)
        exit_action.triggered.connect(window.close)
        file_menu.addAction(exit_action)

        window.menuBar().addMenu(file_menu)

        tools_menu = QMenu('&Tools')

        pdl_editor_action = QAction('PDL Editor', window)
        pdl_editor_action.setShortcut(QKeySequence('Ctrl+Shift+E'))
        pdl_editor_action.triggered.connect(self.launchPDLEditor)
        tools_menu.addAction(pdl_editor_action)

        window.menuBar().addMenu(tools_menu)

        return window
Example #5
0
    def __init__(self, Dashboard: QMainWindow):

        # Set Window parameters
        Dashboard.setWindowTitle("ASL Tools - Tableau de bord")
        Dashboard.setWindowFlag(Qt.Window)

        # Main frame
        frame = QWidget(Dashboard)
        self.h_layout = QHBoxLayout(frame)

        # Menubar
        menubar = Dashboard.menuBar()
        menu_file: QMenu = menubar.addMenu("Fichier")
        self.action_file_new = QAction("Nouveau", menubar)
        self.action_file_new.setIcon(QIcon(":/images/new-file.svg"))
        self.action_file_new.setShortcut("Ctrl+N")
        menu_file.addAction(self.action_file_new)
        self.action_file_open = QAction("Ouvrir", menubar)
        self.action_file_open.setIcon(QIcon(":/images/open-file.svg"))
        self.action_file_open.setShortcut("Ctrl+O")
        menu_file.addAction(self.action_file_open)
        self.action_file_save = QAction("Enregistrer", menubar)
        self.action_file_save.setIcon(QIcon(":/images/save.svg"))
        self.action_file_save.setShortcut("Ctrl+S")
        menu_file.addAction(self.action_file_save)
        self.action_file_saveas = QAction("Enregistrer sous", menubar)
        self.action_file_saveas.setIcon(QIcon(":/images/save-as.svg"))
        self.action_file_saveas.setShortcut("Ctrl+Shift+S")
        menu_file.addAction(self.action_file_saveas)
        menu_file.addSeparator()
        self.action_file_export = QAction("Exporter", menubar)
        self.action_file_export.setIcon(QIcon(":/images/export.svg"))
        menu_file.addAction(self.action_file_export)
        menu_file.addSeparator()
        self.action_file_quit = QAction("Quitter", menubar)
        self.action_file_quit.setIcon(QIcon(":/images/quit.svg"))
        menu_file.addAction(self.action_file_quit)
        menu_edit: QMenu = menubar.addMenu("Edition")
        self.action_edit_copy = QAction("Copier", menubar)
        self.action_edit_copy.setIcon(QIcon(":/images/copy.svg"))
        self.action_edit_copy.setShortcut("Alt+C")
        menu_edit.addAction(self.action_edit_copy)
        self.action_edit_paste = QAction("Coller", menubar)
        self.action_edit_paste.setIcon(QIcon(":/images/paste.svg"))
        self.action_edit_paste.setShortcut("Alt+V")
        menu_edit.addAction(self.action_edit_paste)
        self.h_layout.setMenuBar(menubar)

        # Spacer
        spacerItem = QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding,
                                 QtWidgets.QSizePolicy.Minimum)
        self.h_layout.addItem(spacerItem)
        self.gridLayout = QtWidgets.QGridLayout()
        self.list = QtWidgets.QListWidget(frame)
        self.list.setObjectName("list")
        self.gridLayout.addWidget(self.list, 2, 0, 1, 1)
        self.gridLayout_4 = QtWidgets.QGridLayout()
        self.gridLayout_4.setObjectName("gridLayout_4")
        self.label_e_pmus_hld = QtWidgets.QLabel(frame)
        self.label_e_pmus_hld.setMinimumSize(QtCore.QSize(0, 20))
        self.label_e_pmus_hld.setObjectName("label_e_pmus_hld")
        self.gridLayout_4.addWidget(self.label_e_pmus_hld, 14, 0, 1, 1)
        self.e_pmus_inc = QtWidgets.QSpinBox(frame)
        self.e_pmus_inc.setMaximum(100)
        self.e_pmus_inc.setObjectName("e_pmus_inc")
        self.gridLayout_4.addWidget(self.e_pmus_inc, 13, 1, 1, 1)
        self.resistance = QtWidgets.QSpinBox(frame)
        self.resistance.setMaximum(500)
        self.resistance.setObjectName("resistance")
        self.gridLayout_4.addWidget(self.resistance, 3, 1, 1, 1)
        self.label_e_pmus = QtWidgets.QLabel(frame)
        self.label_e_pmus.setMinimumSize(QtCore.QSize(0, 20))
        self.label_e_pmus.setObjectName("label_e_pmus")
        self.gridLayout_4.addWidget(self.label_e_pmus, 12, 0, 1, 1)
        self.respi_rate = QtWidgets.QSpinBox(frame)
        self.respi_rate.setMaximum(500)
        self.respi_rate.setObjectName("respi_rate")
        self.gridLayout_4.addWidget(self.respi_rate, 4, 1, 1, 1)
        self.e_pmus_rel = QtWidgets.QSpinBox(frame)
        self.e_pmus_rel.setMaximum(100)
        self.e_pmus_rel.setObjectName("e_pmus_rel")
        self.gridLayout_4.addWidget(self.e_pmus_rel, 15, 1, 1, 1)
        self.e_pmus = QtWidgets.QSpinBox(frame)
        self.e_pmus.setMaximum(100)
        self.e_pmus.setObjectName("e_pmus")
        self.gridLayout_4.addWidget(self.e_pmus, 12, 1, 1, 1)
        self.label_e_pmus_inc = QtWidgets.QLabel(frame)
        self.label_e_pmus_inc.setMinimumSize(QtCore.QSize(0, 20))
        self.label_e_pmus_inc.setObjectName("label_e_pmus_inc")
        self.gridLayout_4.addWidget(self.label_e_pmus_inc, 13, 0, 1, 1)
        self.e_pmus_hld = QtWidgets.QSpinBox(frame)
        self.e_pmus_hld.setMaximum(100)
        self.e_pmus_hld.setObjectName("e_pmus_hld")
        self.gridLayout_4.addWidget(self.e_pmus_hld, 14, 1, 1, 1)
        self.enabled = QtWidgets.QCheckBox(frame)
        self.enabled.setText("")
        self.enabled.setObjectName("enabled")
        self.gridLayout_4.addWidget(self.enabled, 0, 1, 1, 1)
        spacerItem1 = QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum,
                                  QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_4.addItem(spacerItem1, 16, 0, 1, 1)
        self.label_i_pmus_inc = QtWidgets.QLabel(frame)
        self.label_i_pmus_inc.setMinimumSize(QtCore.QSize(0, 20))
        self.label_i_pmus_inc.setObjectName("label_i_pmus_inc")
        self.gridLayout_4.addWidget(self.label_i_pmus_inc, 8, 0, 1, 1)
        self.label_i_pmus_hld = QtWidgets.QLabel(frame)
        self.label_i_pmus_hld.setMinimumSize(QtCore.QSize(0, 20))
        self.label_i_pmus_hld.setObjectName("label_i_pmus_hld")
        self.gridLayout_4.addWidget(self.label_i_pmus_hld, 9, 0, 1, 1)
        self.label_i_pmus = QtWidgets.QLabel(frame)
        self.label_i_pmus.setMinimumSize(QtCore.QSize(0, 20))
        self.label_i_pmus.setObjectName("label_i_pmus")
        self.gridLayout_4.addWidget(self.label_i_pmus, 7, 0, 1, 1)
        spacerItem2 = QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum,
                                  QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_4.addItem(spacerItem2, 6, 0, 1, 1)
        self.i_pmus_inc = QtWidgets.QSpinBox(frame)
        self.i_pmus_inc.setMaximum(100)
        self.i_pmus_inc.setObjectName("i_pmus_inc")
        self.gridLayout_4.addWidget(self.i_pmus_inc, 8, 1, 1, 1)
        spacerItem3 = QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum,
                                  QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_4.addItem(spacerItem3, 11, 0, 1, 1)
        self.i_pmus_rel = QtWidgets.QSpinBox(frame)
        self.i_pmus_rel.setMaximum(100)
        self.i_pmus_rel.setObjectName("i_pmus_rel")
        self.gridLayout_4.addWidget(self.i_pmus_rel, 10, 1, 1, 1)
        self.i_pmus = QtWidgets.QSpinBox(frame)
        self.i_pmus.setMaximum(100)
        self.i_pmus.setObjectName("i_pmus")
        self.gridLayout_4.addWidget(self.i_pmus, 7, 1, 1, 1)
        self.i_pmus_hld = QtWidgets.QSpinBox(frame)
        self.i_pmus_hld.setMaximum(100)
        self.i_pmus_hld.setObjectName("i_pmus_hld")
        self.gridLayout_4.addWidget(self.i_pmus_hld, 9, 1, 1, 1)
        self.compliance = QtWidgets.QSpinBox(frame)
        self.compliance.setMaximum(500)
        self.compliance.setObjectName("compliance")
        self.gridLayout_4.addWidget(self.compliance, 2, 1, 1, 1)
        self.label_enabled = QtWidgets.QLabel(frame)
        self.label_enabled.setMinimumSize(QtCore.QSize(0, 20))
        self.label_enabled.setObjectName("label_enabled")
        self.gridLayout_4.addWidget(self.label_enabled, 0, 0, 1, 1)
        self.label_crf = QtWidgets.QLabel(frame)
        self.label_crf.setMinimumSize(QtCore.QSize(0, 20))
        self.label_crf.setObjectName("label_crf")
        self.gridLayout_4.addWidget(self.label_crf, 17, 0, 1, 1)
        self.label_resistance = QtWidgets.QLabel(frame)
        self.label_resistance.setMinimumSize(QtCore.QSize(0, 20))
        self.label_resistance.setObjectName("label_resistance")
        self.gridLayout_4.addWidget(self.label_resistance, 3, 0, 1, 1)
        self.label_respi_rate = QtWidgets.QLabel(frame)
        self.label_respi_rate.setMinimumSize(QtCore.QSize(0, 20))
        self.label_respi_rate.setObjectName("label_respi_rate")
        self.gridLayout_4.addWidget(self.label_respi_rate, 4, 0, 1, 1)
        self.label_e_pmus_rel = QtWidgets.QLabel(frame)
        self.label_e_pmus_rel.setMinimumSize(QtCore.QSize(0, 20))
        self.label_e_pmus_rel.setObjectName("label_e_pmus_rel")
        self.gridLayout_4.addWidget(self.label_e_pmus_rel, 15, 0, 1, 1)
        self.label_i_pmus_rel = QtWidgets.QLabel(frame)
        self.label_i_pmus_rel.setMinimumSize(QtCore.QSize(0, 20))
        self.label_i_pmus_rel.setObjectName("label_i_pmus_rel")
        self.gridLayout_4.addWidget(self.label_i_pmus_rel, 10, 0, 1, 1)
        self.crf = QtWidgets.QDoubleSpinBox(frame)
        self.crf.setDecimals(1)
        self.crf.setSingleStep(0.1)
        self.crf.setObjectName("crf")
        self.gridLayout_4.addWidget(self.crf, 17, 1, 1, 1)
        self.label_compliance = QtWidgets.QLabel(frame)
        self.label_compliance.setMinimumSize(QtCore.QSize(0, 20))
        self.label_compliance.setObjectName("label_compliance")
        self.gridLayout_4.addWidget(self.label_compliance, 2, 0, 1, 1)
        spacerItem4 = QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum,
                                  QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_4.addItem(spacerItem4, 1, 0, 1, 1)
        spacerItem4 = QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum,
                                  QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_4.addItem(spacerItem4, 18, 0, 1, 1)
        self.gridLayout.addLayout(self.gridLayout_4, 2, 1, 1, 1)
        self.label_file = QtWidgets.QLabel(frame)
        self.label_file.setTextFormat(QtCore.Qt.PlainText)
        self.label_file.setAlignment(QtCore.Qt.AlignCenter)
        self.label_file.setObjectName("label_file")
        self.gridLayout.addWidget(self.label_file, 0, 0, 1, 3)
        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.label = QtWidgets.QLabel(frame)
        self.label.setObjectName("label")
        self.verticalLayout_2.addWidget(self.label)
        self.comment = QtWidgets.QTextEdit(frame)
        self.comment.setObjectName("comment")
        self.verticalLayout_2.addWidget(self.comment)
        self.gridLayout.addLayout(self.verticalLayout_2, 2, 2, 1, 1)
        self.h_layout.addLayout(self.gridLayout)
        spacerItem5 = QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding,
                                  QtWidgets.QSizePolicy.Minimum)
        self.h_layout.addItem(spacerItem5)

        # Set size and position
        w, h = self.h_layout.sizeHint().toTuple()
        w_s, h_s = QApplication.primaryScreen().size().toTuple()
        x = round(w_s / 2 - w / 2)
        y = round(h_s / 2 - h / 2)
        Dashboard.setCentralWidget(frame)
        Dashboard.resize(w, h)
        Dashboard.move(x, y)

        self.retranslateUi(Dashboard)
        QtCore.QMetaObject.connectSlotsByName(Dashboard)
        Dashboard.setTabOrder(self.list, self.enabled)
        Dashboard.setTabOrder(self.enabled, self.compliance)
        Dashboard.setTabOrder(self.compliance, self.resistance)
        Dashboard.setTabOrder(self.resistance, self.respi_rate)
        Dashboard.setTabOrder(self.respi_rate, self.i_pmus)
        Dashboard.setTabOrder(self.i_pmus, self.i_pmus_inc)
        Dashboard.setTabOrder(self.i_pmus_inc, self.i_pmus_hld)
        Dashboard.setTabOrder(self.i_pmus_hld, self.i_pmus_rel)
        Dashboard.setTabOrder(self.i_pmus_rel, self.e_pmus)
        Dashboard.setTabOrder(self.e_pmus, self.e_pmus_inc)
        Dashboard.setTabOrder(self.e_pmus_inc, self.e_pmus_hld)
        Dashboard.setTabOrder(self.e_pmus_hld, self.e_pmus_rel)
        Dashboard.setTabOrder(self.e_pmus_rel, self.crf)