umbrello  2.35.1
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
ListPopupMenu::mt_Reset_Label_Positions
@ mt_Reset_Label_Positions
Definition: listpopupmenu.h:191
WidgetBase::wt_Association
@ wt_Association
Definition: widgetbase.h:128
Uml::ModelType::Enum
Enum
Definition: basictypes.h:27
Uml::CmdSetTxt
Definition: cmdsettxt.h:15
UMLWidget::height
qreal height() const
Definition: umlwidget.h:112
AssociationWidget
This class represents an association inside a diagram. Bugs and comments to umbrello-devel@kde....
Definition: associationwidget.h:46
WidgetBase::onWidget
virtual UMLWidget * onWidget(const QPointF &p)
Definition: widgetbase.cpp:889
FloatingTextWidget::postText
QString postText() const
Definition: floatingtextwidget.cpp:287
LinkWidget::setCustomOpText
virtual void setCustomOpText(const QString &opText)=0
x
int x
Definition: cxx11-lambda-functions-and-expressions.h:4
WidgetBase::textColor
QColor textColor() const
Definition: widgetbase.cpp:347
ListPopupMenu::mt_Properties
@ mt_Properties
Definition: listpopupmenu.h:177
LinkWidget::resetTextPositions
virtual void resetTextPositions()
Definition: linkwidget.cpp:68
UMLWidget::setFont
virtual void setFont(const QFont &font)
Definition: umlwidget.cpp:2057
LinkWidget::constrainTextPos
virtual void constrainTextPos(qreal &textX, qreal &textY, qreal textWidth, qreal textHeight, Uml::TextRole::Enum tr)=0
AssociationWidget::setMultiplicity
void setMultiplicity(const QString &text, Uml::RoleType::Enum role)
Definition: associationwidget.cpp:1075
Uml::TextRole::Seq_Message
@ Seq_Message
Definition: basictypes.h:181
FloatingTextWidget::preText
QString preText() const
Definition: floatingtextwidget.cpp:276
Uml::TextRole::ChangeA
@ ChangeA
Definition: basictypes.h:188
FloatingTextWidget::m_preText
QString m_preText
Prepended text (such as for scope of association Role or method)
Definition: floatingtextwidget.h:100
umlview.h
UMLWidget
The base class for graphical UML objects.
Definition: umlwidget.h:35
WidgetBase::name
QString name() const
Definition: widgetbase.cpp:321
Uml::TextRole::RoleAName
@ RoleAName
Definition: basictypes.h:186
FloatingTextWidget::constrainMovementForAllWidgets
virtual void constrainMovementForAllWidgets(qreal &diffX, qreal &diffY)
Definition: floatingtextwidget.cpp:574
FloatingTextWidget::m_unconstrainedPositionY
qreal m_unconstrainedPositionY
The vertical position the widget would have if its move wasn't constrained.
Definition: floatingtextwidget.h:112
UMLWidget::FT_NORMAL
@ FT_NORMAL
Definition: umlwidget.h:218
UMLScene::activeView
UMLView * activeView() const
Definition: umlscene.cpp:354
Uml::Changeability::Changeable
@ Changeable
Definition: basictypes.h:203
FloatingTextWidget::showChangeTextDialog
void showChangeTextDialog()
Definition: floatingtextwidget.cpp:203
ClassifierWidget::getDrawAsCircle
bool getDrawAsCircle() const
Definition: classifierwidget.cpp:1279
LinkWidget::setOperation
virtual void setOperation(UMLOperation *op)=0
FloatingTextWidget::setText
void setText(const QString &t)
Definition: floatingtextwidget.cpp:105
classifierwidget.h
FloatingTextWidget::showPropertiesDialog
virtual bool showPropertiesDialog()
Definition: floatingtextwidget.cpp:252
operation.h
DEBUG_REGISTER_DISABLED
#define DEBUG_REGISTER_DISABLED(src)
Definition: debug_utils.h:135
Uml::ID::None
const Type None
special value for uninitialized ID
Definition: basictypes.h:373
FloatingTextWidget::m_linkWidget
LinkWidget * m_linkWidget
The association or message widget we may be linked to.
Definition: floatingtextwidget.h:95
Uml::RoleType::A
@ A
Definition: basictypes.h:237
FloatingTextWidget::textRole
Uml::TextRole::Enum textRole() const
Definition: floatingtextwidget.cpp:340
FloatingTextWidget::activate
bool activate(IDChangeLog *ChangeLog=0)
Definition: floatingtextwidget.cpp:298
associationpropertiesdialog.h
logError0
#define logError0(s)
Definition: uml.h:539
FloatingTextWidget::moveWidgetBy
virtual void moveWidgetBy(qreal diffX, qreal diffY)
Definition: floatingtextwidget.cpp:514
UMLScene::showOpSig
bool showOpSig() const
Definition: umlscene.cpp:3696
object_factory.h
FloatingTextWidget::onWidget
UMLWidget * onWidget(const QPointF &p)
Definition: floatingtextwidget.cpp:590
FloatingTextWidget::displayText
QString displayText() const
Definition: floatingtextwidget.cpp:158
association.h
cmds.h
AssociationWidget::setName
void setName(const QString &strRole)
Definition: associationwidget.cpp:891
UMLWidget::loadFromXMI
virtual bool loadFromXMI(QDomElement &qElement)
Definition: umlwidget.cpp:2210
FloatingTextWidget::m_movementDirectionY
int m_movementDirectionY
Definition: floatingtextwidget.h:120
Uml::CmdHandleRename
Definition: cmdhandlerename.h:15
FloatingTextWidget::setSequenceNumber
void setSequenceNumber(const QString &sequenceNumber)
Definition: floatingtextwidget.cpp:438
Dialog_Utils::askName
bool askName(const QString &title, const QString &prompt, QString &name)
Definition: dialog_utils.cpp:191
Uml::ID::Type
std::string Type
Definition: basictypes.h:371
Object_Factory::createChildObject
UMLClassifierListItem * createChildObject(UMLClassifier *parent, UMLObject::ObjectType type, const QString &name)
Definition: object_factory.cpp:304
FloatingTextWidget::isEmpty
bool isEmpty()
Definition: floatingtextwidget.cpp:174
MessageWidget::setY
virtual void setY(qreal y)
Definition: messagewidget.cpp:153
Uml::TextRole::Coll_Message_Self
@ Coll_Message_Self
Definition: basictypes.h:184
model_utils.h
LinkWidget::lwOperationText
virtual QString lwOperationText()=0
Uml::TextRole::Name
@ Name
Definition: basictypes.h:180
Uml::TextRole::RoleBName
@ RoleBName
Definition: basictypes.h:187
UMLObject::asUMLOperation
UMLOperation * asUMLOperation()
Definition: umlobject.cpp:1437
Uml::TextRole::Floating
@ Floating
Definition: basictypes.h:177
floatingtextwidget.h
FloatingTextWidget::m_SequenceNumber
QString m_SequenceNumber
Contains sequence number for sequence or collaboration diagram message.
Definition: floatingtextwidget.h:123
ListPopupMenu::mt_Operation
@ mt_Operation
Definition: listpopupmenu.h:107
UMLWidget::getFontMetrics
QFontMetrics & getFontMetrics(UMLWidget::FontType fontType) const
Definition: umlwidget.cpp:2038
WidgetBase::font
virtual QFont font() const
Definition: widgetbase.cpp:555
UMLWidget::showPropertiesDialog
virtual bool showPropertiesDialog()
Definition: umlwidget.cpp:1364
Uml::TextRole::Enum
Enum
Definition: basictypes.h:176
IDChangeLog
Definition: idchangelog.h:21
WidgetBase::wt_Pin
@ wt_Pin
Definition: widgetbase.h:134
Uml::TextRole::MultiA
@ MultiA
Definition: basictypes.h:178
UMLWidget::setX
virtual void setX(qreal x)
Definition: umlwidget.cpp:1765
Uml::TextRole::MultiB
@ MultiB
Definition: basictypes.h:179
FloatingTextWidget::handleRename
bool handleRename()
Definition: floatingtextwidget.cpp:349
WidgetBase::wt_Port
@ wt_Port
Definition: widgetbase.h:138
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
FloatingTextWidget::setMessageText
void setMessageText()
Definition: floatingtextwidget.cpp:779
umlwidget.h
LinkWidget::operationOwner
virtual UMLClassifier * operationOwner()
Definition: linkwidget.cpp:33
ListPopupMenu::mt_Select_Operation
@ mt_Select_Operation
Definition: listpopupmenu.h:176
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
i18n
#define i18n
Definition: main.cpp:35
Uml::TextRole::ChangeB
@ ChangeB
Definition: basictypes.h:189
messagewidget.h
Uml::TextRole::Seq_Message_Self
@ Seq_Message_Self
Definition: basictypes.h:182
ClassifierWidget
Common implementation for class widget and interface widget.
Definition: classifierwidget.h:27
basictypes.h
FloatingTextWidget::m_postText
QString m_postText
Ending text (such as bracket on changability notation for association Role)
Definition: floatingtextwidget.h:102
FloatingTextWidget
Displays a line of text or an operation.
Definition: floatingtextwidget.h:31
Uml::RoleType::B
@ B
Definition: basictypes.h:238
WidgetBase::m_scene
UMLScene * m_scene
Definition: widgetbase.h:345
FloatingTextWidget::m_textRole
Uml::TextRole::Enum m_textRole
The role the text widget will enact.
Definition: floatingtextwidget.h:104
Uml::TextRole::Coll_Message
@ Coll_Message
Definition: basictypes.h:183
ListPopupMenu::mt_Change_Font
@ mt_Change_Font
Definition: listpopupmenu.h:204
FloatingTextWidget::link
LinkWidget * link() const
Definition: floatingtextwidget.cpp:321
c
type show c for details The hypothetical commands show w and show c should show the appropriate parts of the General Public License Of the commands you use may be called something other than show w and show c
Definition: GPL-2.0-only.txt:301
FloatingTextWidget::paint
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Definition: floatingtextwidget.cpp:628
FloatingTextWidget::showOperationDialog
bool showOperationDialog(bool enableAutoIncrement=true)
Definition: floatingtextwidget.cpp:224
UMLApp::app
static UMLApp * app()
Definition: uml.cpp:349
UMLDoc::setModified
void setModified(bool modified=true)
Definition: umldoc.cpp:3195
WidgetBase
Common base class for UMLWidget and AssociationWidget.
Definition: widgetbase.h:100
LinkWidget
Interface to FloatingTextWidget for AssociationWidget and MessageWidget.
Definition: linkwidget.h:31
FloatingTextWidget::minimumSize
QSizeF minimumSize() const
Definition: floatingtextwidget.cpp:182
FloatingTextWidget::m_movementDirectionX
int m_movementDirectionX
Definition: floatingtextwidget.h:116
FloatingTextWidget::constrainPosition
QPointF constrainPosition(qreal diffX, qreal diffY)
Definition: floatingtextwidget.cpp:483
Uml
Definition: basictypes.cpp:22
LinkWidget::lwSetFont
virtual void lwSetFont(QFont font)=0
UMLWidget::setY
virtual void setY(qreal y)
Definition: umlwidget.cpp:1780
FloatingTextWidget::slotMenuSelection
virtual void slotMenuSelection(QAction *action)
Definition: floatingtextwidget.cpp:697
associationwidget.h
ListPopupMenu::mt_Delete
@ mt_Delete
Definition: listpopupmenu.h:181
SelectOperationDialog
A dialog to select an operation.
Definition: selectoperationdialog.h:27
LinkWidget::lwClassifier
virtual UMLClassifier * lwClassifier()=0
AssociationWidget::setChangeability
void setChangeability(Uml::Changeability::Enum value, Uml::RoleType::Enum role)
Definition: associationwidget.cpp:1142
FloatingTextWidget::setPostText
void setPostText(const QString &t)
Definition: floatingtextwidget.cpp:145
LinkWidget::setText
virtual void setText(FloatingTextWidget *ft, const QString &newText)=0
classifier.h
selectoperationdialog.h
UMLOperation
Definition: operation.h:19
FloatingTextWidget::loadFromXMI
virtual bool loadFromXMI(QDomElement &qElement)
Definition: floatingtextwidget.cpp:645
Uml::TextRole::fromInt
Enum fromInt(int item)
Definition: basictypes.cpp:650
WidgetBase::wt_Interface
@ wt_Interface
Definition: widgetbase.h:113
uml.h
UMLWidget::setSize
void setSize(qreal width, qreal height)
Definition: umlwidget.cpp:1831
FloatingTextWidget::setTextRole
void setTextRole(Uml::TextRole::Enum role)
Definition: floatingtextwidget.cpp:331
LinkWidget::calculateNameTextSegment
virtual void calculateNameTextSegment()
Definition: linkwidget.cpp:85
UMLClassifier
Information for a non-graphical Concept/Class.
Definition: classifier.h:34
debug_utils.h
WidgetBase::isInterfaceWidget
bool isInterfaceWidget() const
Definition: widgetbase.h:251
WidgetBase::WidgetType
WidgetType
Definition: widgetbase.h:106
UMLScene
Definition: umlscene.h:64
ListPopupMenu::typeFromAction
static MenuType typeFromAction(QAction *action)
Definition: listpopupmenu.cpp:406
LinkWidget::showPropertiesDialog
virtual bool showPropertiesDialog()
Definition: linkwidget.cpp:76
UMLWidget::updateGeometry
void updateGeometry(bool withAssocs=true)
Definition: umlwidget.cpp:1868
Model_Utils::newText
QString newText(UMLObject::ObjectType type)
Definition: model_utils.cpp:648
ListPopupMenu::mt_Rename
@ mt_Rename
Definition: listpopupmenu.h:178
listpopupmenu.h
UMLScene::removeWidget
void removeWidget(UMLWidget *o)
Definition: umlscene.cpp:1301
FloatingTextWidget::setTextcmd
void setTextcmd(const QString &t)
Definition: floatingtextwidget.cpp:195
FloatingTextWidget::setPreText
void setPreText(const QString &t)
Definition: floatingtextwidget.cpp:134
FloatingTextWidget::changeName
void changeName(const QString &newText)
Definition: floatingtextwidget.cpp:382
FloatingTextWidget::sequenceNumber
QString sequenceNumber() const
Definition: floatingtextwidget.cpp:446
UMLObject::ot_Operation
@ ot_Operation
Definition: umlobject.h:89
WidgetBase::setName
virtual void setName(const QString &strName)
Definition: widgetbase.cpp:334
dialog_utils.h
FloatingTextWidget::isTextValid
static bool isTextValid(const QString &text)
Definition: floatingtextwidget.cpp:458
linkwidget.h
UMLApp::executeCommand
void executeCommand(QUndoCommand *cmd)
Definition: uml.cpp:3623
FloatingTextWidget::text
QString text() const
Definition: floatingtextwidget.cpp:84
FloatingTextWidget::m_unconstrainedPositionX
qreal m_unconstrainedPositionX
The horizontal position the widget would have if its move wasn't constrained.
Definition: floatingtextwidget.h:109
UMLWidget::width
qreal width() const
Definition: umlwidget.h:119
FloatingTextWidget::FloatingTextWidget
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
WidgetBase::baseType
WidgetType baseType() const
Definition: widgetbase.cpp:127
FloatingTextWidget::saveToXMI
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: floatingtextwidget.cpp:672
UMLClassifierListItem
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:24
MessageWidget
Displays a message.
Definition: messagewidget.h:35
FloatingTextWidget::setLink
void setLink(LinkWidget *l)
Definition: floatingtextwidget.cpp:311
WidgetBase::m_Text
QString m_Text
Definition: widgetbase.h:348
UMLWidget::slotMenuSelection
virtual void slotMenuSelection(QAction *action)
Definition: umlwidget.cpp:775
UMLApp::document
UMLDoc * document() const
Definition: uml.cpp:1139
umldoc.h
ListPopupMenu::mt_New_Operation
@ mt_New_Operation
Definition: listpopupmenu.h:134
FloatingTextWidget::~FloatingTextWidget
virtual ~FloatingTextWidget()
Definition: floatingtextwidget.cpp:74
AssociationWidget::setRoleName
void setRoleName(const QString &strRole, Uml::RoleType::Enum role)
Definition: associationwidget.cpp:968
LinkWidget::setMessageText
virtual void setMessageText(FloatingTextWidget *ft)=0
UMLWidget::activate
virtual bool activate(IDChangeLog *changeLog=0)
Definition: umlwidget.cpp:1196
UMLWidget::paint
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Definition: umlwidget.cpp:1958
logDebug0
#define logDebug0(s)
Definition: uml.h:535