summaryrefslogtreecommitdiff
path: root/src/gui/undocommands.cpp
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2019-01-12 15:01:41 +0100
committerAleks Kissinger <aleks0@gmail.com>2019-01-12 15:11:00 +0100
commitd49cde5d0b948f24aa7b3bd9ad9b3b63333f2281 (patch)
tree573a28adec900d892ab14c2bc4a4902d61985d81 /src/gui/undocommands.cpp
parent8fe8ff000d48460583f542b932d8af3e3d3ae008 (diff)
reverse edge direction
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();
+}
+