umbrello  2.37.2
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
floatingtextwidget.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 FLOATINGTEXTWIDGET_H
7 #define FLOATINGTEXTWIDGET_H
8 
9 #include "basictypes.h"
10 #include "umlwidget.h"
11 
12 class LinkWidget;
13 class UMLScene;
14 
32 {
33  Q_OBJECT
34 public:
36  const QString& text = QString(), Uml::ID::Type id = Uml::ID::None);
37  virtual ~FloatingTextWidget();
38 
39  QString text() const;
40  void setText(const QString &t);
41 
42  void setTextcmd(const QString &t);
43 
44  QString preText() const;
45  void setPreText(const QString &t);
46 
47  QString postText() const;
48  void setPostText(const QString &t);
49 
50  QString displayText() const;
51 
52  bool isEmpty();
53 
54  void showChangeTextDialog();
55  bool showOperationDialog(bool enableAutoIncrement = true);
56  virtual bool showPropertiesDialog();
57 
58  LinkWidget* link() const;
59  void setLink(LinkWidget * l);
60 
61  bool activate(IDChangeLog* ChangeLog = 0);
62 
65 
66  bool handleRename();
67  void changeName(const QString& newText);
68 
69  void setSequenceNumber(const QString &sequenceNumber);
70  QString sequenceNumber() const;
71 
72  static bool isTextValid(const QString &text);
73 
74  UMLWidget* onWidget(const QPointF& p);
75 
76  virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
77 
78  virtual void saveToXMI(QXmlStreamWriter& writer);
79  virtual bool loadFromXMI(QDomElement& qElement);
80 
81 public Q_SLOTS:
82  virtual void slotMenuSelection(QAction* action);
83  void setMessageText();
84 
85 protected:
86  QSizeF minimumSize() const;
87 
88  virtual void moveWidgetBy(qreal diffX, qreal diffY);
89  virtual void constrainMovementForAllWidgets(qreal &diffX, qreal &diffY);
90 
91 private:
92  QPointF constrainPosition(qreal diffX, qreal diffY);
93 
96 
98 
100  QString m_preText;
102  QString m_postText;
105 
107 
110 
113 
117 
121 
124 };
125 
126 #endif
Displays a line of text or an operation.
Definition: floatingtextwidget.h:32
void setPostText(const QString &t)
Definition: floatingtextwidget.cpp:145
qreal m_unconstrainedPositionX
The horizontal position the widget would have if its move wasn't constrained.
Definition: floatingtextwidget.h:109
QString m_SequenceNumber
Contains sequence number for sequence or collaboration diagram message.
Definition: floatingtextwidget.h:123
virtual void constrainMovementForAllWidgets(qreal &diffX, qreal &diffY)
Definition: floatingtextwidget.cpp:574
LinkWidget * m_linkWidget
The association or message widget we may be linked to.
Definition: floatingtextwidget.h:95
void setPreText(const QString &t)
Definition: floatingtextwidget.cpp:134
void showChangeTextDialog()
Definition: floatingtextwidget.cpp:203
virtual ~FloatingTextWidget()
Definition: floatingtextwidget.cpp:74
virtual bool showPropertiesDialog()
Definition: floatingtextwidget.cpp:252
QString m_preText
Prepended text (such as for scope of association Role or method)
Definition: floatingtextwidget.h:100
int m_movementDirectionY
Definition: floatingtextwidget.h:120
void setLink(LinkWidget *l)
Definition: floatingtextwidget.cpp:311
Uml::TextRole::Enum m_textRole
The role the text widget will enact.
Definition: floatingtextwidget.h:104
FloatingTextWidget(UMLScene *scene, Uml::TextRole::Enum role=Uml::TextRole::Floating, const QString &text=QString(), Uml::ID::Type id=Uml::ID::None)
Definition: floatingtextwidget.cpp:55
void setText(const QString &t)
Definition: floatingtextwidget.cpp:105
static bool isTextValid(const QString &text)
Definition: floatingtextwidget.cpp:458
virtual bool loadFromXMI(QDomElement &qElement)
Definition: floatingtextwidget.cpp:645
void setTextcmd(const QString &t)
Definition: floatingtextwidget.cpp:195
bool activate(IDChangeLog *ChangeLog=0)
Definition: floatingtextwidget.cpp:298
int m_movementDirectionX
Definition: floatingtextwidget.h:116
QString preText() const
Definition: floatingtextwidget.cpp:276
void setTextRole(Uml::TextRole::Enum role)
Definition: floatingtextwidget.cpp:331
QString postText() const
Definition: floatingtextwidget.cpp:287
QSizeF minimumSize() const
Definition: floatingtextwidget.cpp:182
void changeName(const QString &newText)
Definition: floatingtextwidget.cpp:382
bool showOperationDialog(bool enableAutoIncrement=true)
Definition: floatingtextwidget.cpp:224
virtual void moveWidgetBy(qreal diffX, qreal diffY)
Definition: floatingtextwidget.cpp:514
void setMessageText()
Definition: floatingtextwidget.cpp:779
QString text() const
Definition: floatingtextwidget.cpp:84
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: floatingtextwidget.cpp:672
UMLWidget * onWidget(const QPointF &p)
Definition: floatingtextwidget.cpp:590
bool isEmpty()
Definition: floatingtextwidget.cpp:174
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Definition: floatingtextwidget.cpp:628
LinkWidget * link() const
Definition: floatingtextwidget.cpp:321
qreal m_unconstrainedPositionY
The vertical position the widget would have if its move wasn't constrained.
Definition: floatingtextwidget.h:112
virtual void slotMenuSelection(QAction *action)
Definition: floatingtextwidget.cpp:697
bool handleRename()
Definition: floatingtextwidget.cpp:349
Uml::TextRole::Enum textRole() const
Definition: floatingtextwidget.cpp:340
QString displayText() const
Definition: floatingtextwidget.cpp:158
QString sequenceNumber() const
Definition: floatingtextwidget.cpp:446
QString m_postText
Ending text (such as bracket on changability notation for association Role)
Definition: floatingtextwidget.h:102
void setSequenceNumber(const QString &sequenceNumber)
Definition: floatingtextwidget.cpp:438
QPointF constrainPosition(qreal diffX, qreal diffY)
Definition: floatingtextwidget.cpp:483
Definition: idchangelog.h:22
Interface to FloatingTextWidget for AssociationWidget and MessageWidget.
Definition: linkwidget.h:32
Definition: umlscene.h:65
The base class for graphical UML objects.
Definition: umlwidget.h:36
QString newText(UMLObject::ObjectType type)
Definition: model_utils.cpp:648
const Type None
special value for uninitialized ID
Definition: basictypes.h:373
std::string Type
Definition: basictypes.h:371
Enum
Definition: basictypes.h:176
@ Floating
Definition: basictypes.h:177