diff options
author | Aleks Kissinger <aleks0@gmail.com> | 2017-12-21 16:34:58 +0000 |
---|---|---|
committer | Aleks Kissinger <aleks0@gmail.com> | 2017-12-21 16:34:58 +0000 |
commit | 9d8317cd593d47911bb6b2e6fb8ef0077e24ae36 (patch) | |
tree | 6f2d44782c37f8eaa36f2bb1de625343af65649e /tikzit/src/data | |
parent | 82bdd42a475d240bb08e201a47b0972d0b2862a6 (diff) |
edge bending working
Diffstat (limited to 'tikzit/src/data')
-rw-r--r-- | tikzit/src/data/edge.cpp | 22 | ||||
-rw-r--r-- | tikzit/src/data/edge.h | 5 | ||||
-rw-r--r-- | tikzit/src/data/tikzparser.parser.cpp | 11 | ||||
-rw-r--r-- | tikzit/src/data/tikzparser.y | 5 |
4 files changed, 37 insertions, 6 deletions
diff --git a/tikzit/src/data/edge.cpp b/tikzit/src/data/edge.cpp index b999f8a..3ff6c6e 100644 --- a/tikzit/src/data/edge.cpp +++ b/tikzit/src/data/edge.cpp @@ -1,9 +1,9 @@ #include "edge.h" #include "tikzit.h" +#include "util.h" #include <QDebug> #include <QPointF> -#include <cmath> Edge::Edge(Node *s, Node *t, QObject *parent) : QObject(parent), _source(s), _target(t) @@ -278,6 +278,26 @@ float Edge::cpDist() const return _cpDist; } +void Edge::setBend(int bend) +{ + _bend = bend; +} + +void Edge::setInAngle(int inAngle) +{ + _inAngle = inAngle; +} + +void Edge::setOutAngle(int outAngle) +{ + _outAngle = outAngle; +} + +void Edge::setWeight(float weight) +{ + _weight = weight; +} + QPointF Edge::mid() const { return _mid; diff --git a/tikzit/src/data/edge.h b/tikzit/src/data/edge.h index e392c56..d2913b8 100644 --- a/tikzit/src/data/edge.h +++ b/tikzit/src/data/edge.h @@ -50,6 +50,11 @@ public: bool basicBendMode() const; float cpDist() const; + void setBend(int bend); + void setInAngle(int inAngle); + void setOutAngle(int outAngle); + void setWeight(float weight); + signals: public slots: diff --git a/tikzit/src/data/tikzparser.parser.cpp b/tikzit/src/data/tikzparser.parser.cpp index 53c8da7..3dadb45 100644 --- a/tikzit/src/data/tikzparser.parser.cpp +++ b/tikzit/src/data/tikzparser.parser.cpp @@ -532,7 +532,7 @@ static const yytype_uint8 yyrline[] = 0, 124, 124, 130, 130, 131, 131, 131, 131, 133, 133, 136, 138, 140, 141, 148, 154, 156, 163, 169, 169, 171, 172, 190, 190, 191, 198, 199, 201, 202, - 210, 243, 243, 244, 244, 245, 247 + 210, 246, 246, 247, 247, 248, 250 }; #endif @@ -1677,8 +1677,11 @@ yyreduce: } Edge *edge = assembler->graph()->addEdge(s, t); - if ((yyvsp[(2) - (7)].data)) + if ((yyvsp[(2) - (7)].data)) { edge->setData((yyvsp[(2) - (7)].data)); + edge->setAttributesFromData(); + } + if ((yyvsp[(5) - (7)].node)) edge->setEdgeNode((yyvsp[(5) - (7)].node)); if ((yyvsp[(3) - (7)].noderef).anchor) { @@ -1698,7 +1701,7 @@ yyreduce: break; case 36: -#line 248 "../tikzit/src/data/tikzparser.y" +#line 251 "../tikzit/src/data/tikzparser.y" { assembler->graph()->setBbox(QRectF(*(yyvsp[(3) - (6)].pt), *(yyvsp[(5) - (6)].pt))); delete (yyvsp[(3) - (6)].pt); @@ -1708,7 +1711,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 1712 "../tikzit/src/data/tikzparser.parser.cpp" +#line 1715 "../tikzit/src/data/tikzparser.parser.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); diff --git a/tikzit/src/data/tikzparser.y b/tikzit/src/data/tikzparser.y index b5bca35..eaf09eb 100644 --- a/tikzit/src/data/tikzparser.y +++ b/tikzit/src/data/tikzparser.y @@ -221,8 +221,11 @@ edge: "\\draw" optproperties noderef "to" optedgenode optnoderef ";" } Edge *edge = assembler->graph()->addEdge(s, t); - if ($2) + if ($2) { edge->setData($2); + edge->setAttributesFromData(); + } + if ($5) edge->setEdgeNode($5); if ($3.anchor) { |