From 708011ca445e6096d693bde77b63b43b9de78e54 Mon Sep 17 00:00:00 2001 From: Aleks Kissinger Date: Mon, 18 Dec 2017 17:59:56 +0000 Subject: adding node position tracking for undo --- tikzit/src/gui/nodeitem.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'tikzit/src/gui/nodeitem.cpp') diff --git a/tikzit/src/gui/nodeitem.cpp b/tikzit/src/gui/nodeitem.cpp index bf4830b..40b4de9 100644 --- a/tikzit/src/gui/nodeitem.cpp +++ b/tikzit/src/gui/nodeitem.cpp @@ -17,14 +17,19 @@ NodeItem::NodeItem(Node *node) setFlag(QGraphicsItem::ItemIsSelectable); setFlag(QGraphicsItem::ItemIsMovable); setFlag(QGraphicsItem::ItemSendsGeometryChanges); - syncPos(); + readPos(); } -void NodeItem::syncPos() +void NodeItem::readPos() { setPos(toScreen(_node->point())); } +void NodeItem::writePos() +{ + _node->setPoint(fromScreen(pos())); +} + QRectF NodeItem::labelRect() const { QString label = _node->label(); //QFont f("Courier", 9); @@ -99,6 +104,11 @@ QRectF NodeItem::boundingRect() const return r.united(shape().boundingRect()).adjusted(-4,-4,4,4); } +Node *NodeItem::node() const +{ + return _node; +} + QVariant NodeItem::itemChange(GraphicsItemChange change, const QVariant &value) { if (change == ItemPositionChange) { -- cgit v1.2.3