From d1d63c8c29045edb18888423300dd4eed978344a Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Fri, 16 Feb 2024 11:22:29 +0100
Subject: [PATCH] Reservoir: Apply new PamhyrPlot features.

---
 src/View/Reservoir/Edit/Plot.py | 50 +++++++++++++++------------------
 1 file changed, 22 insertions(+), 28 deletions(-)

diff --git a/src/View/Reservoir/Edit/Plot.py b/src/View/Reservoir/Edit/Plot.py
index 7c509910..9de7d4a1 100644
--- a/src/View/Reservoir/Edit/Plot.py
+++ b/src/View/Reservoir/Edit/Plot.py
@@ -46,56 +46,50 @@ class Plot(PamhyrPlot):
             parent=parent
         )
 
-        self._table_headers = self._trad.get_dict("table_headers")
         self._mode = mode
+        self._table_headers = self._trad.get_dict("table_headers")
+
+        self.label_x = self._table_headers["z"]
+        self.label_y = self._table_headers["Area"]
+
+        self._isometric_axis = False
+
+        self._auto_relim_update = True
+        self._autoscale_update = True
 
     @timer
     def draw(self):
-        self.canvas.axes.cla()
-        self.canvas.axes.grid(color='grey', linestyle='--', linewidth=0.5)
+        self.init_axes()
 
         if len(self.data) == 0:
             self._init = False
             return
 
-        # Plot data
+        self.draw_data()
+
+        self.idle()
+        self._init = True
+
+    def draw_data(self):
         x = list(map(lambda v: v[0], self.data.data))
         y = list(map(lambda v: v[1], self.data.data))
         self._line, = self.canvas.axes.plot(
             x, y,
-            color='r', lw=1.,
-            markersize=5, marker='+',
-            picker=30,
+            color=self.color_plot,
+            **self.plot_default_kargs
         )
 
-        # Plot label
-        # header = self.data.header
-        self.canvas.axes.set_xlabel(
-            self._table_headers["z"], color='black', fontsize=10
-        )
-        self.canvas.axes.set_ylabel(
-            self._table_headers["Area"], color='black', fontsize=10
-        )
-
-        self.canvas.axes.autoscale_view(True, True, True)
-        self.canvas.figure.tight_layout()
-        self.canvas.figure.canvas.draw_idle()
-        # self.toolbar.update()
-
-        self._init = True
-
     @timer
     def update(self, ind=None):
         if not self._init:
             self.draw()
             return
 
+        self.update_data()
+        self.update_idle()
+
+    def update_data(self):
         x = list(map(lambda v: v[0], self.data.data))
         y = list(map(lambda v: v[1], self.data.data))
 
         self._line.set_data(x, y)
-
-        self.canvas.axes.relim()
-        self.canvas.axes.autoscale()
-        self.canvas.figure.tight_layout()
-        self.canvas.figure.canvas.draw_idle()
-- 
GitLab