Geometry: Fix section modification command.

This commit is contained in:
parouby committed 2025-09-05 16:57:12 +02:00
1 parent a6341dedd2
commit c58620fdc2
4 files changed
+34 -14

No files matched your search

+24 -4
View File
@@ -45,6 +45,19 @@ _translate = QCoreApplication.translate
class GeometryProfileTableModel(PamhyrTableModel):
def get_true_data_row(self, row):
profile = self._data.point(row)
return next(
map(
lambda e: e[0],
filter(
lambda e: e[1] == profile,
enumerate(self._data._points)
)
), 0
)
def data(self, index, role=Qt.DisplayRole):
if index.isValid():
if role == Qt.DisplayRole:
@@ -162,6 +175,8 @@ class GeometryProfileTableModel(PamhyrTableModel):
def insert_row(self, row, parent=QModelIndex()):
self.beginInsertRows(parent, row, row - 1)
row = self.get_true_data_row(row)
self._undo.push(
AddCommand(
self._data, row
@@ -176,7 +191,12 @@ class GeometryProfileTableModel(PamhyrTableModel):
self._undo.push(
DelCommand(
self._data, rows
self._data, list(
map(
lambda r: self.get_true_data_row(r),
rows
)
)
)
)
@@ -200,10 +220,10 @@ class GeometryProfileTableModel(PamhyrTableModel):
if row <= 0:
return
target = row + 2
target = row + 1
self.beginMoveRows(parent, row - 1, row - 1, parent, target)
row = self.get_true_data_row(row)
self._undo.push(
MoveCommand(
self._data, "up", row
@@ -218,9 +238,9 @@ class GeometryProfileTableModel(PamhyrTableModel):
return
target = row
self.beginMoveRows(parent, row + 1, row + 1, parent, target)
row = self.get_true_data_row(row)
self._undo.push(
MoveCommand(
self._data, "down", row
+2 -2
View File
@@ -144,9 +144,9 @@ class SortCommand(QUndoCommand):
self._column = column
self._reverse = _reverse
old = self._profile.points
old = self._profile._points
self._profile.sort(self._column, self._reverse)
new = self._profile.points
new = self._profile._points
self._indexes = list(
map(
+2 -2
View File
@@ -132,8 +132,8 @@ class ProfileWindow(PamhyrWindow):
actions = {}
else:
actions = {
"action_sort_asc": self.sort_X_ascending,
"action_sort_des": self.sort_X_descending,
"action_sort_asc": self.sort_Y_ascending,
"action_sort_des": self.sort_Y_descending,
"action_up": self.move_up,
"action_down": self.move_down,
"action_add": self.add,