umbrello  2.32.1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
import_utils.h
Go to the documentation of this file.
1 /*
2  SPDX-License-Identifier: GPL-2.0-or-later
3  SPDX-FileCopyrightText: 2005-2021 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4 */
5 
6 #ifndef IMPORT_UTILS_H
7 #define IMPORT_UTILS_H
8 
9 #include "basictypes.h"
10 #include "folder.h"
11 #include "umlattributelist.h"
12 
13 #include <QStringList>
14 
15 class UMLObject;
16 class UMLClassifier;
17 class UMLPackage;
18 class UMLOperation;
19 class UMLEnum;
20 class UMLScene;
21 
22 class QMimeData;
23 
29 namespace Import_Utils {
30 
31  UMLFolder *createSubDir(const QString& name,
32  UMLFolder *parentPkg,
33  const QString &comment = QString());
34 
35  UMLObject *createArtifactFolder(const QString& name,
36  UMLPackage *parentPkg,
37  const QString &comment);
38 
39  UMLObject *createArtifact(const QString& name,
40  UMLFolder *parentPkg = NULL,
41  const QString &comment = QString());
42 
44  const QString& name,
45  UMLPackage *parentPkg = 0,
46  const QString& comment = QString(),
47  const QString& stereotype = QString(),
48  bool searchInParentPackageOnly = false,
49  bool remapParent = true);
50 
51  UMLObject* createUMLObjectHierarchy(UMLObject::ObjectType type, const QString &name, UMLPackage *parentPkg);
52 
53  void putAtGlobalScope(bool yesno);
54 
56 
57  void assignUniqueIdOnCreation(bool yesno);
58 
60  const QString& name,
61  const QString& type,
62  const QString& comment = QString(),
63  bool isStatic = false);
65  const QString& name,
66  UMLClassifier *attrType,
67  const QString& comment = QString(),
68  bool isStatic = false);
69 
70  UMLOperation* makeOperation(UMLClassifier *parent, const QString &name);
71 
72  void insertMethod(UMLClassifier *klass, UMLOperation* &op,
73  Uml::Visibility::Enum scope, const QString& type,
74  bool isStatic, bool isAbstract,
75  bool isFriend = false, bool isConstructor = false, bool isDestructor = false,
76  const QString& comment = QString());
77 
79  const QString& type,
80  const QString& name);
81 
82  void addEnumLiteral(UMLEnum *enumType, const QString &literal,
83  const QString &comment = QString(),
84  const QString &value = QString());
85 
87  void createGeneralization(UMLClassifier *child, const QString &parentName);
88 
89  UMLEnum *remapUMLEnum(UMLObject *ns, UMLPackage *currentScope);
90 
91  QString formatComment(const QString &comment);
92 
93  QStringList includePathList();
94 
95  void addIncludePath(const QString& path);
96 
98 
99  bool isDatatype(const QString& name, UMLPackage *parentPkg = 0);
100 
102 
103 } // end namespace Import_Utils
104 
105 #endif
UMLObject::isUMLPackage
bool isUMLPackage() const
Definition: umlobject.h:217
umlattributelist.h
datatype.h
UMLObject::asUMLClassifier
UMLClassifier * asUMLClassifier()
Definition: umlobject.cpp:1389
template.h
UMLOperation::addParm
void addParm(UMLAttribute *parameter, int position=-1)
Definition: operation.cpp:271
UMLDoc::findAssociation
UMLAssociation * findAssociation(Uml::AssociationType::Enum assocType, const UMLObject *roleAObj, const UMLObject *roleBObj, bool *swap=0) const
Definition: umldoc.cpp:1430
Import_Utils::insertAttribute
UMLAttribute * insertAttribute(UMLClassifier *owner, Uml::Visibility::Enum scope, const QString &name, UMLClassifier *attrType, const QString &comment, bool isStatic)
Definition: import_utils.cpp:421
Uml::ProgrammingLanguage::scopeSeparator
QString scopeSeparator(Enum item)
Definition: basictypes.cpp:1147
UMLAttributeListIt
QListIterator< UMLAttribute * > UMLAttributeListIt
Definition: umlattributelist.h:14
UMLObject::ObjectType
ObjectType
Definition: umlobject.h:75
UMLDoc::datatypeFolder
UMLFolder * datatypeFolder() const
Definition: umldoc.cpp:2959
Uml::ProgrammingLanguage::Enum
Enum
Definition: basictypes.h:291
UMLClassifier::isInterface
bool isInterface() const
Definition: classifier.cpp:113
UMLArtifact
Non-graphical information for a Artifact.
Definition: artifact.h:22
UMLAttributeList
Definition: umlattributelist.h:20
UMLObject::name
QString name() const
Definition: umlobject.cpp:206
Import_Utils::createUMLObjectHierarchy
UMLObject * createUMLObjectHierarchy(UMLObject::ObjectType type, const QString &name, UMLPackage *topLevelParent)
Definition: import_utils.cpp:371
Import_Utils::createArtifact
UMLObject * createArtifact(const QString &name, UMLFolder *parentPkg, const QString &comment)
Definition: import_utils.cpp:674
UMLOperation::getParmList
UMLAttributeList getParmList() const
Definition: operation.cpp:173
UMLObject::ot_Artifact
@ ot_Artifact
Definition: umlobject.h:93
UMLObject::ot_Association
@ ot_Association
Definition: umlobject.h:87
Import_Utils::newUMLObjectWasCreated
bool newUMLObjectWasCreated()
Definition: import_utils.cpp:108
UMLObject::setStatic
void setStatic(bool bStatic)
Definition: umlobject.cpp:369
UMLObject::asUMLAttribute
UMLAttribute * asUMLAttribute()
Definition: umlobject.cpp:1385
UMLDatatype
Non-graphical information for a Datatype.
Definition: datatype.h:20
Uml::ProgrammingLanguage::Java
@ Java
Definition: basictypes.h:298
Object_Factory::createUMLObject
UMLObject * createUMLObject(UMLObject::ObjectType type, const QString &n, UMLPackage *parentPkg, bool solicitNewName)
Definition: object_factory.cpp:203
UMLDoc::removeUMLObject
void removeUMLObject(UMLObject *umlobject, bool deleteObject=false)
Definition: umldoc.cpp:1884
UMLListViewItem
Items used by UMLListView.
Definition: umllistviewitem.h:35
UMLObject::ot_Class
@ ot_Class
Definition: umlobject.h:85
operation.h
UMLObject::setVisibilityCmd
void setVisibilityCmd(Uml::Visibility::Enum visibility)
Definition: umlobject.cpp:481
DEBUG_REGISTER_DISABLED
#define DEBUG_REGISTER_DISABLED(src)
Definition: debug_utils.h:118
UMLAttribute::getInitialValue
QString getInitialValue() const
Definition: attribute.cpp:94
Import_Utils::createGeneralization
UMLAssociation * createGeneralization(UMLClassifier *child, UMLClassifier *parent)
Definition: import_utils.cpp:598
Uml::ID::None
const Type None
special value for uninitialized ID
Definition: basictypes.h:373
UMLPackage::containedObjects
UMLObjectList containedObjects(bool includeInactive=false) const
Definition: package.cpp:261
Uml::ModelType::Logical
@ Logical
Definition: basictypes.h:28
Model_Utils::findUMLObject
UMLObject * findUMLObject(const UMLObjectList &inList, const QString &inName, UMLObject::ObjectType type, UMLObject *currentObj)
Definition: model_utils.cpp:152
UMLObject::ot_Attribute
@ ot_Attribute
Definition: umlobject.h:88
artifact.h
object_factory.h
UMLObject::ot_Interface
@ ot_Interface
Definition: umlobject.h:82
association.h
UMLObject::umlParent
UMLObject * umlParent() const
Definition: umlobject.cpp:674
Import_Utils::createUMLObject
UMLObject * createUMLObject(UMLObject::ObjectType type, const QString &inName, UMLPackage *parentPkg, const QString &comment, const QString &stereotype, bool searchInParentPackageOnly, bool remapParent)
Definition: import_utils.cpp:173
UMLObject::umlPackage
UMLPackage * umlPackage() const
Definition: umlobject.cpp:649
UMLPackage::findObject
UMLObject * findObject(const QString &name) const
Definition: package.cpp:287
UMLObject::isStatic
bool isStatic() const
Definition: umlobject.cpp:361
UMLListViewItem::updateObject
void updateObject()
Definition: umllistviewitem.cpp:342
UMLObject::isUMLClassifier
bool isUMLClassifier() const
Definition: umlobject.h:202
UMLObject::ot_Package
@ ot_Package
Definition: umlobject.h:81
Import_Utils::insertMethod
void insertMethod(UMLClassifier *klass, UMLOperation *&op, Uml::Visibility::Enum scope, const QString &type, bool isStatic, bool isAbstract, bool isFriend, bool isConstructor, bool isDestructor, const QString &comment)
Definition: import_utils.cpp:493
UMLObject::ot_UMLObject
@ ot_UMLObject
Definition: umlobject.h:78
Import_Utils::incPathList
QStringList incPathList
Definition: import_utils.cpp:69
UMLObject
The base class for UML objects.
Definition: umlobject.h:69
UMLObject::isAbstract
bool isAbstract() const
Definition: umlobject.cpp:343
import_utils.h
UMLDoc::loading
bool loading() const
Definition: umldoc.cpp:1573
Import_Utils::createArtifactFolder
UMLObject * createArtifactFolder(const QString &name, UMLPackage *parentPkg, const QString &comment)
Definition: import_utils.cpp:652
UMLObject::asUMLEnum
UMLEnum * asUMLEnum()
Definition: umlobject.cpp:1396
UMLObject::baseType
ObjectType baseType() const
Definition: umlobject.cpp:392
Import_Utils::putAtGlobalScope
void putAtGlobalScope(bool yesno)
Definition: import_utils.cpp:78
UMLObject::asUMLDatatype
UMLDatatype * asUMLDatatype()
Definition: umlobject.cpp:1392
UMLObject::asUMLArtifact
UMLArtifact * asUMLArtifact()
Definition: umlobject.cpp:1383
UMLObject::asUMLFolder
UMLFolder * asUMLFolder()
Definition: umlobject.cpp:1398
UMLObject::setStereotypeCmd
void setStereotypeCmd(const QString &_name)
Definition: umlobject.cpp:530
UMLAttribute::getParmKind
Uml::ParameterDirection::Enum getParmKind() const
Definition: attribute.cpp:117
Import_Utils::remapUMLEnum
UMLEnum * remapUMLEnum(UMLObject *ns, UMLPackage *currentScope)
Definition: import_utils.cpp:741
UMLObject::visibility
Uml::Visibility::Enum visibility() const
Definition: umlobject.cpp:461
it
and that you know you can do these things To protect your we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights These restrictions translate to certain responsibilities for you if you distribute copies of the or if you modify it For if you distribute copies of such a whether gratis or for a you must give the recipients all the rights that you have You must make sure that receive or can get the source code And you must show them these terms so they know their rights We protect your rights with two distribute and or modify the software for each author s protection and we want to make certain that everyone understands that there is no warranty for this free software If the software is modified by someone else and passed we want its recipients to know that what they have is not the so that any problems introduced by others will not reflect on the original authors reputations any free program is threatened constantly by software patents We wish to avoid the danger that redistributors of a free program will individually obtain patent in effect making the program proprietary To prevent we have made it clear that any patent must be licensed for everyone s free use or not licensed at all The precise terms and conditions for distribution and modification follow TERMS AND CONDITIONS FOR DISTRIBUTION AND MODIFICATION This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License The refers to any such program or and a work based on the Program means either the Program or any derivative work under copyright a work containing the Program or a portion of it
Definition: GPL-2.0-only.txt:64
UMLDoc::rootFolder
UMLFolder * rootFolder(Uml::ModelType::Enum mt) const
Definition: umldoc.cpp:3176
Object_Factory::createAttribute
UMLAttribute * createAttribute(UMLObject *parent, const QString &name, UMLObject *type)
Definition: object_factory.cpp:275
UMLClassifier::findTemplate
UMLTemplate * findTemplate(const QString &name) const
Definition: classifier.cpp:1115
UMLApp::listView
UMLListView * listView() const
Definition: uml.cpp:1073
a
QString a
Definition: petalnode.cpp:13
UMLClassifier::addOperation
bool addOperation(UMLOperation *op, int position=-1)
Definition: classifier.cpp:305
UMLDoc::addAssociation
void addAssociation(UMLAssociation *assoc)
Definition: umldoc.cpp:1482
Uml::ModelType::Component
@ Component
Definition: basictypes.h:30
Import_Utils::formatComment
QString formatComment(const QString &comment)
Definition: import_utils.cpp:116
UMLClassifier::setBaseType
void setBaseType(UMLObject::ObjectType ot)
Definition: classifier.cpp:78
folder.h
UMLPackage::removeObject
void removeObject(UMLObject *pObject)
Definition: package.cpp:205
Import_Utils::createSubDir
UMLFolder * createSubDir(const QString &name, UMLFolder *parentPkg, const QString &comment)
Definition: import_utils.cpp:629
UMLObject::ot_Datatype
@ ot_Datatype
Definition: umlobject.h:83
Import_Utils::globalScope
UMLPackage * globalScope()
Definition: import_utils.cpp:811
Model_Utils::treeViewSetCurrentItem
void treeViewSetCurrentItem(UMLObject *object)
Definition: model_utils.cpp:425
UMLDoc::findUMLObjectRaw
UMLObject * findUMLObjectRaw(Uml::ModelType::Enum, const QString &name, UMLObject::ObjectType type=UMLObject::ot_UMLObject)
Definition: umldoc.cpp:1100
basictypes.h
Import_Utils::addMethodParameter
UMLAttribute * addMethodParameter(UMLOperation *method, const QString &type, const QString &name)
Definition: import_utils.cpp:567
uDebug
#define uDebug()
Definition: debug_utils.h:108
Object_Factory::assignUniqueIdOnCreation
void assignUniqueIdOnCreation(bool yesno)
Definition: object_factory.cpp:64
Import_Utils::addIncludePath
void addIncludePath(const QString &path)
Definition: import_utils.cpp:792
UMLObject::setStereotype
void setStereotype(const QString &_name)
Definition: umlobject.cpp:523
Import_Utils::isDatatype
bool isDatatype(const QString &name, UMLPackage *parentPkg)
Definition: import_utils.cpp:801
UMLObject::toString
static QString toString(ObjectType ot)
Definition: umlobject.cpp:1180
Uml::AssociationType::Enum
Enum
Definition: basictypes.h:92
Uml::AssociationType::Generalization
@ Generalization
Definition: basictypes.h:93
c
type show c for details The hypothetical commands show w and show c should show the appropriate parts of the General Public License Of the commands you use may be called something other than show w and show c
Definition: GPL-2.0-only.txt:301
umllistview.h
UMLObject::setAbstract
void setAbstract(bool bAbstract)
Definition: umlobject.cpp:351
UMLObject::doc
QString doc() const
Definition: umlobject.cpp:430
UMLApp::app
static UMLApp * app()
Definition: uml.cpp:275
visibility
Definition: visibility.py:1
Import_Utils::makeOperation
UMLOperation * makeOperation(UMLClassifier *parent, const QString &name)
Definition: import_utils.cpp:411
UMLDoc
Definition: umldoc.h:69
UMLAttribute
Sets up attribute information.
Definition: attribute.h:22
UMLDoc::setModified
void setModified(bool modified=true)
Definition: umldoc.cpp:3107
UMLObject::isUMLDatatype
bool isUMLDatatype() const
Definition: umlobject.h:204
UMLApp::activeLanguageScopeSeparator
QString activeLanguageScopeSeparator() const
Definition: uml.cpp:2549
UMLFolder
Non-graphical management of objects and diagrams of a Folder.
Definition: folder.h:29
Import_Utils::assignUniqueIdOnCreation
void assignUniqueIdOnCreation(bool yesno)
Definition: import_utils.cpp:99
Uml::Visibility::Enum
Enum
Definition: basictypes.h:45
UMLObject::setDoc
void setDoc(const QString &d)
Definition: umlobject.cpp:450
Import_Utils::addEnumLiteral
void addEnumLiteral(UMLEnum *enumType, const QString &literal, const QString &comment, const QString &value)
Definition: import_utils.cpp:588
UMLDoc::findUMLObject
UMLObject * findUMLObject(const QString &name, UMLObject::ObjectType type=UMLObject::ot_UMLObject, UMLObject *currentObj=0)
Definition: umldoc.cpp:1068
DEBUG
#define DEBUG(src)
Definition: debug_utils.h:115
classifier.h
UMLDatatype::setIsReference
void setIsReference(bool isRef=true)
Definition: datatype.cpp:50
uError
#define uError()
Definition: debug_utils.h:109
UMLOperation
Definition: operation.h:19
UMLObject::ot_Enum
@ ot_Enum
Definition: umlobject.h:84
uml.h
Object_Factory::createNewUMLObject
UMLObject * createNewUMLObject(UMLObject::ObjectType type, const QString &name, UMLPackage *parentPkg, bool undoable)
Definition: object_factory.cpp:90
UMLObject::setUMLPackage
bool setUMLPackage(UMLPackage *pPkg)
Definition: umlobject.cpp:619
UMLClassifier
Information for a non-graphical Concept/Class.
Definition: classifier.h:34
debug_utils.h
UMLCanvasObject::addAssociationEnd
bool addAssociationEnd(UMLAssociation *assoc)
Definition: umlcanvasobject.cpp:75
UMLAssociation
Sets up association information.
Definition: association.h:28
Object_Factory::createOperation
UMLOperation * createOperation(UMLClassifier *parent, const QString &name)
Definition: object_factory.cpp:285
Import_Utils::gRelatedClassifier
UMLClassifier * gRelatedClassifier
Definition: import_utils.cpp:54
Import_Utils::setRelatedClassifier
void setRelatedClassifier(UMLClassifier *c)
Definition: import_utils.cpp:87
UMLScene
Definition: umlscene.h:64
DBG_SRC
#define DBG_SRC
Definition: import_utils.cpp:38
Import_Utils::bPutAtGlobalScope
bool bPutAtGlobalScope
Definition: import_utils.cpp:64
umlobject.h
UMLPackage::addObject
bool addObject(UMLObject *pObject, bool interactOnConflict=true)
Definition: package.cpp:130
UMLEnum::addEnumLiteral
UMLObject * addEnumLiteral(const QString &name, Uml::ID::Type id=Uml::ID::None, const QString &value=QString())
Definition: enum.cpp:127
UMLObject::asUMLPackage
UMLPackage * asUMLPackage()
Definition: umlobject.cpp:1405
PATH_SEPARATOR
#define PATH_SEPARATOR
Definition: import_utils.cpp:33
UMLListView::findUMLObject
UMLListViewItem * findUMLObject(const UMLObject *p) const
Definition: umllistview.cpp:1331
Import_Utils
Definition: import_utils.cpp:40
package.h
UMLOperation::setType
void setType(UMLObject *type)
Definition: operation.cpp:89
Uml::AssociationType::Dependency
@ Dependency
Definition: basictypes.h:95
UMLApp::activeLanguage
Uml::ProgrammingLanguage::Enum activeLanguage() const
Definition: uml.cpp:2532
UMLArtifact::file
@ file
Definition: artifact.h:32
Import_Utils::includePathList
QStringList includePathList()
Definition: import_utils.cpp:779
UMLObject::stereotype
QString stereotype(bool includeAdornments=false) const
Definition: umlobject.cpp:554
UMLObject::ot_Folder
@ ot_Folder
Definition: umlobject.h:99
Import_Utils::bNewUMLObjectWasCreated
bool bNewUMLObjectWasCreated
Definition: import_utils.cpp:48
UMLClassifier::checkOperationSignature
UMLOperation * checkOperationSignature(const QString &name, UMLAttributeList opParams, UMLOperation *exemptOp=0) const
Definition: classifier.cpp:129
UMLCanvasObject::findChildObject
virtual UMLObject * findChildObject(const QString &n, UMLObject::ObjectType t=UMLObject::ot_UMLObject) const
Definition: umlcanvasobject.cpp:233
UMLEnum
Non-graphical Information for an Enum.
Definition: enum.h:23
UMLApp::document
UMLDoc * document() const
Definition: uml.cpp:1063
Uml::AssociationType::Realization
@ Realization
Definition: basictypes.h:104
umldoc.h
UMLDatatype::setOriginType
void setOriginType(UMLClassifier *origType)
Definition: datatype.cpp:32
UMLClassifier::addAttribute
UMLAttribute * addAttribute(const QString &name, Uml::ID::Type id=Uml::ID::None)
Definition: classifier.cpp:806
UMLPackage
Non-graphical information for a Package.
Definition: package.h:27
enum.h