umbrello  2.39.2
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
signalwidget.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 SIGNALWIDGET_H
7 #define SIGNALWIDGET_H
8 
9 #include "floatingtextwidget.h"
10 #include "linkwidget.h"
11 #include "umlwidget.h"
12 #include "worktoolbar.h"
13 
14 #define SIGNAL_MARGIN 5
15 #define SIGNAL_WIDTH 45
16 #define SIGNAL_HEIGHT 15
17 
22 class SignalWidget : public UMLWidget
23 {
24  Q_OBJECT
25  Q_ENUMS(SignalType)
26 public:
29  {
30  Send = 0,
32  Time
33  };
34 
36  virtual ~SignalWidget();
37 
38  virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
39 
40  void setX(qreal newX);
41  void setY(qreal newY);
42 
43  virtual void setName(const QString &strName);
44 
45  SignalType signalType() const;
46  QString signalTypeStr() const;
48 
49  virtual bool showPropertiesDialog();
50 
51  void mouseMoveEvent(QGraphicsSceneMouseEvent *me);
52 
53  virtual bool loadFromXMI(QDomElement & qElement);
54  virtual void saveToXMI(QXmlStreamWriter& writer);
55 
56 public Q_SLOTS:
57  virtual void slotMenuSelection(QAction* action);
58 
59 protected:
60  QSizeF minimumSize() const;
61 
65  int m_oldX;
66  int m_oldY;
67 
68  // Only for the time event
74 
76 
77 protected Q_SLOTS:
78  void slotTextDestroyed();
79 };
80 
81 #endif
Displays a line of text or an operation.
Definition: floatingtextwidget.h:32
Definition: signalwidget.h:23
virtual ~SignalWidget()
Definition: signalwidget.cpp:58
QSizeF minimumSize() const
Definition: signalwidget.cpp:343
virtual bool loadFromXMI(QDomElement &qElement)
Definition: signalwidget.cpp:251
void setY(qreal newY)
Definition: signalwidget.cpp:176
void setSignalType(SignalType signalType)
Definition: signalwidget.cpp:221
void slotTextDestroyed()
Definition: signalwidget.cpp:367
SignalType
Enumeration that codes the different types of signal.
Definition: signalwidget.h:29
@ Time
Definition: signalwidget.h:32
@ Send
Definition: signalwidget.h:30
@ Accept
Definition: signalwidget.h:31
int m_oldY
Definition: signalwidget.h:66
void mouseMoveEvent(QGraphicsSceneMouseEvent *me)
Definition: signalwidget.cpp:237
virtual void setName(const QString &strName)
Definition: signalwidget.cpp:185
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Definition: signalwidget.cpp:65
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: signalwidget.cpp:301
int m_oldX
Definition: signalwidget.h:65
SignalWidget(UMLScene *scene, SignalType signalType=Send, Uml::ID::Type id=Uml::ID::None)
Definition: signalwidget.cpp:39
virtual bool showPropertiesDialog()
Definition: signalwidget.cpp:229
QString signalTypeStr() const
Definition: signalwidget.cpp:213
SignalType signalType() const
Definition: signalwidget.cpp:205
void setX(qreal newX)
Definition: signalwidget.cpp:167
FloatingTextWidget * m_pName
Definition: signalwidget.h:73
virtual void slotMenuSelection(QAction *action)
Definition: signalwidget.cpp:319
SignalType m_signalType
Type of signal.
Definition: signalwidget.h:75
Definition: umlscene.h:65
The base class for graphical UML objects.
Definition: umlwidget.h:36
const Type None
special value for uninitialized ID
Definition: basictypes.h:373
std::string Type
Definition: basictypes.h:371