diff --git a/src/View/MainWindowTabInfo.py b/src/View/MainWindowTabInfo.py index bdfb7e63..2013cf7a 100644 --- a/src/View/MainWindowTabInfo.py +++ b/src/View/MainWindowTabInfo.py @@ -59,6 +59,10 @@ class WidgetInfo(PamhyrWidget): self.set_label_text("label_cs", "0") self.set_label_text("label_points", "0") + self.set_label_text("label_res", "0") + self.set_label_text("label_bc", "0") + self.set_label_text("label_lc", "0") + def update(self): if self._study is None: self.set_initial_values() @@ -71,10 +75,12 @@ class WidgetInfo(PamhyrWidget): self.set_geometry_values() def set_network_values(self): - n_nodes = self._study.river.enable_nodes_counts() - n_d_nodes = self._study.river.nodes_counts() - n_nodes - n_edges = self._study.river.enable_edges_counts() - n_d_edges = self._study.river.edges_counts() - n_edges + river = self._study.river + + n_nodes = river.enable_nodes_counts() + n_d_nodes = river.nodes_counts() - n_nodes + n_edges = river.enable_edges_counts() + n_d_edges = river.edges_counts() - n_edges self.set_label_text( "label_nodes", @@ -85,20 +91,77 @@ class WidgetInfo(PamhyrWidget): f"{n_edges} {self.color_grey}({n_d_edges}){self.color_end}" ) - current = self._study.river.current_reach() + current = river.current_reach() if current is not None: name = current.reach.name else: name = "None" self.set_label_text("label_current_reach", name) + self.set_network_values_ext(river) + + def set_network_values_ext(self, river): + self.set_network_values_ext_reservoir(river) + self.set_network_values_ext_bc(river) + self.set_network_values_ext_lc(river) + + def set_network_values_ext_reservoir(self, river): + n_res = 0 + n_na_res = 0 + for res in river.reservoir.lst: + if res.node is not None: + n_res += 1 + else: + n_na_res += 1 + + self.set_label_text( + "label_res", + f"{n_res} {self.color_grey}({n_na_res}){self.color_end}" + ) + + def set_network_values_ext_bc(self, river): + bc = river.boundary_condition + n_bc = 0 + n_na_bc = 0 + + for tab in bc._tabs_list: + for c in bc.get_tab(tab): + if c.node is not None: + n_bc += 1 + else: + n_na_bc += 1 + + self.set_label_text( + "label_bc", + f"{n_bc} {self.color_grey}({n_na_bc}){self.color_end}" + ) + + def set_network_values_ext_lc(self, river): + lc = river.lateral_contribution + n_lc = 0 + n_na_lc = 0 + + for tab in lc._tabs_list: + for c in lc.get_tab(tab): + if c.edge is not None: + n_lc += 1 + else: + n_na_lc += 1 + + self.set_label_text( + "label_lc", + f"{n_lc} {self.color_grey}({n_na_lc}){self.color_end}" + ) + def set_geometry_values(self): + river = self._study.river + n_cs = 0 n_d_cs = 0 n_points = 0 n_d_points = 0 - for edge in self._study.river.edges(): + for edge in river.edges(): for profile in edge.reach.profiles: if edge.is_enable(): n_points += len(profile) @@ -115,3 +178,24 @@ class WidgetInfo(PamhyrWidget): "label_points", f"{n_points} {self.color_grey}({n_d_points}){self.color_end}" ) + + self.set_geometry_values_ext(river) + + def set_geometry_values_ext(self, river): + self.set_geometry_values_ext_hs(river) + + def set_geometry_values_ext_hs(self, river): + hs = river.hydraulic_structures + n_hs = 0 + n_na_hs = 0 + + for h in hs.lst: + if h.input_reach is not None and h.input_kp is not None: + n_hs += 1 + else: + n_na_hs += 1 + + self.set_label_text( + "label_hs", + f"{n_hs} {self.color_grey}({n_na_hs}){self.color_end}" + ) diff --git a/src/View/ui/Widgets/MainWindowTabInfo.ui b/src/View/ui/Widgets/MainWindowTabInfo.ui index c037b248..8f528f22 100644 --- a/src/View/ui/Widgets/MainWindowTabInfo.ui +++ b/src/View/ui/Widgets/MainWindowTabInfo.ui @@ -88,6 +88,16 @@ River network + + + + + + + @current_reach + + + @@ -95,7 +105,7 @@ - + Qt::Horizontal @@ -108,6 +118,13 @@ + + + + Current reach: + + + @@ -125,6 +142,13 @@ + + + + @nb_res + + + @@ -135,20 +159,51 @@ - - + + - Current reach: + Boundary conditions: - - - - - + + - @current_reach + Reservoir: + + + + + + + @nb_bc + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Lateral contributions: + + + + + + + @nb_lc @@ -161,6 +216,39 @@ Geometry + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Hydraulic stuctures: + + + @@ -195,18 +283,12 @@ - - - - Qt::Horizontal + + + + @nb_hs - - - 40 - 20 - - - +