From d49cde5d0b948f24aa7b3bd9ad9b3b63333f2281 Mon Sep 17 00:00:00 2001 From: Aleks Kissinger Date: Sat, 12 Jan 2019 15:01:41 +0100 Subject: reverse edge direction --- src/gui/undocommands.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src/gui/undocommands.cpp') 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 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(); +} + -- cgit v1.2.3