From 1b2791edb53afc20da1fe8d7b930d636fedec298 Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Tue, 25 Apr 2023 12:00:52 +0200
Subject: [PATCH] geometry: Profile: Minor change.

---
 src/View/Geometry/Profile/Plot.py          |  1 +
 src/View/Geometry/Profile/ProfileWindow.py | 28 ++++++++++++----------
 2 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/src/View/Geometry/Profile/Plot.py b/src/View/Geometry/Profile/Plot.py
index 6fc5b40a..85bb19b5 100644
--- a/src/View/Geometry/Profile/Plot.py
+++ b/src/View/Geometry/Profile/Plot.py
@@ -121,3 +121,4 @@ class Plot(APlot):
     @timer
     def update(self, ind=None):
         print("TODO: implemente update")
+        self.draw()
diff --git a/src/View/Geometry/Profile/ProfileWindow.py b/src/View/Geometry/Profile/ProfileWindow.py
index a7268790..fb59d7d1 100644
--- a/src/View/Geometry/Profile/ProfileWindow.py
+++ b/src/View/Geometry/Profile/ProfileWindow.py
@@ -38,15 +38,12 @@ class ProfileWindow(QMainWindow):
         self.setup_connections()
         self.plot()
 
-        self._model.dataChanged.connect(self.plot)
+        self._model.dataChanged.connect(self.update_plot)
         self.fileName = None
 
-        self.ui.tableView.installEventFilter(self)
-        self.status_change_tableview = False
-
+        # self.ui.tableView.installEventFilter(self)
         # self._model.dataChanged.connect(self.tableview_is_modified)
 
-        self.reference_data = None
         # self.ui.btn_go_back.setEnabled(False)
         # self.ui.btn_check.setEnabled(False)
         # self._model.dataChanged.connect(self.set_enable_cancel_btn)
@@ -89,7 +86,6 @@ class ProfileWindow(QMainWindow):
         self.ui.tableView.setModel(self._model)
         self.ui.tableView.setItemDelegate(Delegate())
 
-    @timer
     def plot(self):
         self.ui.tableView.model().blockSignals(True)
 
@@ -103,6 +99,14 @@ class ProfileWindow(QMainWindow):
 
         self.ui.tableView.model().blockSignals(False)
 
+    def update_plot(self):
+        self.ui.tableView.model().blockSignals(True)
+
+        # TODO: Do not rebuild all graph
+        self._plot.update()
+
+        self.ui.tableView.model().blockSignals(False)
+
 
     def insert_row(self):
         if len(self.ui.tableView.selectedIndexes()) == 0:
@@ -125,19 +129,19 @@ class ProfileWindow(QMainWindow):
 
     def sort_X_ascending(self):
         self._model.sort('x', order=Qt.AscendingOrder)
-        self.plot()
+        self.update_plot()
 
     def sort_X_descending(self):
         self._model.sort('x', order=Qt.DescendingOrder)
-        self.plot()
+        self.update_plot()
 
     def sort_Y_ascending(self):
         self._model.sort('y', order=Qt.AscendingOrder)
-        self.plot()
+        self.update_plot()
 
     def sort_Y_descending(self):
         self._model.sort('y', order=Qt.DescendingOrder)
-        self.plot()
+        self.update_plot()
 
     def move_row_down(self):
         rows = list(
@@ -150,7 +154,7 @@ class ProfileWindow(QMainWindow):
             if row < self._model.rowCount() - 1:
                 self._model.moveRowDown(row)
 
-        self.plot()
+        self.update_plot()
 
     def move_row_up(self):
         rows = list(
@@ -163,7 +167,7 @@ class ProfileWindow(QMainWindow):
             if 0 < row:
                 self._model.moveRowUp(row)
 
-        self.plot()
+        self.update_plot()
 
     def handleSave(self):
         if self.fileName is None or self.fileName == '':
-- 
GitLab