diff --git a/src/View/InitialConditions/DialogDepth.py b/src/View/InitialConditions/DialogDepth.py index 67c89ca0463983a3a244fb74681a6a2baae8868d..53abfe3987e6fb95c07ac2b8d8105da029df473b 100644 --- a/src/View/InitialConditions/DialogDepth.py +++ b/src/View/InitialConditions/DialogDepth.py @@ -36,7 +36,7 @@ class DepthDialog(PamhyrDialog): _pamhyr_ui = "InitialConditions_Dialog_Generator_Depth" _pamhyr_name = "Depth" - def __init__(self, trad=None, parent=None): + def __init__(self, value, option, trad=None, parent=None): super(DepthDialog, self).__init__( title=trad[self._pamhyr_name], options=[], @@ -44,12 +44,16 @@ class DepthDialog(PamhyrDialog): parent=parent ) - self.value = None - self.option = None + self.value = value + self.option = option + self.sb = self.find(QDoubleSpinBox, "doubleSpinBox") + self.sb.setValue(self.value) + self.cb = self.find(QCheckBox, "checkBox") + self.cb.setChecked(self.option) def accept(self): - self.value = self.find(QDoubleSpinBox, "doubleSpinBox").value() - self.option = self.find(QCheckBox, "checkBox").isChecked() + self.value = self.sb.value() + self.option = self.cb.isChecked() super().accept() def reject(self): diff --git a/src/View/InitialConditions/DialogDischarge.py b/src/View/InitialConditions/DialogDischarge.py index 3f0a83bb66d819a6931db650e28f945a22f5cc78..c1947950e90df6e40942eb3efc12a7472d6787db 100644 --- a/src/View/InitialConditions/DialogDischarge.py +++ b/src/View/InitialConditions/DialogDischarge.py @@ -36,7 +36,7 @@ class DischargeDialog(PamhyrDialog): _pamhyr_ui = "InitialConditions_Dialog_Generator_Discharge" _pamhyr_name = "Discharge" - def __init__(self, title="Discharge", trad=None, parent=None): + def __init__(self, value, option, title="Discharge", trad=None, parent=None): super(DischargeDialog, self).__init__( title=trad[self._pamhyr_name], options=[], @@ -44,12 +44,16 @@ class DischargeDialog(PamhyrDialog): parent=parent ) - self.value = None - self.option = None + self.value = value + self.option = option + self.sb = self.find(QDoubleSpinBox, "doubleSpinBox") + self.sb.setValue(self.value) + self.cb = self.find(QCheckBox, "checkBox") + self.cb.setChecked(self.option) def accept(self): - self.value = self.find(QDoubleSpinBox, "doubleSpinBox").value() - self.option = self.find(QCheckBox, "checkBox").isChecked() + self.value = self.sb.value() + self.option = self.cb.isChecked() super().accept() def reject(self): diff --git a/src/View/InitialConditions/DialogHeight.py b/src/View/InitialConditions/DialogHeight.py index f65bf24faac35f9fe80dc0a5d7b7f60003aeda5f..41683855ecd8f8eb5ddccc6a59d819e486269cec 100644 --- a/src/View/InitialConditions/DialogHeight.py +++ b/src/View/InitialConditions/DialogHeight.py @@ -36,7 +36,7 @@ class HeightDialog(PamhyrDialog): _pamhyr_ui = "InitialConditions_Dialog_Generator_Height" _pamhyr_name = "Height" - def __init__(self, trad=None, parent=None): + def __init__(self, values, option, trad=None, parent=None): super(HeightDialog, self).__init__( title=trad[self._pamhyr_name], options=[], @@ -44,27 +44,29 @@ class HeightDialog(PamhyrDialog): parent=parent ) - self.value = [None, None, None] - self.option = None - self.find(QCheckBox, "checkBox").clicked.connect( - self.enable_discharge - ) + self.values = values + self.option = option + self.sb1 = self.find(QDoubleSpinBox, "doubleSpinBox_1") + self.sb1.setValue(self.values[0]) + self.sb2 = self.find(QDoubleSpinBox, "doubleSpinBox_2") + self.sb2.setValue(self.values[1]) + self.sb3 = self.find(QDoubleSpinBox, "doubleSpinBox_3") + self.sb3.setValue(self.values[2]) + self.cb = self.find(QCheckBox, "checkBox") + self.cb.setChecked(self.option) + self.enable_discharge() + self.cb.clicked.connect(self.enable_discharge) def enable_discharge(self): - cb = self.find(QCheckBox, "checkBox") - dsb = self.find(QDoubleSpinBox, "doubleSpinBox_3") l = self.find(QLabel, "label_3") - dsb.setEnabled(cb.isChecked()) - l.setEnabled(cb.isChecked()) + self.sb3.setEnabled(self.cb.isChecked()) + l.setEnabled(self.cb.isChecked()) def accept(self): - self.value[0] = self.find(QDoubleSpinBox, "doubleSpinBox_1").value() - self.value[1] = self.find(QDoubleSpinBox, "doubleSpinBox_2").value() - self.option = self.find(QCheckBox, "checkBox").isChecked() - if self.option: - self.value[2] = self.find(QDoubleSpinBox, "doubleSpinBox_3").value() - else: - self.value[2] = None + self.values[0] = self.sb1.value() + self.values[1] = self.sb2.value() + self.values[2] = self.sb3.value() + self.option = self.cb.isChecked() super().accept() def reject(self): diff --git a/src/View/InitialConditions/Window.py b/src/View/InitialConditions/Window.py index 5c6589e66b02b0389d61a6d8bc1a0997fe61cb8b..d8484aba9ce4d70b5672023172bd2702834d98aa 100644 --- a/src/View/InitialConditions/Window.py +++ b/src/View/InitialConditions/Window.py @@ -104,6 +104,7 @@ class InitialConditionsWindow(PamhyrWindow): self.setup_table() self.setup_plot() self.setup_connections() + self.setub_dialogs() self.ui.setWindowTitle(self._title) @@ -188,6 +189,14 @@ class InitialConditionsWindow(PamhyrWindow): self._table.dataChanged.connect(self._update_plot) + def setub_dialogs(self): + self.height_values = [0.0, 0.0, 0.0] + self.height_option = True + self.discharge_value = 0.0 + self.discharge_option = True + self.depth_value = 0.0 + self.depth_option = True + def index_selected_row(self): table = self.find(QTableView, f"tableView") rows = table.selectionModel()\ @@ -351,25 +360,40 @@ class InitialConditionsWindow(PamhyrWindow): self._update() def generate_growing_constant_depth(self): - dlg = DepthDialog(trad=self._trad, parent=self) + dlg = DepthDialog(self.depth_value, + self.depth_option, + trad=self._trad, + parent=self) if dlg.exec(): - value = dlg.value - compute_discharge = dlg.option - self._table.generate("growing", value, compute_discharge) + self.depth_value = dlg.value + self.depth_option = dlg.option + self._table.generate("growing", + self.depth_value, + self.depth_option) self._update() def generate_discharge(self): - dlg = DischargeDialog(trad=self._trad, parent=self) + dlg = DischargeDialog(self.discharge_value, + self.discharge_option, + trad=self._trad, + parent=self) if dlg.exec(): - value = dlg.value - compute_depth = dlg.option - self._table.generate("discharge", value, compute_depth) + self.discharge_value = dlg.value + self.discharge_option = dlg.option + self._table.generate("discharge", + self.discharge_value, + self.discharge_option) self._update() def generate_height(self): - dlg = HeightDialog(trad=self._trad, parent=self) + dlg = HeightDialog(self.height_values, + self.height_option, + trad=self._trad, + parent=self) if dlg.exec(): - value = dlg.value - compute_discharge = dlg.option - self._table.generate("height", value, compute_discharge) + self.height_values = dlg.values + self.height_option = dlg.option + self._table.generate("height", + self.height_values, + self.height_option) self._update()