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.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/gui/undocommands.cpp b/src/gui/undocommands.cpp
index 0fb235d..9c6a9c3 100644
--- a/src/gui/undocommands.cpp
+++ b/src/gui/undocommands.cpp
@@ -183,4 +183,26 @@ void AddEdgeCommand::redo()
EdgeItem *ei = new EdgeItem(_edge);
_scene->edgeItems().insert(_edge, ei);
_scene->addItem(ei);
+
+ // edges should always be stacked below nodes
+ if (!_scene->graph()->nodes().isEmpty()) {
+ ei->stackBefore(_scene->nodeItems()[_scene->graph()->nodes().first()]);
+ }
+}
+
+ChangeEdgeModeCommand::ChangeEdgeModeCommand(TikzScene *scene, Edge *edge) :
+ _scene(scene), _edge(edge)
+{
+}
+
+void ChangeEdgeModeCommand::undo()
+{
+ _edge->setBasicBendMode(!_edge->basicBendMode());
+ _scene->edgeItems()[_edge]->readPos();
+}
+
+void ChangeEdgeModeCommand::redo()
+{
+ _edge->setBasicBendMode(!_edge->basicBendMode());
+ _scene->edgeItems()[_edge]->readPos();
}