diff options
Diffstat (limited to 'src/data/node.cpp')
-rw-r--r-- | src/data/node.cpp | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/src/data/node.cpp b/src/data/node.cpp index c78f49c..085bdf5 100644 --- a/src/data/node.cpp +++ b/src/data/node.cpp @@ -3,11 +3,11 @@ #include <QDebug> -Node::Node(QObject *parent) : QObject(parent) +Node::Node(QObject *parent) : QObject(parent), _tikzLine(-1) { _data = new GraphElementData(); _style = noneStyle; - _styleName = "none"; + _data->setProperty("style", "none"); } Node::~Node() @@ -15,6 +15,17 @@ Node::~Node() delete _data; } +Node *Node::copy() { + Node *n1 = new Node(); + n1->setName(name()); + n1->setData(data()->copy()); + n1->setPoint(point()); + n1->setLabel(label()); + n1->attachStyle(); + n1->setTikzLine(tikzLine()); + return n1; +} + QPointF Node::point() const { return _point; @@ -54,26 +65,36 @@ void Node::setData(GraphElementData *data) { delete _data; _data = data; - if (_data->property("style") != 0) _styleName = _data->property("style"); } QString Node::styleName() const { - return _styleName; + return _data->property("style"); } void Node::setStyleName(const QString &styleName) { - _styleName = styleName; + _data->setProperty("style", styleName); } void Node::attachStyle() { - if (_styleName == "none") _style = noneStyle; - else _style = tikzit->styles()->nodeStyle(_styleName); + QString nm = styleName(); + if (nm == "none") _style = noneStyle; + else _style = tikzit->styles()->nodeStyle(nm); } NodeStyle *Node::style() const { return _style; } + +int Node::tikzLine() const +{ + return _tikzLine; +} + +void Node::setTikzLine(int tikzLine) +{ + _tikzLine = tikzLine; +} |