mirror of https://gitlab.com/pamhyr/pamhyr2
Geometry: Profile: Some fixes.
parent
fc7a7bb7fd
commit
8f5fb4cc3b
|
|
@ -214,31 +214,17 @@ class Profile(object):
|
|||
self.points.insert(index, point)
|
||||
self._status.modified()
|
||||
|
||||
def delete(self, indexes: int):
|
||||
"""Delete points at index
|
||||
|
||||
Args:
|
||||
indexes: List of index of points.
|
||||
|
||||
Returns:
|
||||
Nothing.
|
||||
"""
|
||||
points = set(
|
||||
def delete_i(self, indexes: list):
|
||||
self._points = list(
|
||||
map(
|
||||
lambda e: e[1],
|
||||
filter(
|
||||
lambda e: e[0] in indexes,
|
||||
lambda e: e[0] not in indexes,
|
||||
enumerate(self.points)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
self.points = list(
|
||||
filter(
|
||||
lambda p: p not in points,
|
||||
self.points
|
||||
)
|
||||
)
|
||||
self._status.modified()
|
||||
|
||||
def delete_points(self, points):
|
||||
|
|
@ -250,7 +236,7 @@ class Profile(object):
|
|||
Returns:
|
||||
Nothing.
|
||||
"""
|
||||
self.points = list(
|
||||
self._points = list(
|
||||
filter(
|
||||
lambda p: p not in points,
|
||||
self.points
|
||||
|
|
@ -286,7 +272,7 @@ class Profile(object):
|
|||
elif column == 'z':
|
||||
def predicate(p): return p.z
|
||||
|
||||
self.points = sorted(
|
||||
self._points = sorted(
|
||||
self.points,
|
||||
key=predicate,
|
||||
reverse=is_reversed
|
||||
|
|
@ -298,7 +284,7 @@ class Profile(object):
|
|||
if len(self.points) != len(indexes):
|
||||
logger.critical("Indexes list do not correspond to point list")
|
||||
|
||||
self.points = list(
|
||||
self._points = list(
|
||||
map(
|
||||
lambda x: x[1],
|
||||
sorted(
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ class AddCommand(QUndoCommand):
|
|||
self._point = None
|
||||
|
||||
def undo(self):
|
||||
self._profile.delete([self._index])
|
||||
self._profile.delete_i([self._index])
|
||||
|
||||
def redo(self):
|
||||
if self._point is None:
|
||||
|
|
@ -119,7 +119,7 @@ class DelCommand(QUndoCommand):
|
|||
self._profile.insert_point(row, point)
|
||||
|
||||
def redo(self):
|
||||
self._profile.delete(self._rows)
|
||||
self._profile.delete_i(self._rows)
|
||||
|
||||
|
||||
class SortCommand(QUndoCommand):
|
||||
|
|
@ -181,7 +181,7 @@ class PasteCommand(QUndoCommand):
|
|||
|
||||
def undo(self):
|
||||
for ind in range(len(self._points)):
|
||||
self._profile.delete([self._row])
|
||||
self._profile.delete_i([self._row])
|
||||
|
||||
def redo(self):
|
||||
for point in self._points:
|
||||
|
|
|
|||
|
|
@ -135,16 +135,13 @@ class ProfileWindow(PamhyrWindow):
|
|||
self._tablemodel.blockSignals(False)
|
||||
|
||||
def index_selected_row(self):
|
||||
rows = self._tablemodel\
|
||||
.selectionModel()\
|
||||
.selectedRows()
|
||||
table = self.find(QTableView, "tableView")
|
||||
rows = table.selectionModel()\
|
||||
.selectedRows()
|
||||
if len(rows) == 0:
|
||||
return 0
|
||||
|
||||
return self._tablemodel\
|
||||
.selectionModel()\
|
||||
.selectedRows()[0]\
|
||||
.row()
|
||||
return rows[0].row()
|
||||
|
||||
def add(self):
|
||||
table = self.find(QTableView, "tableView")
|
||||
|
|
@ -213,24 +210,24 @@ class ProfileWindow(PamhyrWindow):
|
|||
|
||||
self.update_plot()
|
||||
|
||||
def copy(self):
|
||||
rows = self._tablemodel\
|
||||
.selectionModel()\
|
||||
.selectedRows()
|
||||
table = []
|
||||
table.append(["x", "y", "z", "name"])
|
||||
def _copy(self):
|
||||
table = self.find(QTableView, "tableView")
|
||||
rows = table.selectionModel().selectedRows()
|
||||
|
||||
data = []
|
||||
data.append(["x", "y", "z", "name"])
|
||||
|
||||
for row in rows:
|
||||
point = self._profile.point(row.row())
|
||||
table.append(
|
||||
data.append(
|
||||
[
|
||||
point.x, point.y, point.z, point.name
|
||||
]
|
||||
)
|
||||
|
||||
self.copyTableIntoClipboard(table)
|
||||
self.copyTableIntoClipboard(data)
|
||||
|
||||
def paste(self):
|
||||
def _paste(self):
|
||||
header, data = self.parseClipboardTable()
|
||||
|
||||
if len(data) == 0:
|
||||
|
|
@ -245,10 +242,10 @@ class ProfileWindow(PamhyrWindow):
|
|||
self._tablemodel.paste(row, header, data)
|
||||
self.update_plot()
|
||||
|
||||
def undo(self):
|
||||
def _undo(self):
|
||||
self._tablemodel.undo()
|
||||
self.update_plot()
|
||||
|
||||
def redo(self):
|
||||
def _redo(self):
|
||||
self._tablemodel.redo()
|
||||
self.update_plot()
|
||||
|
|
|
|||
Loading…
Reference in New Issue