umbrello  2.32.0
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
package.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 PACKAGE_H
12 #define PACKAGE_H
13 
14 #include "umlcanvasobject.h"
15 #include "umlclassifierlist.h"
16 #include "umlentitylist.h"
17 
18 // forward declarations
19 class UMLAssociation;
20 
33 {
34  Q_OBJECT
35 public:
36  explicit UMLPackage(const QString & name = QString(), Uml::ID::Type id = Uml::ID::None);
37  virtual ~UMLPackage();
38 
39  virtual void copyInto(UMLObject *lhs) const;
40 
41  virtual UMLObject* clone() const;
42 
43  bool addObject(UMLObject *pObject);
44  void removeObject(UMLObject *pObject);
45 
46  virtual void removeAllObjects();
47 
49 
52 
53  UMLObject * findObject(const QString &name);
55 
56  void appendPackages(UMLPackageList& packages, bool includeNested = true);
57  void appendClassifiers(UMLClassifierList& classifiers,
58  bool includeNested = true);
60  bool includeNested = true);
61  void appendEntities(UMLEntityList& entities,
62  bool includeNested = true);
63 
64  virtual bool resolveRef();
65 
66  virtual void saveToXMI1(QDomDocument& qDoc, QDomElement& qElement);
67 
68 protected:
69  virtual bool load1(QDomElement& element);
70 
76 
77 };
78 
79 #endif
Non-graphical information for a Package.
Definition: package.h:32
virtual void saveToXMI1(QDomDocument &qDoc, QDomElement &qElement)
Definition: package.cpp:387
virtual bool load1(QDomElement &element)
Definition: package.cpp:409
virtual void copyInto(UMLObject *lhs) const
Definition: package.cpp:54
virtual UMLObject * clone() const
Definition: package.cpp:66
Non-graphical information for a UMLCanvasObject.
Definition: umlcanvasobject.h:33
QList< UMLEntity * > UMLEntityList
Definition: umlentitylist.h:17
The base class for UML objects.
Definition: umlobject.h:73
Sets up association information.
Definition: association.h:32
UMLObject * findObjectById(Uml::ID::Type id)
Definition: package.cpp:261
void appendPackages(UMLPackageList &packages, bool includeNested=true)
Definition: package.cpp:274
void appendClassifiers(UMLClassifierList &classifiers, bool includeNested=true)
Definition: package.cpp:297
void appendEntities(UMLEntityList &entities, bool includeNested=true)
Definition: package.cpp:321
QString name() const
Definition: umlobject.cpp:211
void removeObject(UMLObject *pObject)
Definition: package.cpp:190
UMLObjectList & containedObjects()
Definition: package.cpp:228
QList< UMLClassifier * > UMLClassifierList
Definition: umlclassifierlist.h:17
UMLPackage(const QString &name=QString(), Uml::ID::Type id=Uml::ID::None)
Definition: package.cpp:38
QList< UMLPackage * > UMLPackageList
Definition: umlpackagelist.h:17
void appendClassesAndInterfaces(UMLClassifierList &classifiers, bool includeNested=true)
Definition: package.cpp:345
std::string Type
Definition: basictypes.h:351
bool addObject(UMLObject *pObject)
Definition: package.cpp:128
virtual bool resolveRef()
Definition: package.cpp:369
Definition: umlobjectlist.h:28
virtual ~UMLPackage()
Definition: package.cpp:47
UMLObjectList m_objects
Definition: package.h:75
UMLObject * findObject(const QString &name)
Definition: package.cpp:239
virtual void removeAllObjects()
Definition: package.cpp:211
void removeAssocFromConcepts(UMLAssociation *assoc)
Definition: package.cpp:108
UMLPackageList packages(bool includeRoot=false) const
Definition: umlobject.cpp:597
const Type None
special value for uninitialized ID
Definition: basictypes.h:353
void addAssocToConcepts(UMLAssociation *assoc)
Definition: package.cpp:82