umbrello  2.39.2
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
linkwidget.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2004-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef LINKWIDGET_H
7 #define LINKWIDGET_H
8 
9 #include "basictypes.h"
10 #include "umlscene.h"
11 
12 #include <QFont>
13 
14 // forward declarations
15 class UMLClassifier;
16 class UMLOperation;
17 class FloatingTextWidget;
18 class QXmlStreamWriter;
19 
32 {
33 public:
34  LinkWidget();
35  virtual ~LinkWidget();
36 
44  virtual void lwSetFont(QFont font) = 0;
45 
46  virtual UMLClassifier *operationOwner();
47 
51  virtual UMLOperation *operation() = 0;
52 
56  virtual void setOperation(UMLOperation *op) = 0;
57 
61  virtual QString customOpText() = 0;
62 
66  virtual void setCustomOpText(const QString &opText) = 0;
67 
68  QString operationText(UMLScene *scene = 0);
69 
70  virtual void resetTextPositions();
71 
75  virtual void setMessageText(FloatingTextWidget *ft) = 0;
76 
80  virtual void setText(FloatingTextWidget *ft, const QString &newText) = 0;
81 
82  virtual bool showPropertiesDialog();
83 
87  virtual QString lwOperationText() = 0;
88 
92  virtual UMLClassifier *lwClassifier() = 0;
93 
97  virtual void setOperationText(const QString &op) = 0;
98 
103  virtual void constrainTextPos(qreal &textX, qreal &textY,
104  qreal textWidth, qreal textHeight,
105  Uml::TextRole::Enum tr) = 0;
106 
107  virtual void calculateNameTextSegment();
108 
109  void setSequenceNumber(const QString &sequenceNumber);
110  QString sequenceNumber() const;
111 
112  virtual bool loadFromXMI(QDomElement &qElement);
113  virtual void saveToXMI(QXmlStreamWriter& writer);
114 
115 protected:
117 };
118 
119 #endif
Displays a line of text or an operation.
Definition: floatingtextwidget.h:32
Interface to FloatingTextWidget for AssociationWidget and MessageWidget.
Definition: linkwidget.h:32
virtual UMLClassifier * operationOwner()
Definition: linkwidget.cpp:33
virtual UMLOperation * operation()=0
virtual ~LinkWidget()
Definition: linkwidget.cpp:26
virtual void setMessageText(FloatingTextWidget *ft)=0
virtual void constrainTextPos(qreal &textX, qreal &textY, qreal textWidth, qreal textHeight, Uml::TextRole::Enum tr)=0
QString m_SequenceNumber
Definition: linkwidget.h:116
QString sequenceNumber() const
Definition: linkwidget.cpp:100
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: linkwidget.cpp:117
virtual void setCustomOpText(const QString &opText)=0
void setSequenceNumber(const QString &sequenceNumber)
Definition: linkwidget.cpp:92
virtual void setOperationText(const QString &op)=0
virtual void resetTextPositions()
Definition: linkwidget.cpp:68
virtual void lwSetFont(QFont font)=0
virtual QString lwOperationText()=0
virtual UMLClassifier * lwClassifier()=0
LinkWidget()
Definition: linkwidget.cpp:22
virtual bool loadFromXMI(QDomElement &qElement)
Definition: linkwidget.cpp:108
virtual bool showPropertiesDialog()
Definition: linkwidget.cpp:75
virtual void setOperation(UMLOperation *op)=0
QString operationText(UMLScene *scene=0)
Definition: linkwidget.cpp:48
virtual void setText(FloatingTextWidget *ft, const QString &newText)=0
virtual void calculateNameTextSegment()
Definition: linkwidget.cpp:84
virtual QString customOpText()=0
Information for a non-graphical Concept/Class.
Definition: classifier.h:35
Definition: operation.h:20
Definition: umlscene.h:65
QString newText(UMLObject::ObjectType type)
Definition: model_utils.cpp:648
Enum
Definition: basictypes.h:176