From 3397754abc4aaf2c0423ad8379ec2238730393dd Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Mon, 24 Jul 2023 16:01:53 +0200
Subject: [PATCH] SL: Fix SL edition command.

---
 src/View/SedimentLayers/Edit/Table.py       | 10 ++++++++--
 src/View/SedimentLayers/Edit/UndoCommand.py | 15 +++++++++++++++
 2 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/src/View/SedimentLayers/Edit/Table.py b/src/View/SedimentLayers/Edit/Table.py
index 6bd59387..32790f1b 100644
--- a/src/View/SedimentLayers/Edit/Table.py
+++ b/src/View/SedimentLayers/Edit/Table.py
@@ -76,9 +76,15 @@ class TableModel(QAbstractTableModel):
                     self._sl, row, value
                 )
             )
-        if self._headers[column] == "comment":
+        if self._headers[column] == "type":
             self._undo.push(
-                SetCommentCommand(
+                SetTypeCommand(
+                    self._sl, row, value
+                )
+            )
+        if self._headers[column] == "height":
+            self._undo.push(
+                SetHeightCommand(
                     self._sl, row, value
                 )
             )
diff --git a/src/View/SedimentLayers/Edit/UndoCommand.py b/src/View/SedimentLayers/Edit/UndoCommand.py
index 9e630a6e..e6964709 100644
--- a/src/View/SedimentLayers/Edit/UndoCommand.py
+++ b/src/View/SedimentLayers/Edit/UndoCommand.py
@@ -25,6 +25,21 @@ class SetNameCommand(QUndoCommand):
     def redo(self):
         self._sediment_layers.get(self._index).name = self._new
 
+class SetTypeCommand(QUndoCommand):
+    def __init__(self, sediment_layers, index, new_value):
+        QUndoCommand.__init__(self)
+
+        self._sediment_layers = sediment_layers
+        self._index = index
+        self._old = self._sediment_layers.get(self._index).type
+        self._new = new_value
+
+    def undo(self):
+        self._sediment_layers.get(self._index).type = self._old
+
+    def redo(self):
+        self._sediment_layers.get(self._index).type = self._new
+
 class SetHeightCommand(QUndoCommand):
     def __init__(self, sediment_layers, index, new_value):
         QUndoCommand.__init__(self)
-- 
GitLab