umbrello  26.08.2
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
umloperation.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2002-2022 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef OPERATION_H
7 #define OPERATION_H
8 
9 #include "umlattributelist.h"
10 #include "umlclassifierlistitem.h"
11 
12 class UMLClassifier;
13 
20 {
21  Q_OBJECT
22 public:
23  UMLOperation(UMLClassifier * parent, const QString& name,
26  UMLObject *rt = nullptr);
27  explicit UMLOperation(UMLClassifier * parent);
28  virtual ~UMLOperation();
29 
30  bool operator==(const UMLOperation & rhs) const;
31 
32  virtual void copyInto(UMLObject *lhs) const;
33 
34  virtual UMLObject* clone() const;
35 
36  void setType(UMLObject* type);
37 
40 
41  void removeParameter(UMLAttribute *a, bool emitModifiedSignal = true);
42 
44 
45  UMLAttribute * findParameter(const QString &name) const;
46 
48  bool withStereotype=false) const;
49 
50  void addParameter(UMLAttribute *parameter, int position = -1);
51 
52  bool resolveRef();
53 
54  QString getUniqueParameterName() const;
55 
56  virtual bool showPropertiesDialog(QWidget *parent = nullptr);
57 
58  bool isConstructorOperation() const;
59  bool isDestructorOperation() const;
60  bool isLifeOperation() const;
61 
62  void setConst(bool b);
63  bool getConst() const;
64  void setOverride(bool b);
65  bool getOverride() const;
66  void setFinal(bool b);
67  bool getFinal() const;
68  void setVirtual(bool b);
69  bool isVirtual() const;
70  void setInline(bool b);
71  bool isInline() const;
72 
73  void setSourceCode(const QString& code);
74  QString getSourceCode() const;
75 
76  void saveToXMI(QXmlStreamWriter& writer);
77 
78 protected:
79  bool load1(QDomElement & element);
80 
81 private:
84  bool m_bConst;
85  bool m_bOverride;
86  bool m_bFinal;
87  bool m_bVirtual;
88  bool m_bInline;
89  QString m_Code;
90 };
91 
92 #endif
void saveToXMI(QXmlStreamWriter &writer)
Definition: umloperation.cpp:530
QString toString(Uml::SignatureType::Enum sig=Uml::SignatureType::NoSig, bool withStereotype=false) const
Definition: umloperation.cpp:204
bool getOverride() const
Definition: umloperation.cpp:445
Information for a non-graphical Concept/Class.
Definition: umlclassifier.h:34
UMLAttributeList getParameterList() const
Definition: umloperation.cpp:177
UMLOperation(UMLClassifier *parent, const QString &name, Uml::ID::Type id=Uml::ID::None, Uml::Visibility::Enum s=Uml::Visibility::Public, UMLObject *rt=nullptr)
Definition: umloperation.cpp:42
A base class for classifier list items (e.g. attributes)
Definition: umlclassifierlistitem.h:24
void setOverride(bool b)
Definition: umloperation.cpp:437
Uml::ID::Type m_returnId
Holds the xmi.id of the <UML:Parameter kind="return">
Definition: umloperation.h:82
Enum
Definition: basictypes.h:45
bool m_bFinal
Holds the final attribute of the <UML:Operation>
Definition: umloperation.h:86
UMLAttribute * findParameter(const QString &name) const
Definition: umloperation.cpp:188
UMLAttributeList m_args
Parameter list.
Definition: umloperation.h:83
QString a
Definition: petalnode.cpp:13
Sets up attribute information.
Definition: umlattribute.h:22
Definition: umlattributelist.h:20
virtual bool showPropertiesDialog(QWidget *parent=nullptr)
Definition: umloperation.cpp:503
bool resolveRef()
Definition: umloperation.cpp:352
QString getUniqueParameterName() const
Definition: umloperation.cpp:288
Enum
Definition: basictypes.h:160
bool isDestructorOperation() const
Definition: umloperation.cpp:390
The base class for UML objects.
Definition: umlobject.h:69
void setInline(bool b)
Definition: umloperation.cpp:485
bool m_bConst
Holds the isQuery attribute of the <UML:Operation>
Definition: umloperation.h:84
bool getConst() const
Definition: umloperation.cpp:429
void setType(UMLObject *type)
Definition: umloperation.cpp:93
QString getSourceCode() const
Definition: umloperation.cpp:522
bool isInline() const
Definition: umloperation.cpp:493
void setSourceCode(const QString &code)
Definition: umloperation.cpp:514
QString name() const
Definition: umlobject.cpp:207
bool m_bOverride
Holds the override attribute of the <UML:Operation>
Definition: umloperation.h:85
void removeParameter(UMLAttribute *a, bool emitModifiedSignal=true)
Definition: umloperation.cpp:157
virtual void copyInto(UMLObject *lhs) const
Definition: umloperation.cpp:325
bool load1(QDomElement &element)
Definition: umloperation.cpp:601
std::string Type
Definition: basictypes.h:371
void setConst(bool b)
Definition: umloperation.cpp:421
void moveParameterRight(UMLAttribute *a)
Definition: umloperation.cpp:129
Definition: basictypes.h:46
bool isConstructorOperation() const
Definition: umloperation.cpp:368
bool operator==(const UMLOperation &rhs) const
Definition: umloperation.cpp:301
Definition: umloperation.h:19
virtual UMLObject * clone() const
Definition: umloperation.cpp:337
void addParameter(UMLAttribute *parameter, int position=-1)
Definition: umloperation.cpp:275
bool isLifeOperation() const
Definition: umloperation.cpp:413
bool b
Definition: cxx11-null-pointer-constant.h:6
void setVirtual(bool b)
Definition: umloperation.cpp:469
void setFinal(bool b)
Definition: umloperation.cpp:453
Definition: basictypes.h:161
bool isVirtual() const
Definition: umloperation.cpp:477
const Type None
special value for uninitialized ID
Definition: basictypes.h:373
bool m_bVirtual
Holds the virtual attribute of the <UML:Operation>
Definition: umloperation.h:87
void moveParameterLeft(UMLAttribute *a)
Definition: umloperation.cpp:105
virtual ~UMLOperation()
Definition: umloperation.cpp:84
bool getFinal() const
Definition: umloperation.cpp:461
QString m_Code
Holds the entered source code.
Definition: umloperation.h:89
bool m_bInline
Holds the inline attribute of the <UML:Operation>
Definition: umloperation.h:88