This commit is contained in:
Youcef AOUAD committed 2024-05-24 15:59:25 +02:00
1 parent b56b8099ab
commit a633e4bccf
11 files changed
+88 -478

No files matched your search

+7 -90
View File
@@ -38,9 +38,6 @@ from PyQt5.QtWidgets import (
from View.Tools.Plot.PamhyrCanvas import MplCanvas
from View.Tools.Plot.PamhyrToolbar import PamhyrPlotToolbar
from View.OutputKpAdisTS.PlotAC import PlotAC
from View.OutputKpAdisTS.PlotKPC import PlotKPC
from View.OutputKpAdisTS.Table import (
TableModel, ComboBoxDelegate
)
@@ -71,14 +68,13 @@ class OutputKpAdisTSWindow(PamhyrWindow):
parent=parent
)
self._hs_lst = self._study.river._hydraulic_structures
self._outputkp_lst = self._study.river._Output_kp_adists
self.setup_table()
#self.setup_checkbox()
#self.setup_plots()
self.setup_checkbox()
self.setup_connections()
#self.update()
self.update()
def setup_table(self):
self._table = None
@@ -100,7 +96,7 @@ class OutputKpAdisTSWindow(PamhyrWindow):
self._table = TableModel(
table_view=table,
table_headers=self._trad.get_dict("table_headers"),
editable_headers=["name", "reach", "kp"],
editable_headers=["title", "reach", "kp"],
delegates={
"reach": self._delegate_reach,
"kp": self._delegate_kp,
@@ -125,45 +121,6 @@ class OutputKpAdisTSWindow(PamhyrWindow):
self._checkbox = self.find(QCheckBox, f"checkBox")
self._set_checkbox_state()
def setup_plots(self):
self.canvas = MplCanvas(width=5, height=4, dpi=100)
self.canvas.setObjectName("canvas")
self.toolbar = PamhyrPlotToolbar(
self.canvas, self
)
self.plot_layout = self.find(QVBoxLayout, "verticalLayout")
self.plot_layout.addWidget(self.toolbar)
self.plot_layout.addWidget(self.canvas)
self.plot_kpc = PlotKPC(
canvas=self.canvas,
river=self._study.river,
reach=None,
profile=None,
trad=self._trad,
toolbar=self.toolbar
)
self.plot_kpc.draw()
self.canvas_2 = MplCanvas(width=5, height=4, dpi=100)
self.canvas_2.setObjectName("canvas_2")
self.toolbar_2 = PamhyrPlotToolbar(
self.canvas_2, self
)
self.plot_layout_2 = self.find(QVBoxLayout, "verticalLayout_2")
self.plot_layout_2.addWidget(self.toolbar_2)
self.plot_layout_2.addWidget(self.canvas_2)
self.plot_ac = PlotAC(
canvas=self.canvas_2,
river=self._study.river,
reach=None,
profile=None,
trad=self._trad,
toolbar=self.toolbar_2
)
self.plot_ac.draw()
def setup_connections(self):
self.find(QAction, "action_add").triggered.connect(self.add)
self.find(QAction, "action_delete").triggered.connect(self.delete)
@@ -210,7 +167,7 @@ class OutputKpAdisTSWindow(PamhyrWindow):
def add(self):
rows = self.index_selected_rows()
if len(self._hs_lst) == 0 or len(rows) == 0:
if len(self._outputkp_lst) == 0 or len(rows) == 0:
self._table.add(0)
else:
self._table.add(rows[0])
@@ -237,7 +194,7 @@ class OutputKpAdisTSWindow(PamhyrWindow):
def edit(self):
rows = self.index_selected_rows()
for row in rows:
data = self._hs_lst.get(row)
data = self._outputkp_lst.get(row)
if self.sub_window_exists(
BasicHydraulicStructuresWindow,
@@ -259,7 +216,7 @@ class OutputKpAdisTSWindow(PamhyrWindow):
self._checkbox.setChecked(True)
else:
self._checkbox.setEnabled(True)
self._checkbox.setChecked(self._hs_lst.get(row).enabled)
self._checkbox.setChecked(self._outputkp_lst.get(row).enabled)
def _set_structure_state(self):
rows = self.index_selected_rows()
@@ -273,43 +230,3 @@ class OutputKpAdisTSWindow(PamhyrWindow):
def update(self):
self._set_checkbox_state()
self._update_clear_plot()
def _update_clear_plot(self):
rows = self.index_selected_rows()
if len(rows) == 0 or len(self._hs_lst) == 0:
self._update_clear_all()
return
reach = self._hs_lst.get(rows[0]).input_reach
if reach is not None:
self.plot_kpc.set_reach(reach)
self.plot_ac.set_reach(reach)
profile_kp = self._hs_lst.get(rows[0]).input_kp
if profile_kp is not None:
profiles = reach.reach\
.get_profiles_from_kp(
float(profile_kp)
)
if len(profiles) != 0 and profiles is not None:
profile = profiles[0]
self.plot_kpc.set_profile(profile)
self.plot_ac.set_profile(profile)
else:
self._update_clear_profile()
else:
self._update_clear_profile()
else:
self._update_clear_all()
def _update_clear_all(self):
self.plot_kpc.clear()
self.plot_ac.clear()
def _update_clear_profile(self):
self.plot_ac.clear()
self.plot_kpc.clear_profile()