summaryrefslogtreecommitdiff
path: root/tikzit/src/gui/nodeitem.cpp
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2017-12-18 17:59:56 +0000
committerAleks Kissinger <aleks0@gmail.com>2017-12-18 17:59:56 +0000
commit708011ca445e6096d693bde77b63b43b9de78e54 (patch)
tree8c4e96d311953dde45d1de7aa8c84d49ec761480 /tikzit/src/gui/nodeitem.cpp
parent2bf85f71dc07b2c4785b9408e3c426ccaab55b74 (diff)
adding node position tracking for undo
Diffstat (limited to 'tikzit/src/gui/nodeitem.cpp')
-rw-r--r--tikzit/src/gui/nodeitem.cpp14
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) {