umbrello 2.34.70-5524f40e1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
enum.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-2.0-or-later
3 SPDX-FileCopyrightText: 2003-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4*/
5
6#ifndef ENUM_H
7#define ENUM_H
8
9#include "classifier.h"
10
11class UMLEnumLiteral;
12
23class UMLEnum : public UMLClassifier
24{
25 Q_OBJECT
26public:
27 explicit UMLEnum(const QString& name = QString(), Uml::ID::Type id = Uml::ID::None);
28
29 virtual ~UMLEnum();
30
31 bool operator==(const UMLEnum& rhs) const;
32
33 virtual void copyInto(UMLObject *lhs) const;
34
35 virtual UMLObject* clone() const;
36
37 UMLObject* createEnumLiteral(const QString& name = QString());
38
39 UMLObject* addEnumLiteral(const QString &name,
41 const QString& value = QString());
42
43 bool addEnumLiteral(UMLEnumLiteral* literal, IDChangeLog* Log = 0);
44 bool addEnumLiteral(UMLEnumLiteral* literal, int position);
45
47
48 int enumLiterals() const;
49
51
52 virtual void saveToXMI(QXmlStreamWriter& writer);
53
54 virtual UMLClassifierListItem* makeChildObject(const QString& xmiTag);
55
56signals:
59
60protected:
61 bool load1(QDomElement & element);
62
63private:
64 void init();
65
66};
67
68#endif // ENUM_H
69
Definition: idchangelog.h:22
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:25
Information for a non-graphical Concept/Class.
Definition: classifier.h:35
Sets up attribute information.
Definition: enumliteral.h:21
Non-graphical Information for an Enum.
Definition: enum.h:24
UMLEnum(const QString &name=QString(), Uml::ID::Type id=Uml::ID::None)
Definition: enum.cpp:29
virtual UMLClassifierListItem * makeChildObject(const QString &xmiTag)
Definition: enum.cpp:298
void enumLiteralRemoved(UMLClassifierListItem *)
Definition: moc_enum.cpp:166
UMLObject * createEnumLiteral(const QString &name=QString())
Definition: enum.cpp:83
bool operator==(const UMLEnum &rhs) const
Definition: enum.cpp:45
void enumLiteralAdded(UMLClassifierListItem *)
Definition: moc_enum.cpp:159
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: enum.cpp:239
bool load1(QDomElement &element)
Definition: enum.cpp:259
virtual ~UMLEnum()
Definition: enum.cpp:37
virtual void copyInto(UMLObject *lhs) const
Definition: enum.cpp:54
int enumLiterals() const
Definition: enum.cpp:223
void signalEnumLiteralRemoved(UMLClassifierListItem *elit)
Definition: enum.cpp:231
virtual UMLObject * clone() const
Definition: enum.cpp:62
UMLObject * addEnumLiteral(const QString &name, Uml::ID::Type id=Uml::ID::None, const QString &value=QString())
Definition: enum.cpp:131
void init()
Definition: enum.cpp:73
int removeEnumLiteral(UMLEnumLiteral *literal)
Definition: enum.cpp:204
The base class for UML objects.
Definition: umlobject.h:70
QString name() const
Definition: umlobject.cpp:207
const Type None
special value for uninitialized ID
Definition: basictypes.h:373
std::string Type
Definition: basictypes.h:371