From db75315b6dd46224a90cf8d1413b17acff7c833a Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Wed, 3 May 2023 09:24:30 +0200
Subject: [PATCH] BC: Open multiple edit window.

---
 src/Model/River.py                                |  2 +-
 .../BoundaryCondition/BoundaryConditionWindow.py  | 15 ++++++++++-----
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/Model/River.py b/src/Model/River.py
index dad5e824..077cc7db 100644
--- a/src/Model/River.py
+++ b/src/Model/River.py
@@ -63,7 +63,7 @@ class River(Graph):
 
     @property
     def boundary_condition(self):
-        return self._boundary_condition.copy()
+        return self._boundary_condition
 
     def has_current_reach(self):
         return self._current_reach is not None
diff --git a/src/View/BoundaryCondition/BoundaryConditionWindow.py b/src/View/BoundaryCondition/BoundaryConditionWindow.py
index 5edac341..7fcc91c9 100644
--- a/src/View/BoundaryCondition/BoundaryConditionWindow.py
+++ b/src/View/BoundaryCondition/BoundaryConditionWindow.py
@@ -331,11 +331,11 @@ class BoundaryConditionWindow(ASubMainWindow, ListedSubWindow):
         )
 
     def add(self):
-        if len(self._lst) == 0:
+        rows = self.index_selected_rows()
+        if len(self._lst) == 0 or len(rows) == 0:
             self._table.add(0)
         else:
-            row = self.index_selected_row()
-            self._table.add(row)
+            self._table.add(rows[0])
 
     def delete(self):
         rows = self.index_selected_rows()
@@ -366,5 +366,10 @@ class BoundaryConditionWindow(ASubMainWindow, ListedSubWindow):
         self._table.redo()
 
     def edit(self):
-        win = EditBoundaryConditionWindow(data=None, parent=self)
-        win.show()
+        rows = self.index_selected_rows()
+        for row in rows:
+            win = EditBoundaryConditionWindow(
+                data=self._lst[row],
+                parent=self
+            )
+            win.show()
-- 
GitLab