summaryrefslogtreecommitdiff
path: root/src/gui/undocommands.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/undocommands.cpp')
-rw-r--r--src/gui/undocommands.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/gui/undocommands.cpp b/src/gui/undocommands.cpp
index 82b9455..91509ed 100644
--- a/src/gui/undocommands.cpp
+++ b/src/gui/undocommands.cpp
@@ -539,3 +539,33 @@ void ReorderCommand::redo()
_scene->refreshZIndices();
GraphUpdateCommand::redo();
}
+
+ReverseEdgesCommand::ReverseEdgesCommand(TikzScene *scene,
+ QSet<Edge *> edgeSet,
+ QUndoCommand *parent) :
+ GraphUpdateCommand(scene, parent), _edgeSet(edgeSet)
+{
+}
+
+void ReverseEdgesCommand::undo()
+{
+ EdgeItem *ei;
+ foreach (Edge *e, _edgeSet) {
+ e->reverse();
+ ei = _scene->edgeItems()[e];
+ if (ei) ei->readPos();
+ }
+ GraphUpdateCommand::undo();
+}
+
+void ReverseEdgesCommand::redo()
+{
+ EdgeItem *ei;
+ foreach (Edge *e, _edgeSet) {
+ e->reverse();
+ ei = _scene->edgeItems()[e];
+ if (ei) ei->readPos();
+ }
+ GraphUpdateCommand::redo();
+}
+