From 738ecbd5fad2b46836bfd6a94aeebf165ae2bbca Mon Sep 17 00:00:00 2001 From: Aleks Kissinger Date: Thu, 4 Jan 2018 16:00:52 +0100 Subject: relocated source code to the root --- src/data/edge.h | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 src/data/edge.h (limited to 'src/data/edge.h') 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 +#include + +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 -- cgit v1.2.3