From 500d97d7d3916f30f383e120a56244c06cfc7b3c Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr> Date: Wed, 3 May 2023 11:28:13 +0200 Subject: [PATCH] BC: Fix delete elements. --- src/Model/BoundaryCondition/BoundaryCondition.py | 3 +++ .../BoundaryCondition/BoundaryConditionList.py | 16 ++++++++-------- .../BoundaryCondition/BoundaryConditionWindow.py | 7 +++++++ 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/Model/BoundaryCondition/BoundaryCondition.py b/src/Model/BoundaryCondition/BoundaryCondition.py index cf844ff6..cca0ebe9 100644 --- a/src/Model/BoundaryCondition/BoundaryCondition.py +++ b/src/Model/BoundaryCondition/BoundaryCondition.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- +from tools import trace, timer + from Model.Except import NotImplementedMethodeError class BoundaryCondition(object): @@ -88,6 +90,7 @@ class BoundaryCondition(object): def set_i_1(self, index:int, value): self._set_i_c_v(index, 1, value) + @timer def convert(self, cls): new = cls(name = self.name) for i, _ in self.data: diff --git a/src/Model/BoundaryCondition/BoundaryConditionList.py b/src/Model/BoundaryCondition/BoundaryConditionList.py index d5c2d9ad..a44629d4 100644 --- a/src/Model/BoundaryCondition/BoundaryConditionList.py +++ b/src/Model/BoundaryCondition/BoundaryConditionList.py @@ -25,16 +25,16 @@ class BoundaryConditionList(list): self.remove(bc) def delete_i(self, indexes): - bcs = map( - lambda x: x[1], - filter( - lambda x: x[0] in indexes, - enumerate(self) + bcs = list( + map( + lambda x: x[1], + filter( + lambda x: x[0] in indexes, + enumerate(self) + ) ) ) - - for bc in bcs: - self.remove(bc) + self.delete(bcs) def move_up(self, index): if index < len(self): diff --git a/src/View/BoundaryCondition/BoundaryConditionWindow.py b/src/View/BoundaryCondition/BoundaryConditionWindow.py index 7fcc91c9..de56722d 100644 --- a/src/View/BoundaryCondition/BoundaryConditionWindow.py +++ b/src/View/BoundaryCondition/BoundaryConditionWindow.py @@ -301,6 +301,10 @@ class BoundaryConditionWindow(ASubMainWindow, ListedSubWindow): 2, self._delegate_node ) + table.setSelectionBehavior(QAbstractItemView.SelectRows) + table.setAlternatingRowColors(True) + + def setup_connections(self): self.find(QAction, "action_add").triggered.connect(self.add) self.find(QAction, "action_del").triggered.connect(self.delete) @@ -339,6 +343,9 @@ class BoundaryConditionWindow(ASubMainWindow, ListedSubWindow): def delete(self): rows = self.index_selected_rows() + if len(rows) == 0: + return + self._table.delete(rows) def sort(self): -- GitLab