diff --git a/src/Model/Geometry/Reach.py b/src/Model/Geometry/Reach.py index ad82d3c88cebdb82c74a7029976428e84303f2fd..04272f23a3c3773449378325be3e90b7c988d76c 100644 --- a/src/Model/Geometry/Reach.py +++ b/src/Model/Geometry/Reach.py @@ -63,19 +63,6 @@ class Reach: """ return self._profiles - def add_profile(self, index): - """Add a new profile at the end of profiles list - - Returns: - Nothing. - """ - nb_profile = self.number_profiles - profile = ProfileXYZ() - profile.num = nb_profile + 1 - - self._profiles.insert(profile, index + 1) - self._update_profile_numbers() - def _update_profile_numbers(self): """Update profiles index @@ -284,7 +271,6 @@ class Reach: reverse=is_reversed ) - @trace @timer def sort_with_indexes(self, indexes: list): if len(self._profiles) != len(indexes): diff --git a/src/View/Geometry/GeometryWindow.py b/src/View/Geometry/GeometryWindow.py index b97840201bf349917c826ece448bb0e0c7c88a1f..7948e380bdb80e1f01dd434cccdae8ae4c94e1bb 100644 --- a/src/View/Geometry/GeometryWindow.py +++ b/src/View/Geometry/GeometryWindow.py @@ -366,15 +366,10 @@ class GeometryWindow(QMainWindow, WindowToolKit): def insert_row(self): if len(self.tableView.selectedIndexes()) == 0: - self._tablemodel.insertRows(self._tablemodel.rowCount(), 1) + self._tablemodel.insert_row(self._tablemodel.rowCount()) else: row = self.index_selected_row() - self._tablemodel.insertRows(row + 1, 1) - - if self.filename is not None: - self.plot_xy() - self.plot_kpc() - self.select_current_profile() + self._tablemodel.insert_row(row + 1) def delete_row(self): rows = list(set( diff --git a/src/View/Geometry/qtableview_reach.py b/src/View/Geometry/qtableview_reach.py index 1c5a6c4d79b1998c4c17ff41a009e6467bf09585..6ad89bbfa08c000c71ffdfccd3a16ab705401a47 100644 --- a/src/View/Geometry/qtableview_reach.py +++ b/src/View/Geometry/qtableview_reach.py @@ -138,10 +138,14 @@ class PandasModelEditable(QAbstractTableModel): return Qt.ItemIsEditable | flg # @QtCore.pyqtSlot() - def insertRows(self, row, count, parent=QModelIndex()): - self.beginInsertRows(parent, row, row + count - 1) + def insert_row(self, row, parent=QModelIndex()): + self.beginInsertRows(parent, row, row - 1) - self._reach.add_profile(row) + self._undo_stack.push( + AddCommand( + self._reach, row + ) + ) self.endInsertRows() self.layoutChanged.emit() @@ -158,7 +162,6 @@ class PandasModelEditable(QAbstractTableModel): self.endRemoveRows() self.layoutChanged.emit() - @trace def sort_profiles(self, _reverse): self.layoutAboutToBeChanged.emit()