umbrello  26.08.1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
umlenum.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 "umlclassifier.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 = nullptr);
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 Q_SIGNALS:
59 
60 protected:
61  bool load1(QDomElement & element);
62 
63 private:
64  void init();
65 
66 };
67 
68 #endif // ENUM_H
69 
Information for a non-graphical Concept/Class.
Definition: umlclassifier.h:34
A base class for classifier list items (e.g. attributes)
Definition: umlclassifierlistitem.h:24
UMLObject * addEnumLiteral(const QString &name, Uml::ID::Type id=Uml::ID::None, const QString &value=QString())
Definition: umlenum.cpp:131
virtual void saveToXMI(QXmlStreamWriter &writer)
Definition: umlenum.cpp:239
int removeEnumLiteral(UMLEnumLiteral *literal)
Definition: umlenum.cpp:204
Definition: idchangelog.h:21
virtual ~UMLEnum()
Definition: umlenum.cpp:37
The base class for UML objects.
Definition: umlobject.h:69
void signalEnumLiteralRemoved(UMLClassifierListItem *elit)
Definition: umlenum.cpp:231
QString name() const
Definition: umlobject.cpp:207
void init()
Definition: umlenum.cpp:73
void enumLiteralRemoved(UMLClassifierListItem *)
virtual UMLClassifierListItem * makeChildObject(const QString &xmiTag)
Definition: umlenum.cpp:298
Sets up attribute information.
Definition: umlenumliteral.h:20
void enumLiteralAdded(UMLClassifierListItem *)
std::string Type
Definition: basictypes.h:371
bool operator==(const UMLEnum &rhs) const
Definition: umlenum.cpp:45
Non-graphical Information for an Enum.
Definition: umlenum.h:23
virtual void copyInto(UMLObject *lhs) const
Definition: umlenum.cpp:54
bool load1(QDomElement &element)
Definition: umlenum.cpp:259
UMLEnum(const QString &name=QString(), Uml::ID::Type id=Uml::ID::None)
Definition: umlenum.cpp:29
int enumLiterals() const
Definition: umlenum.cpp:223
UMLObject * createEnumLiteral(const QString &name=QString())
Definition: umlenum.cpp:83
const Type None
special value for uninitialized ID
Definition: basictypes.h:373
virtual UMLObject * clone() const
Definition: umlenum.cpp:62