umbrello  2.39.2
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 
11 class UMLEnumLiteral;
12 
23 class UMLEnum : public UMLClassifier
24 {
25  Q_OBJECT
26 public:
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 
46  int removeEnumLiteral(UMLEnumLiteral* literal);
47 
48  int enumLiterals() const;
49 
51 
52  virtual void saveToXMI(QXmlStreamWriter& writer);
53 
54  virtual UMLClassifierListItem* makeChildObject(const QString& xmiTag);
55 
56 signals:
59 
60 protected:
61  bool load1(QDomElement & element);
62 
63 private:
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