27 #include <graphviz/types.h>
28 #include <graphviz/graph.h>
29 #include <graphviz/gvc.h>
31 #include <QGraphicsScene>
32 #include <QGraphicsEllipseItem>
33 #include <QGraphicsSimpleTextItem>
34 #include <QGraphicsPolygonItem>
36 #include <QtCore/QString>
37 #include <QtCore/QStringList>
39 #include <QGraphicsSceneMouseEvent>
67 StateChartGraphEdge(Agedge_t* gvGraphNode,
const QString& transitionName, QGraphicsScene* scene = 0,
float dpi = 72.0f);
74 return m_transitionName;
113 QGraphicsPolygonItem* m_Arrow;
118 QGraphicsPathItem* m_Cross;
123 QGraphicsSimpleTextItem* m_InfoText;
128 QGraphicsRectItem* m_InfoBox;
130 QPainterPath m_CrossPainter;
131 QGraphicsSimpleTextItem* m_pTransitionLabel;
132 QGraphicsEllipseItem* m_pTransitionInfoPoint;
133 float m_InfoPointRadius;
139 QString m_transitionName;
143 void setInfoPointPosition(QPointF newPosition,
double labelAngle);
151 void setArrowHeadPosition(QPointF headLineSegmentStart, QPointF headLineSegmentEnd);
166 float calcLengthOfLine(QPointF start, QPointF end);
172 std::vector<floatPair> calcControlPoints(Agedge_t* gvGraphEdge);
177 void calcPath(std::vector<floatPair> controlPoints);