diff options
author | Aleks Kissinger <aleks0@gmail.com> | 2017-12-18 17:59:56 +0000 |
---|---|---|
committer | Aleks Kissinger <aleks0@gmail.com> | 2017-12-18 17:59:56 +0000 |
commit | 708011ca445e6096d693bde77b63b43b9de78e54 (patch) | |
tree | 8c4e96d311953dde45d1de7aa8c84d49ec761480 /tikzit/src/gui/nodeitem.cpp | |
parent | 2bf85f71dc07b2c4785b9408e3c426ccaab55b74 (diff) |
adding node position tracking for undo
Diffstat (limited to 'tikzit/src/gui/nodeitem.cpp')
-rw-r--r-- | tikzit/src/gui/nodeitem.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
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) { |