umbrello  2.32.1
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  * This program is free software; you can redistribute it and/or modify *
3  * it under the terms of the GNU General Public License as published by *
4  * the Free Software Foundation; either version 2 of the License, or *
5  * (at your option) any later version. *
6  * *
7  * copyright (C) 2003-2020 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 
11 #ifndef ENUM_H
12 #define ENUM_H
13 
14 #include "classifier.h"
15 
16 class UMLEnumLiteral;
17 
28 class UMLEnum : public UMLClassifier
29 {
30  Q_OBJECT
31 public:
32  explicit UMLEnum(const QString& name = QString(), Uml::ID::Type id = Uml::ID::None);
33 
34  virtual ~UMLEnum();
35 
36  bool operator==(const UMLEnum& rhs) const;
37 
38  virtual void copyInto(UMLObject *lhs) const;
39 
40  virtual UMLObject* clone() const;
41 
42  UMLObject* createEnumLiteral(const QString& name = QString());
43 
44  UMLObject* addEnumLiteral(const QString &name,
46  const QString& value = QString());
47 
48  bool addEnumLiteral(UMLEnumLiteral* literal, IDChangeLog* Log = 0);
49  bool addEnumLiteral(UMLEnumLiteral* literal, int position);
50 
51  int removeEnumLiteral(UMLEnumLiteral* literal);
52 
53  int enumLiterals();
54 
56 
57  virtual void saveToXMI1(QXmlStreamWriter& writer);
58 
59  virtual UMLClassifierListItem* makeChildObject(const QString& xmiTag);
60 
61 signals:
64 
65 protected:
66  bool load1(QDomElement & element);
67 
68 private:
69  void init();
70 
71 };
72 
73 #endif // ENUM_H
74 
Definition: idchangelog.h:27
A base class for classifier list items (e.g. attributes)
Definition: classifierlistitem.h:30
Information for a non-graphical Concept/Class.
Definition: classifier.h:40
Sets up attribute information.
Definition: enumliteral.h:26
Non-graphical Information for an Enum.
Definition: enum.h:29
UMLEnum(const QString &name=QString(), Uml::ID::Type id=Uml::ID::None)
Definition: enum.cpp:31
virtual UMLClassifierListItem * makeChildObject(const QString &xmiTag)
Definition: enum.cpp:295
void enumLiteralRemoved(UMLClassifierListItem *)
Definition: moc_enum.cpp:166
UMLObject * createEnumLiteral(const QString &name=QString())
Definition: enum.cpp:85
bool operator==(const UMLEnum &rhs) const
Definition: enum.cpp:47
void enumLiteralAdded(UMLClassifierListItem *)
Definition: moc_enum.cpp:159
bool load1(QDomElement &element)
Definition: enum.cpp:256
int enumLiterals()
Definition: enum.cpp:224
virtual ~UMLEnum()
Definition: enum.cpp:39
virtual void copyInto(UMLObject *lhs) const
Definition: enum.cpp:56
virtual void saveToXMI1(QXmlStreamWriter &writer)
Definition: enum.cpp:240
void signalEnumLiteralRemoved(UMLClassifierListItem *elit)
Definition: enum.cpp:232
virtual UMLObject * clone() const
Definition: enum.cpp:64
UMLObject * addEnumLiteral(const QString &name, Uml::ID::Type id=Uml::ID::None, const QString &value=QString())
Definition: enum.cpp:132
void init()
Definition: enum.cpp:75
int removeEnumLiteral(UMLEnumLiteral *literal)
Definition: enum.cpp:205
The base class for UML objects.
Definition: umlobject.h:75
QString name() const
Definition: umlobject.cpp:211
const Type None
special value for uninitialized ID
Definition: basictypes.h:387
std::string Type
Definition: basictypes.h:385