diff --git a/src/View/Network/Table.py b/src/View/Network/Table.py index 3031350aadec2f5fcf0674860b79675b10c251d0..54ab5d74ed1b77a46e0d6ee480c69647e561e597 100644 --- a/src/View/Network/Table.py +++ b/src/View/Network/Table.py @@ -143,7 +143,8 @@ class GraphTableModel(QAbstractTableModel): self.headers[index.column()] == "node2"): node = self.graph.node(value) self._undo.push( - SetCommand( + SetNodeCommand( + self.graph, self.rows[index.row()], self.headers[index.column()], node diff --git a/src/View/Network/UndoCommand.py b/src/View/Network/UndoCommand.py index 72c4f8ae8f9a1ddeec47a9776f8e624025faf194..979ec8664c1c72b69044b437ef8a0efaab935034 100644 --- a/src/View/Network/UndoCommand.py +++ b/src/View/Network/UndoCommand.py @@ -94,6 +94,22 @@ class SetCommand(QUndoCommand): def redo(self): self._el[self._column] = self._new + +class SetNodeCommand(QUndoCommand): + def __init__(self, graph, element, column, new_value): + QUndoCommand.__init__(self) + + self._el = element + self._column = column + self._old = graph.node(self._el[self._column]) + self._new = new_value + + def undo(self): + self._el[self._column] = self._old + + def redo(self): + self._el[self._column] = self._new + class EnableEdgeCommand(QUndoCommand): def __init__(self, edge, enable): QUndoCommand.__init__(self)