diff options
author | Aleks Kissinger <aleks0@gmail.com> | 2018-09-23 12:30:08 +0200 |
---|---|---|
committer | Aleks Kissinger <aleks0@gmail.com> | 2018-09-23 12:30:08 +0200 |
commit | fa3d7da179b25d2ece40b56f5f9adddb3831906e (patch) | |
tree | d72e9857113920d6aeda060ec43b4dc83c4ea26f /src/gui/undocommands.cpp | |
parent | 1ca36f064da2a3619f0f8058f48e9f9dc6d07436 (diff) |
added reordering of nodes and edges
Diffstat (limited to 'src/gui/undocommands.cpp')
-rw-r--r-- | src/gui/undocommands.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/gui/undocommands.cpp b/src/gui/undocommands.cpp index 7b254d1..50b81a4 100644 --- a/src/gui/undocommands.cpp +++ b/src/gui/undocommands.cpp @@ -513,3 +513,31 @@ void RotateNodesCommand::redo() _scene->refreshAdjacentEdges(_nodes.toList()); GraphUpdateCommand::redo(); } + +ReorderCommand::ReorderCommand(TikzScene *scene, + const QVector<Node *> &oldNodeOrder, + const QVector<Node *> &newNodeOrder, + const QVector<Edge *> &oldEdgeOrder, + const QVector<Edge *> &newEdgeOrder, + QUndoCommand *parent) : + GraphUpdateCommand(scene, parent), + _oldNodeOrder(oldNodeOrder), _newNodeOrder(newNodeOrder), + _oldEdgeOrder(oldEdgeOrder), _newEdgeOrder(newEdgeOrder) +{ +} + +void ReorderCommand::undo() +{ + _scene->graph()->reorderNodes(_oldNodeOrder); + _scene->graph()->reorderEdges(_oldEdgeOrder); + _scene->refreshZIndices(); + GraphUpdateCommand::undo(); +} + +void ReorderCommand::redo() +{ + _scene->graph()->reorderNodes(_newNodeOrder); + _scene->graph()->reorderEdges(_newEdgeOrder); + _scene->refreshZIndices(); + GraphUpdateCommand::redo(); +} |