6 #ifndef ASSOCIATIONLINE_H 7 #define ASSOCIATIONLINE_H 11 #include <QGraphicsObject> 21 class QXmlStreamWriter;
53 virtual void paint(QPainter *painter,
const QStyleOptionGraphicsItem *option, QWidget *widget);
56 virtual QPainterPath
shape()
const;
58 void alignTo(
const QLineF& line);
110 QPointF
point(
int index)
const;
133 bool setEndPoints(
const QPointF &start,
const QPointF &end);
138 void saveToXMI(QXmlStreamWriter& writer);
140 QBrush
brush()
const;
145 virtual void paint(QPainter* painter,
const QStyleOptionGraphicsItem* option, QWidget* widget);
147 QPainterPath
path()
const;
150 QPainterPath
shape()
const;
Definition: associationline.h:39
SymbolType symbolType() const
Definition: associationline.cpp:1470
virtual ~Symbol()
Definition: associationline.cpp:1463
QPair< QPointF, QPointF > SymbolEndPoints
Definition: associationline.h:30
void alignSymbols()
Definition: associationline.cpp:704
int closestSegmentIndex(const QPointF &point, qreal delta=Delta) const
Definition: associationline.cpp:228
bool isAutoLayouted() const
Definition: associationline.cpp:272
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
Definition: associationline.cpp:1234
QPainterPath shape() const
Definition: associationline.cpp:812
bool loadFromXMI(QDomElement &qElement)
Definition: associationline.cpp:328
Symbol * m_subsetSymbol
subset symbol
Definition: associationline.h:187
void setStartSymbol(Symbol::SymbolType symbolType)
Definition: associationline.cpp:602
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
Definition: associationline.cpp:1488
QBrush brush() const
Definition: associationline.cpp:1576
qreal m_c2dy
Definition: associationline.h:196
void setPen(const QPen &pen)
Definition: associationline.cpp:1566
QPointF endPoint() const
Definition: associationline.cpp:111
void setEndSymbol(Symbol::SymbolType symbolType)
Definition: associationline.cpp:626
void createSubsetSymbol()
Definition: associationline.cpp:648
QRectF boundRect
Definition: associationline.h:74
void addPoint(const QPointF &point)
Definition: associationline.cpp:116
void setLayout(Uml::LayoutType::Enum layout)
Definition: associationline.cpp:855
Definition: associationline.h:42
static QPainterPath createBezierCurve(QVector< QPointF > points)
Definition: associationline.cpp:938
A structure to hold a table of values for all symbols.
Definition: associationline.h:73
Definition: associationline.h:41
bool isEndSegmentIndex(int index) const
Definition: associationline.cpp:263
Definition: associationline.h:44
Uml::LayoutType::Enum layout() const
Definition: associationline.cpp:846
Definition: associationline.h:43
SymbolEndPoints endPoints
Definition: associationline.h:77
qreal m_c2dx
Definition: associationline.h:196
int m_activeSegmentIndex
index of active segment
Definition: associationline.h:184
void hoverMoveEvent(QGraphicsSceneHoverEvent *event)
Definition: associationline.cpp:1270
Symbol * m_collaborationLineHead
arrow head drawn at end of m_collaborationLineItem
Definition: associationline.h:189
static QString toString(Uml::LayoutType::Enum layout)
Definition: associationline.cpp:823
QGraphicsLineItem * m_collaborationLineItem
parallel arrow line drawn in case of collaboration message
Definition: associationline.h:188
Definition: associationline.h:38
int m_activePointIndex
index of active point which can be dragged to modify association line
Definition: associationline.h:183
static const qreal Delta
default delta for fuzzy recognition of points closer to point
Definition: associationline.h:197
int count() const
Definition: associationline.cpp:150
QPen pen() const
Definition: associationline.cpp:436
void calculateInitialEndPoints()
Definition: associationline.cpp:487
Definition: associationline.h:100
SymbolEndPoints symbolEndPoints() const
Definition: associationline.cpp:1550
void setBrush(const QBrush &brush)
Definition: associationline.cpp:1584
QBrush brush() const
Definition: associationline.cpp:418
bool m_autoLayoutSpline
Definition: associationline.h:192
SymbolType
Definition: associationline.h:36
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
Definition: associationline.cpp:1018
qreal m_c1dx
Definition: associationline.h:196
Symbol * m_startSymbol
symbol drawn at the end of "first" line segment
Definition: associationline.h:185
Definition: associationline.h:37
AssociationWidget * m_associationWidget
association widget which this line represents
Definition: associationline.h:181
void mouseMoveEvent(QGraphicsSceneMouseEvent *event)
Definition: associationline.cpp:1174
void optimizeLinePoints()
Definition: associationline.cpp:174
void removePoint(int index)
Definition: associationline.cpp:136
bool setEndPoints(const QPointF &start, const QPointF &end)
Definition: associationline.cpp:291
void updatePenStyle()
Definition: associationline.cpp:470
QPen m_pen
pen used to draw Symbol
Definition: associationline.h:68
QPen m_pen
pen used to draw an association line
Definition: associationline.h:191
Uml::LayoutType::Enum m_layout
Definition: associationline.h:190
virtual ~AssociationLine()
Definition: associationline.cpp:59
void createSplinePoints()
Definition: associationline.cpp:871
SymbolType m_symbolType
current symbol being represented by this item
Definition: associationline.h:70
QPainterPath path() const
Definition: associationline.cpp:766
void alignTo(const QLineF &line)
Definition: associationline.cpp:1533
int closestPointIndex(const QPointF &point, qreal delta=Delta) const
Definition: associationline.cpp:200
void saveToXMI(QXmlStreamWriter &writer)
Definition: associationline.cpp:383
void removeCollaborationLine()
Definition: associationline.cpp:690
virtual QRectF boundingRect() const
Definition: associationline.cpp:1507
QVector< QPointF > m_points
points representing the association line
Definition: associationline.h:182
QRectF boundingRect() const
Definition: associationline.cpp:800
AssociationLine(AssociationWidget *association)
Definition: associationline.cpp:37
static void setupSymbolTable()
Definition: associationline.cpp:1359
static const qreal SelfAssociationMinimumHeight
minimum height for self association's loop
Definition: associationline.h:199
qreal m_c1dy
Definition: associationline.h:196
static const qreal SelectedPointDiameter
radius of circles drawn to show "selection"
Definition: associationline.h:198
void cleanup()
Definition: associationline.cpp:158
QPainterPath shape
Definition: associationline.h:75
void insertPoint(int index, const QPointF &point)
Definition: associationline.cpp:125
bool enableAutoLayout()
Definition: associationline.cpp:277
QLineF axisLine
Definition: associationline.h:76
void reconstructSymbols()
Definition: associationline.cpp:529
void setSymbolType(SymbolType symbolType)
Definition: associationline.cpp:1478
void removeSubsetSymbol()
Definition: associationline.cpp:659
void mousePressEvent(QGraphicsSceneMouseEvent *event)
Definition: associationline.cpp:1154
void hoverEnterEvent(QGraphicsSceneHoverEvent *event)
Definition: associationline.cpp:1246
Definition: associationline.h:27
Definition: associationline.h:40
Symbol(SymbolType symbolType, QGraphicsItem *parent=nullptr)
Definition: associationline.cpp:1452
QPen pen() const
Definition: associationline.cpp:1558
bool isEndPointIndex(int index) const
Definition: associationline.cpp:252
bool setPoint(int index, const QPointF &point)
Definition: associationline.cpp:84
QPointF startPoint() const
Definition: associationline.cpp:103
void hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
Definition: associationline.cpp:1292
void setPen(const QPen &pen)
Definition: associationline.cpp:444
Symbol * m_endSymbol
symbol drawn at the end of "last" line segment
Definition: associationline.h:186
void createCollaborationLine()
Definition: associationline.cpp:668
void dumpPoints()
Definition: associationline.cpp:317
static SymbolProperty * symbolTable
a table which stores all symbol properties
Definition: associationline.h:80
QBrush m_brush
brush used to fill Symbol
Definition: associationline.h:69
static QPainterPath createOrthogonalPath(QVector< QPointF > points)
Definition: associationline.cpp:974
QPointF point(int index) const
Definition: associationline.cpp:71
static Uml::LayoutType::Enum fromString(const QString &layout)
Definition: associationline.cpp:831
virtual QPainterPath shape() const
Definition: associationline.cpp:1517
Enum
Definition: basictypes.h:130