""" The TD Air Trap Mode ui loader """ # Python import os # Qt from PySide2 import QtCore, QtWidgets from PySide2.QtCore import Slot # parent from engine.dynamicloader import DynamicLoader # plugin specific from leahi_dialin.common.td_defs import TDOpModes from leahi_dialin.common.td_defs import TDStandbyStates # hd Simulator from leahi_dialin.ui.td_messaging import TD_Messaging class Loader(DynamicLoader): """ The TD Air Trap ui loader """ def __init__(self): self.td_interface = TD_Messaging() super().__init__(os.path.dirname(__file__)) def _init_loader(self): """ finds and creates widgets :return: none """ self.tbReset = self.find_widget(QtWidgets.QToolButton , 'tbReset' ) self.tbSend = self.find_widget(QtWidgets.QToolButton , 'tbSend' ) self.low_level = self.find_widget(QtWidgets.QSpinBox , 'lowLevelSpinBox' ) self.upper_level = self.find_widget(QtWidgets.QSpinBox , 'upperLevelSpinBox' ) self.low_level_raw = self.find_widget(QtWidgets.QSpinBox , 'lowLevelRawSpinBox' ) self.upper_level_raw = self.find_widget(QtWidgets.QSpinBox , 'upperLevelRawSpinBox') self.valve_state_inlet = self.find_widget(QtWidgets.QSpinBox , 'valveStateH13SpinBox') self.valve_state_outlet = self.find_widget(QtWidgets.QSpinBox , 'valveStateH20SpinBox') self.control = self.find_widget(QtWidgets.QCheckBox , 'controlCheckBox' ) def _init_connections(self): """ initializes the widgets connections :return: none """ self.tbReset.clicked.connect(self._init_widgets) self.tbSend.clicked.connect(self.do_air_trap) @Slot() def _init_widgets(self): """ initializes the widgets' properties :return: none """ self.low_level.setValue(0) self.upper_level.setValue(0) self.low_level_raw.setValue(0) self.upper_level_raw.setValue(0) self.valve_state_inlet.setValue(0) self.valve_state_outlet.setValue(0) self.control.setChecked(False) @Slot() def do_air_trap(self): """ the slot for air trap change :return: none """ H17_state = self.low_level.value() H16_state = self.upper_level.value() H17_raw_state = self.low_level_raw.value() H16_raw_state = self.upper_level_raw.value() H13_state = self.valve_state_inlet.value() H20_State = self.valve_state_outlet.value() controlling = int(self.control.isChecked()) self.td_interface.td_air_trap( H17_state , H16_state , H17_raw_state , H16_raw_state , H13_state , H20_State , controlling )