umbrello  2.31.70
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  * This program is free software; you can redistribute it and/or modify *
3  * it under the terms of the GNU General Public License as published by *
4  * the Free Software Foundation; either version 2 of the License, or *
5  * (at your option) any later version. *
6  * *
7  * copyright (C) 2002-2020 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 
11 #ifndef FLOATINGTEXTWIDGET_H
12 #define FLOATINGTEXTWIDGET_H
13 
14 #include "basictypes.h"
15 #include "umlwidget.h"
16 
17 class LinkWidget;
18 class UMLScene;
19 
37 {
38  Q_OBJECT
39 public:
41  const QString& text = QString(), Uml::ID::Type id = Uml::ID::None);
42  virtual ~FloatingTextWidget();
43 
44  QString text() const;
45  void setText(const QString &t);
46 
47  void setTextcmd(const QString &t);
48 
49  QString preText() const;
50  void setPreText(const QString &t);
51 
52  QString postText() const;
53  void setPostText(const QString &t);
54 
55  QString displayText() const;
56 
57  bool isEmpty();
58 
59  void showChangeTextDialog();
60  bool showOperationDialog(bool enableAutoIncrement = true);
61  virtual bool showPropertiesDialog();
62 
63  LinkWidget* link() const;
64  void setLink(LinkWidget * l);
65 
66  bool activate(IDChangeLog* ChangeLog = 0);
67 
70 
71  bool handleRename();
72  void changeName(const QString& newText);
73 
74  void setSequenceNumber(const QString &sequenceNumber);
75  QString sequenceNumber() const;
76 
77  static bool isTextValid(const QString &text);
78 
79  UMLWidget* onWidget(const QPointF& p);
80 
81  virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
82 
83  virtual void saveToXMI1(QDomDocument& qDoc, QDomElement& qElement);
84  virtual bool loadFromXMI1(QDomElement& qElement);
85 
86 public Q_SLOTS:
87  virtual void slotMenuSelection(QAction* action);
88  void setMessageText();
89 
90 protected:
91  QSizeF minimumSize() const;
92 
93  virtual void moveWidgetBy(qreal diffX, qreal diffY);
94  virtual void constrainMovementForAllWidgets(qreal &diffX, qreal &diffY);
95 
96 private:
97  QPointF constrainPosition(qreal diffX, qreal diffY);
98 
101 
103 
105  QString m_preText;
107  QString m_postText;
110 
112 
115 
118 
122 
126 
129 };
130 
131 #endif
bool handleRename()
Definition: floatingtextwidget.cpp:353
virtual bool loadFromXMI1(QDomElement &qElement)
Definition: floatingtextwidget.cpp:649
QString sequenceNumber() const
Definition: floatingtextwidget.cpp:450
QString m_preText
Prepended text (such as for scope of association Role or method)
Definition: floatingtextwidget.h:105
void setTextRole(Uml::TextRole::Enum role)
Definition: floatingtextwidget.cpp:335
QString m_SequenceNumber
Contains sequence number for sequence or collaboration diagram message.
Definition: floatingtextwidget.h:128
qreal m_unconstrainedPositionY
The vertical position the widget would have if its move wasn&#39;t constrained.
Definition: floatingtextwidget.h:117
Interface to FloatingTextWidget for AssociationWidget and MessageWidget.
Definition: linkwidget.h:35
UMLWidget * onWidget(const QPointF &p)
Definition: floatingtextwidget.cpp:594
void setPostText(const QString &t)
Definition: floatingtextwidget.cpp:149
virtual void constrainMovementForAllWidgets(qreal &diffX, qreal &diffY)
Definition: floatingtextwidget.cpp:578
int m_movementDirectionX
Definition: floatingtextwidget.h:121
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Definition: floatingtextwidget.cpp:632
Definition: idchangelog.h:26
QString m_postText
Ending text (such as bracket on changability notation for association Role)
Definition: floatingtextwidget.h:107
void setTextcmd(const QString &t)
Definition: floatingtextwidget.cpp:199
void setLink(LinkWidget *l)
Definition: floatingtextwidget.cpp:315
LinkWidget * link() const
Definition: floatingtextwidget.cpp:325
QString text() const
Definition: floatingtextwidget.cpp:88
Uml::TextRole::Enum textRole() const
Definition: floatingtextwidget.cpp:344
Definition: basictypes.h:179
FloatingTextWidget(UMLScene *scene, Uml::TextRole::Enum role=Uml::TextRole::Floating, const QString &text=QString(), Uml::ID::Type id=Uml::ID::None)
Definition: floatingtextwidget.cpp:59
void setMessageText()
Definition: floatingtextwidget.cpp:783
QString preText() const
Definition: floatingtextwidget.cpp:280
bool isEmpty()
Definition: floatingtextwidget.cpp:178
virtual void slotMenuSelection(QAction *action)
Definition: floatingtextwidget.cpp:701
QString postText() const
Definition: floatingtextwidget.cpp:291
virtual void saveToXMI1(QDomDocument &qDoc, QDomElement &qElement)
Definition: floatingtextwidget.cpp:676
void setSequenceNumber(const QString &sequenceNumber)
Definition: floatingtextwidget.cpp:442
std::string Type
Definition: basictypes.h:351
Enum
Definition: basictypes.h:178
void setPreText(const QString &t)
Definition: floatingtextwidget.cpp:138
virtual ~FloatingTextWidget()
Definition: floatingtextwidget.cpp:78
qreal m_unconstrainedPositionX
The horizontal position the widget would have if its move wasn&#39;t constrained.
Definition: floatingtextwidget.h:114
Uml::TextRole::Enum m_textRole
The role the text widget will enact.
Definition: floatingtextwidget.h:109
Displays a line of text or an operation.
Definition: floatingtextwidget.h:36
int m_movementDirectionY
Definition: floatingtextwidget.h:125
virtual bool showPropertiesDialog()
Definition: floatingtextwidget.cpp:256
static bool isTextValid(const QString &text)
Definition: floatingtextwidget.cpp:462
void changeName(const QString &newText)
Definition: floatingtextwidget.cpp:386
QSizeF minimumSize() const
Definition: floatingtextwidget.cpp:186
LinkWidget * m_linkWidget
The association or message widget we may be linked to.
Definition: floatingtextwidget.h:100
QString newText(UMLObject::ObjectType type)
Definition: model_utils.cpp:620
virtual void moveWidgetBy(qreal diffX, qreal diffY)
Definition: floatingtextwidget.cpp:518
const Type None
special value for uninitialized ID
Definition: basictypes.h:353
void showChangeTextDialog()
Definition: floatingtextwidget.cpp:207
bool activate(IDChangeLog *ChangeLog=0)
Definition: floatingtextwidget.cpp:302
Definition: umlscene.h:68
bool showOperationDialog(bool enableAutoIncrement=true)
Definition: floatingtextwidget.cpp:228
QString displayText() const
Definition: floatingtextwidget.cpp:162
QPointF constrainPosition(qreal diffX, qreal diffY)
Definition: floatingtextwidget.cpp:487
void setText(const QString &t)
Definition: floatingtextwidget.cpp:109
The base class for graphical UML objects.
Definition: umlwidget.h:40