umbrello  2.35.0
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 
12 class MessageWidget;
13 class SeqLineWidget;
14 class UMLScene;
15 
27 class ObjectWidget : public UMLWidget
28 {
29  Q_OBJECT
30 public:
31  ObjectWidget(UMLScene *scene, UMLObject *o);
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 
79 public slots:
80  void slotMenuSelection(QAction* action);
81  virtual void slotFillColorChanged(Uml::ID::Type viewID);
82  void slotMessageMoved();
83 
84 protected:
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 
99 private:
100  void tabUp();
101  void tabDown();
102 
103  void moveDestructionBy(qreal diffY);
104 
111 
112  friend class SeqLineWidget;
113 };
114 
115 #endif
A_WIDTH
#define A_WIDTH
Definition: objectwidget.cpp:34
document
GNU GENERAL PUBLIC LICENSE June Free Software Inc Franklin Fifth USA Everyone is permitted to copy and distribute verbatim copies of this license document
Definition: GPL-2.0-only.txt:8
ObjectWidget::saveToXMI
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: objectwidget.cpp:673
ObjectWidget::messageRemoved
void messageRemoved(MessageWidget *message)
Definition: objectwidget.cpp:573
UMLWidget::height
qreal height() const
Definition: umlwidget.h:112
messagewidgetlist.h
UMLWidget::resize
void resize()
Definition: umlwidget.cpp:1526
ObjectWidget::setMultipleInstance
void setMultipleInstance(bool multiple)
Definition: objectwidget.cpp:80
UMLScene::isSequenceDiagram
bool isSequenceDiagram() const
Definition: umlscene.h:312
x
int x
Definition: cxx11-lambda-functions-and-expressions.h:4
WidgetBase::textColor
QColor textColor() const
Definition: widgetbase.cpp:347
ObjectWidget::m_multipleInstance
bool m_multipleInstance
draw an object as a multiple object
Definition: objectwidget.h:106
ObjectWidget::slotMessageMoved
void slotMessageMoved()
Definition: objectwidget.cpp:586
ListPopupMenu::mt_Properties
@ mt_Properties
Definition: listpopupmenu.h:177
seqlinewidget.h
docwindow.h
umlview.h
UMLWidget
The base class for graphical UML objects.
Definition: umlwidget.h:35
UMLScene::isCollaborationDiagram
bool isCollaborationDiagram() const
Definition: umlscene.h:313
WidgetBase::name
QString name() const
Definition: widgetbase.cpp:321
ObjectWidget::topMargin
int topMargin()
Definition: objectwidget.cpp:490
ObjectWidget::tabUp
void tabUp()
Definition: objectwidget.cpp:465
UMLWidget::setPenFromSettings
void setPenFromSettings(QPainter &p)
Definition: umlwidget.cpp:1398
SeqLineWidget::setupDestructionBox
void setupDestructionBox()
Definition: seqlinewidget.cpp:133
ObjectWidget::messageAdded
void messageAdded(MessageWidget *message)
Definition: objectwidget.cpp:559
SeqLineWidget::getLineLength
int getLineLength() const
Definition: seqlinewidget.h:49
WidgetBase::useFillColor
bool useFillColor() const
Definition: widgetbase.cpp:431
sequenceLineMargin
static const int sequenceLineMargin
Definition: objectwidget.cpp:44
ObjectWidget::ObjectWidget
ObjectWidget(UMLScene *scene, UMLObject *o)
Definition: objectwidget.cpp:52
DEBUG_REGISTER_DISABLED
#define DEBUG_REGISTER_DISABLED(src)
Definition: debug_utils.h:135
ObjectWidget::resizeCursor
virtual QCursor resizeCursor() const
Definition: objectwidget.cpp:651
DEBUG
#define DEBUG()
Definition: debug_utils.h:127
ObjectWidget::resizeWidget
virtual void resizeWidget(qreal newW, qreal newH)
Definition: objectwidget.cpp:664
ObjectWidget::tabDown
void tabDown()
Definition: objectwidget.cpp:477
UMLScene::backgroundColor
const QColor & backgroundColor() const
Definition: umlscene.cpp:1382
UMLWidget::setLineColor
virtual void setLineColor(const QColor &color)
Definition: umlwidget.cpp:1144
ObjectWidget::showDestruction
bool showDestruction() const
Definition: objectwidget.cpp:522
UMLWidget::cleanup
virtual void cleanup()
Definition: umlwidget.cpp:1792
logError1
#define logError1(s, a)
Definition: uml.h:545
DocWindow::updateDocumentation
void updateDocumentation(bool clear=false, bool startup=false)
Definition: docwindow.cpp:268
UMLWidget::loadFromXMI
virtual bool loadFromXMI(QDomElement &qElement)
Definition: umlwidget.cpp:2210
Uml::ID::Type
std::string Type
Definition: basictypes.h:371
ObjectWidget::setDrawAsActor
void setDrawAsActor(bool drawAsActor)
Definition: objectwidget.cpp:225
ObjectWidget::setSelected
void setSelected(bool state)
Definition: objectwidget.cpp:100
UMLWidget::m_oldPos
QPointF m_oldPos
The X/Y position the widget had when the movement started.
Definition: umlwidget.h:330
UMLScene::fillColor
const QColor & fillColor() const
Definition: umlscene.cpp:480
ObjectWidget::moveEvent
virtual void moveEvent(QGraphicsSceneMouseEvent *event)
Definition: objectwidget.cpp:291
ClassPropertiesDialog
Definition: classpropertiesdialog.h:29
UMLObject
The base class for UML objects.
Definition: umlobject.h:69
UMLWidget::FT_UNDERLINE
@ FT_UNDERLINE
Definition: umlwidget.h:221
ObjectWidget::setShowDestruction
void setShowDestruction(bool bShow)
Definition: objectwidget.cpp:510
SeqLineWidget::cleanup
void cleanup()
Definition: seqlinewidget.cpp:98
ObjectWidget::slotMenuSelection
void slotMenuSelection(QAction *action)
Definition: objectwidget.cpp:168
A_MARGIN
#define A_MARGIN
Definition: objectwidget.cpp:36
UMLWidget::getFontMetrics
QFontMetrics & getFontMetrics(UMLWidget::FontType fontType) const
Definition: umlwidget.cpp:2038
WidgetBase::font
virtual QFont font() const
Definition: widgetbase.cpp:555
ObjectWidget::slotFillColorChanged
virtual void slotFillColorChanged(Uml::ID::Type viewID)
Definition: objectwidget.cpp:355
ObjectWidget::getEndLineY
int getEndLineY()
Definition: objectwidget.cpp:544
ObjectWidget::m_showDestruction
bool m_showDestruction
show object destruction on sequence diagram line
Definition: objectwidget.h:108
IDChangeLog
Definition: idchangelog.h:21
WidgetBase::fillColor
QColor fillColor() const
Definition: widgetbase.cpp:389
UMLWidget::sigWidgetMoved
void sigWidgetMoved(Uml::ID::Type id)
Definition: moc_umlwidget.cpp:176
UMLWidget::setX
virtual void setX(qreal x)
Definition: umlwidget.cpp:1765
ObjectWidget::setLineColorCmd
virtual void setLineColorCmd(const QColor &color)
Definition: objectwidget.cpp:626
MessageWidgetList
QList< QPointer< MessageWidget > > MessageWidgetList
Definition: messagewidgetlist.h:13
UMLWidget::setSelected
virtual void setSelected(bool _select)
Definition: umlwidget.cpp:1617
UMLApp::docWindow
DocWindow * docWindow() const
Definition: uml.cpp:1995
number
it is up to the author donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License If the distribution and or use of the Library is restricted in certain countries either by patents or by copyrighted the original copyright holder who places the Library under this License may add an geographical distribution limitation excluding those so that distribution is permitted only in or among countries not thus excluded In such this License incorporates the limitation as if written in the body of this License The Free Software Foundation may publish revised and or new versions of the Library General Public License from time to time Such new versions will be similar in spirit to the present but may differ in detail to address new problems or concerns Each version is given a distinguishing version number If the Library specifies a version number of this License which applies to it and any later you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation If the Library does not specify a license version number
Definition: LGPL-2.0-only.txt:368
WidgetBase::m_nLocalID
Uml::ID::Type m_nLocalID
Definition: widgetbase.h:361
objectwidget.h
ObjectWidget::setX
virtual void setX(qreal x)
Definition: objectwidget.cpp:260
ObjectWidget::minimumSize
QSizeF minimumSize() const
Definition: objectwidget.cpp:196
umlwidget.h
UMLScene::type
Uml::DiagramType::Enum type() const
Definition: umlscene.cpp:432
SeqLineWidget
Widget class for graphical representation of sequence lines.
Definition: seqlinewidget.h:28
ListPopupMenu::MenuType
MenuType
< This type hosts all possible menu entry types
Definition: listpopupmenu.h:38
UMLWidget::saveToXMI
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: umlwidget.cpp:2188
ListPopupMenu::mt_Down
@ mt_Down
Definition: listpopupmenu.h:213
ObjectWidget::loadFromXMI
virtual bool loadFromXMI(QDomElement &qElement)
Definition: objectwidget.cpp:686
messagewidget.h
ObjectWidget::centerX
qreal centerX()
Definition: objectwidget.cpp:283
UMLScene::lineColor
const QColor & lineColor() const
Definition: umlscene.cpp:499
UMLWidget::setFillColor
virtual void setFillColor(const QColor &color)
Definition: umlwidget.cpp:1175
A_HEIGHT
#define A_HEIGHT
Definition: objectwidget.cpp:35
ObjectWidget::showPropertiesDialog
virtual bool showPropertiesDialog()
Definition: objectwidget.cpp:380
int
int int y int
Definition: cxx11-lambda-functions-and-expressions.h:4
WidgetBase::m_scene
UMLScene * m_scene
Definition: widgetbase.h:345
ObjectWidget::mouseMoveEvent
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *me)
Definition: objectwidget.cpp:318
ObjectWidget::paintActor
void paintActor(QPainter *p)
Definition: objectwidget.cpp:432
UMLApp::app
static UMLApp * app()
Definition: uml.cpp:349
ObjectWidget::~ObjectWidget
virtual ~ObjectWidget()
Definition: objectwidget.cpp:70
O_WIDTH
#define O_WIDTH
Definition: objectwidget.cpp:33
UMLWidget::setLineColorCmd
virtual void setLineColorCmd(const QColor &color)
Definition: umlwidget.cpp:1135
UMLDoc::setModified
void setModified(bool modified=true)
Definition: umldoc.cpp:3195
ObjectWidget::moveWidgetBy
virtual void moveWidgetBy(qreal diffX, qreal diffY)
Definition: objectwidget.cpp:123
WidgetBase
Common base class for UMLWidget and AssociationWidget.
Definition: widgetbase.h:100
UMLWidget::mousePressEvent
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event)
Definition: umlwidget.cpp:361
ObjectWidget::m_drawAsActor
bool m_drawAsActor
object should be drawn as an Actor or an Object
Definition: objectwidget.h:107
ObjectWidget::constrainMovementForAllWidgets
virtual void constrainMovementForAllWidgets(qreal &diffX, qreal &diffY)
Definition: objectwidget.cpp:139
Uml::DiagramType::Sequence
@ Sequence
Definition: basictypes.h:69
ObjectWidget::activate
bool activate(IDChangeLog *ChangeLog=0)
Definition: objectwidget.cpp:244
UMLWidget::setY
virtual void setY(qreal y)
Definition: umlwidget.cpp:1780
UMLWidget::adjustAssocs
virtual void adjustAssocs(qreal dx, qreal dy)
Definition: umlwidget.cpp:1314
UMLWidget::m_instanceName
QString m_instanceName
instance name (used if on a deployment diagram)
Definition: umlwidget.h:296
ObjectWidget::messageOverlap
bool messageOverlap(qreal y, MessageWidget *messageWidget)
Definition: objectwidget.cpp:607
DocWindow::showDocumentation
void showDocumentation(UMLObject *object, bool overwrite=false)
Definition: docwindow.cpp:125
ObjectWidget::m_pLine
SeqLineWidget * m_pLine
Definition: objectwidget.h:105
ObjectWidget::moveDestructionBy
void moveDestructionBy(qreal diffY)
Definition: objectwidget.cpp:343
WidgetBase::lineColor
QColor lineColor() const
Definition: widgetbase.cpp:368
UMLWidget::m_inResizeArea
bool m_inResizeArea
Definition: umlwidget.h:342
ObjectWidget
Displays an instance of a Concept.
Definition: objectwidget.h:27
umlscene.h
uml.h
ListPopupMenu::mt_Up
@ mt_Up
Definition: listpopupmenu.h:212
UMLWidget::setSize
void setSize(qreal width, qreal height)
Definition: umlwidget.cpp:1831
debug_utils.h
UMLScene
Definition: umlscene.h:64
ListPopupMenu::typeFromAction
static MenuType typeFromAction(QAction *action)
Definition: listpopupmenu.cpp:406
ObjectWidget::drawAsActor
bool drawAsActor() const
Definition: objectwidget.cpp:236
WidgetBase::lineWidth
uint lineWidth() const
Definition: widgetbase.cpp:410
UMLWidget::updateGeometry
void updateGeometry(bool withAssocs=true)
Definition: umlwidget.cpp:1868
umlobject.h
classpropertiesdialog.h
SeqLineWidget::setStartPoint
void setStartPoint(int startX, int startY)
Definition: seqlinewidget.cpp:109
listpopupmenu.h
ObjectWidget::setY
virtual void setY(qreal y)
Definition: objectwidget.cpp:272
ObjectWidget::multipleInstance
bool multipleInstance() const
Definition: objectwidget.cpp:95
ObjectWidget::mousePressEvent
virtual void mousePressEvent(QGraphicsSceneMouseEvent *me)
Definition: objectwidget.cpp:303
ObjectWidget::setEndLine
void setEndLine(int yPosition)
Definition: objectwidget.cpp:532
O_MARGIN
#define O_MARGIN
Definition: objectwidget.cpp:32
dialog_utils.h
UMLWidget::mouseMoveEvent
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event)
Definition: umlwidget.cpp:455
ObjectWidget::paint
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Definition: objectwidget.cpp:150
ObjectWidget::canTabUp
bool canTabUp()
Definition: objectwidget.cpp:500
ObjectWidget::cleanup
void cleanup()
Definition: objectwidget.cpp:367
SeqLineWidget::onDestructionBox
bool onDestructionBox(const QPointF &p)
Definition: seqlinewidget.cpp:77
UMLWidget::width
qreal width() const
Definition: umlwidget.h:119
SeqLineWidget::setLineColorCmd
void setLineColorCmd(const QColor &color)
Definition: seqlinewidget.cpp:197
MessageWidget
Displays a message.
Definition: messagewidget.h:35
SeqLineWidget::setEndOfLine
void setEndOfLine(int yPosition)
Definition: seqlinewidget.cpp:182
UMLWidget::slotMenuSelection
virtual void slotMenuSelection(QAction *action)
Definition: umlwidget.cpp:775
UMLApp::document
UMLDoc * document() const
Definition: uml.cpp:1139
umldoc.h
ObjectWidget::sequentialLine
SeqLineWidget * sequentialLine() const
Definition: objectwidget.cpp:639
UMLWidget::activate
virtual bool activate(IDChangeLog *changeLog=0)
Definition: umlwidget.cpp:1196
ObjectWidget::paintObject
void paintObject(QPainter *p)
Definition: objectwidget.cpp:398
UMLWidget::paint
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Definition: umlwidget.cpp:1958
ObjectWidget::m_messages
MessageWidgetList m_messages
message widgets with an end on this widget
Definition: objectwidget.h:110
ObjectWidget::m_isOnDestructionBox
bool m_isOnDestructionBox
true when a click occurred on the destruction box
Definition: objectwidget.h:109