umbrello 2.31.70-8160ef4c8
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
messagewidget.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-2.0-or-later
3 SPDX-FileCopyrightText: 2002-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4*/
5
6#ifndef MESSAGEWIDGET_H
7#define MESSAGEWIDGET_H
8
9#include "umlwidget.h"
10#include "linkwidget.h"
11
12// forward declarations
14class ObjectWidget;
15class QResizeEvent;
16class UMLOperation;
17
35class MessageWidget : public UMLWidget, public LinkWidget
36{
37 Q_OBJECT
38public:
44 MessageWidget(UMLScene * scene, ObjectWidget* a, int xclick, int yclick,
47 virtual ~MessageWidget();
48
49 virtual void setY(qreal y);
50
51 //---------- LinkWidget Interface methods implementation from here on.
52
53 virtual void lwSetFont (QFont font);
55
56 virtual UMLOperation *operation();
57 virtual void setOperation(UMLOperation *op);
58
59 virtual QString customOpText();
60 virtual void setCustomOpText(const QString &opText);
61
62 virtual void setMessageText(FloatingTextWidget *ft);
63 virtual void setText(FloatingTextWidget *ft, const QString &newText);
64
65 virtual QString lwOperationText();
66 virtual UMLClassifier *lwClassifier();
67 virtual void setOperationText(const QString &op);
68
69 virtual void constrainTextPos(qreal &textX, qreal &textY, qreal textWidth, qreal textHeight,
71
72 //---------- End LinkWidget Interface methods implementation.
73
77 }
78
80
83
84 bool isSelf() const;
85
92 return m_pFText;
93 }
94
101 m_pFText = f;
102 }
103
104 void calculateWidget();
105
106 virtual bool activate(IDChangeLog * Log = 0);
108
109 void calculateDimensions();
116
117 virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
118
119 void setTextPosition();
120
121 void cleanup();
122
123 void setSelected(bool _select);
124
125 int getMinY();
126 int getMaxY();
127
128 virtual QSizeF minimumSize() const;
129
130 UMLWidget* onWidget(const QPointF& p);
131
132 virtual void resizeWidget(qreal newW, qreal newH);
133
134 virtual void saveToXMI1(QXmlStreamWriter& writer);
135 virtual bool loadFromXMI1(QDomElement & qElement);
136
137 void setxclicked(int xclick);
138 void setyclicked(int yclick);
139
143 int getxclicked() const {
144 return m_xclicked;
145 }
146
147 virtual bool showPropertiesDialog();
148
149protected:
150 virtual void moveWidgetBy(qreal diffX, qreal diffY);
151 virtual void constrainMovementForAllWidgets(qreal &diffX, qreal &diffY);
152
153 virtual bool isInResizeArea(QGraphicsSceneMouseEvent *me);
154
155 void setLinkAndTextPos();
156
157 int constrainX(int textX, int textWidth, Uml::TextRole::Enum tr);
158
159 static void paintArrow(QPainter *p, int x, int y, int w,
160 Qt::ArrowType direction, bool useDottedLine = false);
161 static void paintSolidArrowhead(QPainter *p, int x, int y, Qt::ArrowType direction);
162
163 void updateResizability();
164
165 void paintSynchronous(QPainter *painter, const QStyleOptionGraphicsItem *option);
166 void paintAsynchronous(QPainter *painter, const QStyleOptionGraphicsItem *option);
167 void paintCreation(QPainter *painter, const QStyleOptionGraphicsItem *option);
168 void paintDestroy(QPainter *painter, const QStyleOptionGraphicsItem *option);
169 void paintLost(QPainter *painter, const QStyleOptionGraphicsItem *option);
170 void paintFound(QPainter *painter, const QStyleOptionGraphicsItem *option);
171
172 // Data loaded/saved
173 QString m_CustomOp;
178
179private:
180 void resizeEvent(QResizeEvent *re);
181
182 qreal constrainPositionY(qreal diffY);
183
184 void init();
185
186 QPointer<ObjectWidget> m_pOw[2];
188
191
198
199public slots:
201 void slotMenuSelection(QAction* action);
202
203signals:
209};
210
211#endif
Displays a line of text or an operation.
Definition: floatingtextwidget.h:32
Definition: idchangelog.h:22
Interface to FloatingTextWidget for AssociationWidget and MessageWidget.
Definition: linkwidget.h:32
Displays a message.
Definition: messagewidget.h:36
virtual UMLClassifier * lwClassifier()
Definition: messagewidget.cpp:1046
Uml::SequenceMessage::Enum m_sequenceMessageType
Definition: messagewidget.h:177
void calculateDimensionsCreation()
Definition: messagewidget.cpp:1154
void slotWidgetMoved(Uml::ID::Type id)
Definition: messagewidget.cpp:767
virtual bool isInResizeArea(QGraphicsSceneMouseEvent *me)
Definition: messagewidget.cpp:195
void setSelected(bool _select)
Definition: messagewidget.cpp:1266
void calculateWidget()
Definition: messagewidget.cpp:760
MessageWidget(UMLScene *scene, ObjectWidget *a, ObjectWidget *b, int y, Uml::SequenceMessage::Enum sequenceMessageType, Uml::ID::Type id=Uml::ID::None)
Definition: messagewidget.cpp:52
void resolveObjectWidget(IDChangeLog *log)
Definition: messagewidget.cpp:918
int getMinY()
Definition: messagewidget.cpp:1284
qreal constrainPositionY(qreal diffY)
Definition: messagewidget.cpp:274
void calculateDimensionsLost()
Definition: messagewidget.cpp:1193
FloatingTextWidget * m_pFText
Definition: messagewidget.h:187
int m_xclicked
Definition: messagewidget.h:189
void paintFound(QPainter *painter, const QStyleOptionGraphicsItem *option)
Definition: messagewidget.cpp:604
bool isSelf() const
Definition: messagewidget.cpp:811
virtual bool loadFromXMI1(QDomElement &qElement)
Definition: messagewidget.cpp:1437
void calculateDimensionsAsynchronous()
Definition: messagewidget.cpp:1118
void cleanup()
Definition: messagewidget.cpp:1243
void paintAsynchronous(QPainter *painter, const QStyleOptionGraphicsItem *option)
Definition: messagewidget.cpp:476
bool hasObjectWidget(ObjectWidget *w)
Definition: messagewidget.cpp:796
void setFloatingTextWidget(FloatingTextWidget *f)
Definition: messagewidget.h:100
int constrainX(int textX, int textWidth, Uml::TextRole::Enum tr)
Definition: messagewidget.cpp:695
void paintSynchronous(QPainter *painter, const QStyleOptionGraphicsItem *option)
Definition: messagewidget.cpp:408
virtual QString customOpText()
Definition: messagewidget.cpp:1013
int getMaxY()
Definition: messagewidget.cpp:1306
Uml::SequenceMessage::Enum sequenceMessageType() const
Definition: messagewidget.h:75
virtual QString lwOperationText()
Definition: messagewidget.cpp:1032
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Definition: messagewidget.cpp:331
void setObjectWidget(ObjectWidget *ow, Uml::RoleType::Enum role)
Definition: messagewidget.cpp:1348
void setxclicked(int xclick)
Definition: messagewidget.cpp:1367
void paintLost(QPainter *painter, const QStyleOptionGraphicsItem *option)
Definition: messagewidget.cpp:566
int getxclicked() const
Definition: messagewidget.h:143
void calculateDimensionsDestroy()
Definition: messagewidget.cpp:1185
Uml::ID::Type m_widgetAId
Definition: messagewidget.h:197
Uml::ID::Type m_textId
Definition: messagewidget.h:197
ObjectWidget * objectWidget(Uml::RoleType::Enum role)
Definition: messagewidget.cpp:1359
virtual void setOperationText(const QString &op)
Definition: messagewidget.cpp:957
virtual void saveToXMI1(QXmlStreamWriter &writer)
Definition: messagewidget.cpp:1405
virtual bool activate(IDChangeLog *Log=0)
Definition: messagewidget.cpp:835
void setyclicked(int yclick)
Definition: messagewidget.cpp:1375
void resizeEvent(QResizeEvent *re)
Definition: messagewidget.cpp:753
QString m_CustomOp
Definition: messagewidget.h:173
void calculateDimensionsFound()
Definition: messagewidget.cpp:1218
virtual void moveWidgetBy(qreal diffX, qreal diffY)
Definition: messagewidget.cpp:305
void updateResizability()
Definition: messagewidget.cpp:176
Uml::ID::Type m_widgetBId
Definition: messagewidget.h:197
int m_yclicked
Definition: messagewidget.h:190
virtual void setOperation(UMLOperation *op)
Definition: messagewidget.cpp:998
void calculateDimensions()
Definition: messagewidget.cpp:1059
virtual void constrainTextPos(qreal &textX, qreal &textY, qreal textWidth, qreal textHeight, Uml::TextRole::Enum tr)
Definition: messagewidget.cpp:727
virtual void setCustomOpText(const QString &opText)
Definition: messagewidget.cpp:1022
QPointer< ObjectWidget > m_pOw[2]
Definition: messagewidget.h:186
void sigMessageMoved()
virtual QSizeF minimumSize() const
Definition: messagewidget.cpp:1322
void paintCreation(QPainter *painter, const QStyleOptionGraphicsItem *option)
Definition: messagewidget.cpp:526
FloatingTextWidget * floatingTextWidget()
Definition: messagewidget.h:91
virtual void setMessageText(FloatingTextWidget *ft)
Definition: messagewidget.cpp:929
void setTextPosition()
Definition: messagewidget.cpp:675
UMLWidget * onWidget(const QPointF &p)
Definition: messagewidget.cpp:650
void calculateDimensionsSynchronous()
Definition: messagewidget.cpp:1084
void setLinkAndTextPos()
Definition: messagewidget.cpp:745
virtual void constrainMovementForAllWidgets(qreal &diffX, qreal &diffY)
Definition: messagewidget.cpp:321
virtual UMLClassifier * operationOwner()
Definition: messagewidget.cpp:976
void init()
Definition: messagewidget.cpp:128
void paintDestroy(QPainter *painter, const QStyleOptionGraphicsItem *option)
Definition: messagewidget.cpp:557
virtual void lwSetFont(QFont font)
Definition: messagewidget.cpp:966
static void paintSolidArrowhead(QPainter *p, int x, int y, Qt::ArrowType direction)
Definition: messagewidget.cpp:361
virtual void setY(qreal y)
Definition: messagewidget.cpp:153
virtual ~MessageWidget()
Definition: messagewidget.cpp:141
void slotMenuSelection(QAction *action)
Definition: messagewidget.cpp:817
virtual bool showPropertiesDialog()
Definition: messagewidget.cpp:1383
virtual void setText(FloatingTextWidget *ft, const QString &newText)
Definition: messagewidget.cpp:945
virtual void resizeWidget(qreal newW, qreal newH)
Definition: messagewidget.cpp:241
static void paintArrow(QPainter *p, int x, int y, int w, Qt::ArrowType direction, bool useDottedLine=false)
Definition: messagewidget.cpp:379
virtual UMLOperation * operation()
Definition: messagewidget.cpp:989
Displays an instance of a Concept.
Definition: objectwidget.h:28
Information for a non-graphical Concept/Class.
Definition: classifier.h:35
Definition: operation.h:20
Definition: umlscene.h:65
The base class for graphical UML objects.
Definition: umlwidget.h:36
virtual QFont font() const
Definition: widgetbase.cpp:550
int x
Definition: cxx11-lambda-functions-and-expressions.h:4
bool b
Definition: cxx11-null-pointer-constant.h:6
QString newText(UMLObject::ObjectType type)
Definition: model_utils.cpp:619
const Type None
special value for uninitialized ID
Definition: basictypes.h:373
std::string Type
Definition: basictypes.h:371
Enum
Definition: basictypes.h:236
Enum
Definition: basictypes.h:217
Enum
Definition: basictypes.h:176
QString a
Definition: petalnode.cpp:13