IC: Fix display update and optimized discharge plot update.

setup.py
Pierre-Antoine Rouby 2024-05-21 10:51:34 +02:00
parent 61fd54c496
commit 8ca21c413f
2 changed files with 32 additions and 4 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()