umbrello 25.12.1
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"
11
12class UMLClassifier;
13
20{
21 Q_OBJECT
22public:
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
78protected:
79 bool load1(QDomElement & element);
80
81private:
84 bool m_bConst;
86 bool m_bFinal;
88 bool m_bInline;
89 QString m_Code;
90};
91
92#endif
Definition umlattributelist.h:21
Sets up attribute information.
Definition umlattribute.h:23
UMLClassifierListItem(UMLObject *parent, const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition umlclassifierlistitem.cpp:34
Information for a non-graphical Concept/Class.
Definition umlclassifier.h:35
UMLObject(const UMLObject &other)
Definition umlobject.cpp:44
QString name() const
Definition umlobject.cpp:207
bool m_bInline
Holds the inline attribute of the <UML:Operation>
Definition umloperation.h:88
bool m_bConst
Holds the isQuery attribute of the <UML:Operation>
Definition umloperation.h:84
void setType(UMLObject *type)
Definition umloperation.cpp:93
void moveParameterRight(UMLAttribute *a)
Definition umloperation.cpp:129
bool resolveRef()
Definition umloperation.cpp:352
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
UMLAttributeList m_args
Parameter list.
Definition umloperation.h:83
virtual void copyInto(UMLObject *lhs) const
Definition umloperation.cpp:325
void setConst(bool b)
Definition umloperation.cpp:421
bool m_bVirtual
Holds the virtual attribute of the <UML:Operation>
Definition umloperation.h:87
UMLAttribute * findParameter(const QString &name) const
Definition umloperation.cpp:188
void moveParameterLeft(UMLAttribute *a)
Definition umloperation.cpp:105
void addParameter(UMLAttribute *parameter, int position=-1)
Definition umloperation.cpp:275
bool isDestructorOperation() const
Definition umloperation.cpp:390
void setVirtual(bool b)
Definition umloperation.cpp:469
bool load1(QDomElement &element)
Definition umloperation.cpp:601
void setInline(bool b)
Definition umloperation.cpp:485
void setSourceCode(const QString &code)
Definition umloperation.cpp:514
void setOverride(bool b)
Definition umloperation.cpp:437
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
bool isInline() const
Definition umloperation.cpp:493
QString getSourceCode() const
Definition umloperation.cpp:522
bool m_bOverride
Holds the override attribute of the <UML:Operation>
Definition umloperation.h:85
bool getOverride() const
Definition umloperation.cpp:445
bool isLifeOperation() const
Definition umloperation.cpp:413
bool m_bFinal
Holds the final attribute of the <UML:Operation>
Definition umloperation.h:86
virtual UMLObject * clone() const
Definition umloperation.cpp:337
bool isVirtual() const
Definition umloperation.cpp:477
void setFinal(bool b)
Definition umloperation.cpp:453
bool getConst() const
Definition umloperation.cpp:429
void removeParameter(UMLAttribute *a, bool emitModifiedSignal=true)
Definition umloperation.cpp:157
QString m_Code
Holds the entered source code.
Definition umloperation.h:89
bool getFinal() const
Definition umloperation.cpp:461
virtual ~UMLOperation()
Definition umloperation.cpp:84
bool isConstructorOperation() const
Definition umloperation.cpp:368
QString getUniqueParameterName() const
Definition umloperation.cpp:288
bool operator==(const UMLOperation &rhs) const
Definition umloperation.cpp:301
UMLAttributeList getParameterList() const
Definition umloperation.cpp:177
Uml::ID::Type m_returnId
Holds the xmi.id of the <UML:Parameter kind="return">
Definition umloperation.h:82
virtual bool showPropertiesDialog(QWidget *parent=nullptr)
Definition umloperation.cpp:503
bool b
Definition cxx11-null-pointer-constant.h:6
const Type None
special value for uninitialized ID
Definition basictypes.h:373
std::string Type
Definition basictypes.h:371
Enum
Definition basictypes.h:160
@ NoSig
Definition basictypes.h:161
Enum
Definition basictypes.h:45
@ Public
Definition basictypes.h:46
QString a
Definition petalnode.cpp:13