diff options
author | Aleks Kissinger <aleks0@gmail.com> | 2018-01-04 16:00:52 +0100 |
---|---|---|
committer | Aleks Kissinger <aleks0@gmail.com> | 2018-01-04 16:00:52 +0100 |
commit | 738ecbd5fad2b46836bfd6a94aeebf165ae2bbca (patch) | |
tree | df04709807cc9ec8481a3ebc7d80ac25e5b2f457 /src/data/edge.h | |
parent | 0421a96749743868554d44585050b1b3d04864d2 (diff) |
relocated source code to the root
Diffstat (limited to 'src/data/edge.h')
-rw-r--r-- | src/data/edge.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/src/data/edge.h b/src/data/edge.h new file mode 100644 index 0000000..d2913b8 --- /dev/null +++ b/src/data/edge.h @@ -0,0 +1,89 @@ +#ifndef EDGE_H +#define EDGE_H + +#include "graphelementdata.h" +#include "node.h" + +#include <QObject> +#include <QPointF> + +class Edge : public QObject +{ + Q_OBJECT +public: + explicit Edge(Node *s, Node *t, QObject *parent = 0); + ~Edge(); + + Node *source() const; + Node *target() const; + + bool isSelfLoop(); + bool isStraight(); + + GraphElementData *data() const; + void setData(GraphElementData *data); + + QString sourceAnchor() const; + void setSourceAnchor(const QString &sourceAnchor); + + QString targetAnchor() const; + void setTargetAnchor(const QString &targetAnchor); + + Node *edgeNode() const; + void setEdgeNode(Node *edgeNode); + bool hasEdgeNode(); + + void updateControls(); + void setAttributesFromData(); + void updateData(); + + QPointF head() const; + QPointF tail() const; + QPointF cp1() const; + QPointF cp2() const; + QPointF mid() const; + + int bend() const; + int inAngle() const; + int outAngle() const; + float weight() const; + 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: + +private: + QString _sourceAnchor; + QString _targetAnchor; + + // owned + Node *_edgeNode; + GraphElementData *_data; + + // referenced + Node *_source; + Node *_target; + + bool _dirty; + bool _basicBendMode; + int _bend; + int _inAngle; + int _outAngle; + float _weight; + float _cpDist; + + QPointF _head; + QPointF _tail; + QPointF _cp1; + QPointF _cp2; + QPointF _mid; +}; + +#endif // EDGE_H |