Merge branch 'master' of gitlab-ssh.irstea.fr:theophile.terraz/pamhyr

setup.py
Theophile Terraz 2024-05-21 17:02:08 +02:00
commit 57d43cd5d3
3 changed files with 45 additions and 6 deletions

View File

@ -52,18 +52,41 @@ class PlotDischarge(PamhyrPlot):
self._init = True
def draw_data(self):
kp = self.data.reach.reach.get_kp()
self.line_discharge = []
if len(self.data) != 0:
kp = self.data.get_kp()
discharge = self.data.get_discharge()
self.line_kp_zmin = self.canvas.axes.plot(
line, = self.canvas.axes.plot(
kp, discharge,
color=self.color_plot,
**self.plot_default_kargs
)
self.line_discharge.append(line)
@timer
def update(self, ind=None):
self.draw()
if not self._init:
self.draw()
self.update_data()
self.update_idle()
def update_data(self):
if len(self.data) == len(self.line_discharge):
kp = self.data.get_kp()
discharge = self.data.get_discharge()
line, = self.canvas.axes.plot(
kp, discharge,
color=self.color_plot,
**self.plot_default_kargs
)
self.line_discharge.append(line)
else:
for line in self.line_discharge:
line.remove()
self._draw_data()

View File

@ -194,8 +194,13 @@ class InitialConditionsWindow(PamhyrWindow):
return rows[0].row()
def update(self):
self.update(propagate=False)
def _update(self, propagate=True):
self._update_plot()
self._propagate_update(key=Modules.INITIAL_CONDITION)
if propagate:
self._propagate_update(key=Modules.INITIAL_CONDITION)
def _update_plot(self):
self.plot_1.draw()

View File

@ -448,8 +448,7 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
if Modules.CONFIG in keys:
self._do_update_config()
if Modules.STUDY in keys:
self._tab_widget_info.update()
self._do_propagate_update_info_tab(keys)
logger.debug(f"Propagation of {keys}")
for _, window in self.sub_win_list:
@ -458,6 +457,18 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
self._tab_widget_checker.update(modules=keys)
def _do_propagate_update_info_tab(self, keys):
modules = Modules.modelling_list()
modules.append(Modules.STUDY)
has_info_mod = reduce(
lambda acc, m: acc or (m in keys),
modules, False
)
if has_info_mod:
self._tab_widget_info.update()
def _do_propagate_update_rec(self, window, keys):
for _, win in window.sub_win_list:
win._propagated_update(key=keys)