umbrello 2.34.70-5524f40e1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
objectwidget.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-2.0-or-later
3 SPDX-FileCopyrightText: 2002-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4*/
5
6#ifndef OBJECTWIDGET_H
7#define OBJECTWIDGET_H
8
9#include "messagewidgetlist.h"
10#include "umlwidget.h"
11
12class MessageWidget;
13class SeqLineWidget;
14class UMLScene;
15
27class ObjectWidget : public UMLWidget
28{
29 Q_OBJECT
30public:
32 virtual ~ObjectWidget();
33
34 virtual void setX(qreal x);
35 virtual void setY(qreal y);
36
37 qreal centerX();
38
39 void setMultipleInstance(bool multiple);
40 bool multipleInstance() const;
41
42 void setSelected(bool state);
43
44 virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
45
46 bool activate(IDChangeLog* ChangeLog = 0);
47
48 void cleanup();
49
50 virtual bool showPropertiesDialog();
51
52 void setDrawAsActor(bool drawAsActor);
53 bool drawAsActor() const;
54
55 void setShowDestruction(bool bShow);
56 bool showDestruction() const;
57
58 int topMargin();
59
60 void setEndLine(int yPosition);
61 int getEndLineY();
62
63 void messageAdded(MessageWidget* message);
64 void messageRemoved(MessageWidget* message);
65
66 bool canTabUp();
67
68 bool messageOverlap(qreal y, MessageWidget* messageWidget);
69
70 virtual void setLineColorCmd(const QColor &color);
71
73
74 virtual void resizeWidget(qreal newW, qreal newH);
75
76 virtual void saveToXMI(QXmlStreamWriter& writer);
77 virtual bool loadFromXMI(QDomElement& qElement);
78
79public slots:
80 void slotMenuSelection(QAction* action);
81 virtual void slotFillColorChanged(Uml::ID::Type viewID);
82 void slotMessageMoved();
83
84protected:
85 virtual void mousePressEvent(QGraphicsSceneMouseEvent *me);
86 virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *me);
87
88 QSizeF minimumSize() const;
89
90 virtual void moveEvent(QGraphicsSceneMouseEvent *event);
91 virtual void moveWidgetBy(qreal diffX, qreal diffY);
92 virtual void constrainMovementForAllWidgets(qreal &diffX, qreal &diffY);
93
94 virtual QCursor resizeCursor() const;
95
96 void paintActor(QPainter *p);
97 void paintObject(QPainter *p);
98
99private:
100 void tabUp();
101 void tabDown();
102
103 void moveDestructionBy(qreal diffY);
104
111
112 friend class SeqLineWidget;
113};
114
115#endif
Definition: idchangelog.h:22
Displays a message.
Definition: messagewidget.h:36
Displays an instance of a Concept.
Definition: objectwidget.h:28
void slotMenuSelection(QAction *action)
Definition: objectwidget.cpp:168
bool canTabUp()
Definition: objectwidget.cpp:500
virtual void moveWidgetBy(qreal diffX, qreal diffY)
Definition: objectwidget.cpp:123
void messageAdded(MessageWidget *message)
Definition: objectwidget.cpp:559
ObjectWidget(UMLScene *scene, UMLObject *o)
Definition: objectwidget.cpp:52
virtual void setY(qreal y)
Definition: objectwidget.cpp:272
bool m_isOnDestructionBox
true when a click occurred on the destruction box
Definition: objectwidget.h:109
void tabUp()
Definition: objectwidget.cpp:465
virtual bool showPropertiesDialog()
Definition: objectwidget.cpp:380
bool m_drawAsActor
object should be drawn as an Actor or an Object
Definition: objectwidget.h:107
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *me)
Definition: objectwidget.cpp:318
virtual void mousePressEvent(QGraphicsSceneMouseEvent *me)
Definition: objectwidget.cpp:303
int topMargin()
Definition: objectwidget.cpp:490
void moveDestructionBy(qreal diffY)
Definition: objectwidget.cpp:343
virtual void setX(qreal x)
Definition: objectwidget.cpp:260
void paintActor(QPainter *p)
Definition: objectwidget.cpp:432
bool multipleInstance() const
Definition: objectwidget.cpp:95
virtual void setLineColorCmd(const QColor &color)
Definition: objectwidget.cpp:626
bool m_multipleInstance
draw an object as a multiple object
Definition: objectwidget.h:106
void setEndLine(int yPosition)
Definition: objectwidget.cpp:532
bool drawAsActor() const
Definition: objectwidget.cpp:236
bool messageOverlap(qreal y, MessageWidget *messageWidget)
Definition: objectwidget.cpp:607
virtual ~ObjectWidget()
Definition: objectwidget.cpp:70
void setSelected(bool state)
Definition: objectwidget.cpp:100
void messageRemoved(MessageWidget *message)
Definition: objectwidget.cpp:573
virtual bool loadFromXMI(QDomElement &qElement)
Definition: objectwidget.cpp:686
virtual void resizeWidget(qreal newW, qreal newH)
Definition: objectwidget.cpp:664
QSizeF minimumSize() const
Definition: objectwidget.cpp:196
void cleanup()
Definition: objectwidget.cpp:367
bool showDestruction() const
Definition: objectwidget.cpp:522
int getEndLineY()
Definition: objectwidget.cpp:544
bool activate(IDChangeLog *ChangeLog=0)
Definition: objectwidget.cpp:244
void paintObject(QPainter *p)
Definition: objectwidget.cpp:398
void setDrawAsActor(bool drawAsActor)
Definition: objectwidget.cpp:225
SeqLineWidget * sequentialLine() const
Definition: objectwidget.cpp:639
void setShowDestruction(bool bShow)
Definition: objectwidget.cpp:510
void slotMessageMoved()
Definition: objectwidget.cpp:586
virtual void moveEvent(QGraphicsSceneMouseEvent *event)
Definition: objectwidget.cpp:291
void tabDown()
Definition: objectwidget.cpp:477
bool m_showDestruction
show object destruction on sequence diagram line
Definition: objectwidget.h:108
virtual void constrainMovementForAllWidgets(qreal &diffX, qreal &diffY)
Definition: objectwidget.cpp:139
SeqLineWidget * m_pLine
Definition: objectwidget.h:105
virtual void slotFillColorChanged(Uml::ID::Type viewID)
Definition: objectwidget.cpp:355
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: objectwidget.cpp:673
qreal centerX()
Definition: objectwidget.cpp:283
virtual QCursor resizeCursor() const
Definition: objectwidget.cpp:651
void setMultipleInstance(bool multiple)
Definition: objectwidget.cpp:80
MessageWidgetList m_messages
message widgets with an end on this widget
Definition: objectwidget.h:110
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Definition: objectwidget.cpp:150
Widget class for graphical representation of sequence lines.
Definition: seqlinewidget.h:29
The base class for UML objects.
Definition: umlobject.h:70
Definition: umlscene.h:65
The base class for graphical UML objects.
Definition: umlwidget.h:36
int x
Definition: cxx11-lambda-functions-and-expressions.h:4
QList< QPointer< MessageWidget > > MessageWidgetList
Definition: messagewidgetlist.h:13
std::string Type
Definition: basictypes.h:371