Index: simulator/run.py =================================================================== diff -u -r6a5824cc32716947513b4a5adca54a9e513c0c5c -r057afac3dea8ab1243550d0e36cd3ec6eacb993f --- simulator/run.py (.../run.py) (revision 6a5824cc32716947513b4a5adca54a9e513c0c5c) +++ simulator/run.py (.../run.py) (revision 057afac3dea8ab1243550d0e36cd3ec6eacb993f) @@ -7,7 +7,7 @@ from dialin.squish.denaliMessages import txStates # Import PySide2 classes from PySide2 import QtCore, QtWidgets -from PySide2.QtCore import Slot +from PySide2.QtCore import Qt from runtimewidget import RunTimeWidget @@ -16,6 +16,7 @@ from plugins.salinebolus.salinebolus import SalineBolus from plugins.treatmentstates.treatmentstates import TreatmentStates from plugins.treatmentranges.treatmentranges import TreatmentRanges +from plugins.heparin.heparin import Heparin class Simulator(RunTimeWidget): @@ -31,29 +32,61 @@ obj_ultrafiltration: Ultrafiltration sub_ultrafiltration: QtWidgets.QMdiSubWindow wgt_ultrafiltration: QtWidgets.QWidget + act_ultrafiltration: QtWidgets.QAction obj_inlinebloodpressures: InlineBloodPressures sub_inlinebloodpressures: QtWidgets.QMdiSubWindow wgt_inlinebloodpressures: QtWidgets.QWidget + act_inlinebloodpressures: QtWidgets.QAction obj_salinebolus: SalineBolus sub_salinebolus: QtWidgets.QMdiSubWindow wgt_salinebolus: QtWidgets.QWidget + act_salinebolus: QtWidgets.QAction obj_treatmentstates: TreatmentStates sub_treatmentstates: QtWidgets.QMdiSubWindow wgt_treatmentstates: QtWidgets.QWidget + act_treatmentstates: QtWidgets.QAction obj_treatmentranges: TreatmentRanges sub_treatmentranges: QtWidgets.QMdiSubWindow wgt_treatmentranges: QtWidgets.QWidget + act_treatmentranges: QtWidgets.QAction + obj_heparin: Heparin + sub_heparin: QtWidgets.QMdiSubWindow + wgt_heparin: QtWidgets.QWidget + act_heparin: QtWidgets.QAction + def __init__(self): super().__init__("simulator.ui") self.saline_requested_state = txStates.SALINE_BOLUS_STATE_IDLE self.initialize() + self.init_widgets() + self.init_connections() + + def initialize(self): + """ + initializes the class by calling it's initializer methods to make objects ready + :return: none + """ self.mdiArea = self.find_widget(QtWidgets.QMdiArea, 'mdiArea') + # TODO: this section needs to change to go over the folders in the plugins folder and load each automatically + + self.act_treatmentstates = self.find_action('actTreatmentStates') + self.act_treatmentranges = self.find_action('actTreatmentRanges') + self.act_ultrafiltration = self.find_action('actUltrafiltration') + self.act_salinebolus = self.find_action('actSalineBolus') + self.act_inlinebloodpressures = self.find_action('actInLineBloodPressures') + self.act_heparin = self.find_action('actionHeparin') + + def init_widgets(self): + """ + initializes the widgets' properties + :return: none + """ # ultrafiltration self.obj_ultrafiltration = Ultrafiltration() self.wgt_ultrafiltration = self.obj_ultrafiltration.window @@ -75,12 +108,39 @@ self.wgt_treatmentranges = self.obj_treatmentranges.window self.sub_treatmentranges = self.mdiArea.addSubWindow(self.wgt_treatmentranges) - def initialize(self): + self.obj_heparin = Heparin() + self.wgt_heparin = self.obj_heparin.window + self.sub_heparin = self.mdiArea.addSubWindow(self.wgt_heparin) + + self.sub_ultrafiltration.setWindowFlags(Qt.WindowMinimizeButtonHint) + self.sub_ultrafiltration.setVisible(False) + + self.sub_inlinebloodpressures.setWindowFlags(Qt.WindowMinimizeButtonHint) + self.sub_inlinebloodpressures.setVisible(False) + + self.sub_salinebolus.setWindowFlags(Qt.WindowMinimizeButtonHint) + self.sub_salinebolus.setVisible(False) + + self.sub_treatmentstates.setWindowFlags(Qt.WindowMinimizeButtonHint) + self.sub_treatmentstates.setVisible(False) + + self.sub_treatmentranges.setWindowFlags(Qt.WindowMinimizeButtonHint) + self.sub_treatmentranges.setVisible(False) + + self.sub_heparin.setWindowFlags(Qt.WindowMinimizeButtonHint) + self.sub_heparin.setVisible(False) + + def init_connections(self): """ - initializes the class by calling it's initializer methods to make objects ready + initializes the widgets connections :return: none """ - pass + self.act_treatmentstates.toggled.connect(self.sub_treatmentstates.setVisible) + self.act_treatmentranges.toggled.connect(self.sub_treatmentranges.setVisible) + self.act_ultrafiltration.toggled.connect(self.sub_ultrafiltration.setVisible) + self.act_salinebolus.toggled.connect(self.sub_salinebolus.setVisible) + self.act_inlinebloodpressures.toggled.connect(self.sub_inlinebloodpressures.setVisible) + self.act_heparin.toggled.connect(self.sub_heparin.setVisible) def main():