umbrello 2.33.80
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
model_utils.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-2.0-or-later
3 SPDX-FileCopyrightText: 2004-2020 Umbrello UML Modeller Authors <umbrello-devel@kde.org>
4*/
5
6#ifndef MODEL_UTILS_H
7#define MODEL_UTILS_H
8
9#include "basictypes.h"
10#include "umllistviewitem.h"
11#include "umlobjectlist.h"
12#include "umlviewlist.h"
14#include "icon_utils.h"
15#include "multipagedialogbase.h"
16#include "widgetbase.h"
17
18#include <QLinkedList>
19#include <QString>
20
21// forward declarations
22class UMLClassifier;
23class UMLPackage;
24class UMLEntity;
25
31namespace Model_Utils {
32
34
35QString normalize(QString type);
36
38
40 const QString& name,
42 UMLObject *currentObj = 0);
43
45 const QString& name,
47 UMLObject *currentObj = 0);
48
50 const QString& name,
52
54
55void treeViewAddViews(const UMLViewList& viewList);
58void treeViewMoveObjectTo(UMLObject* container, UMLObject* object);
62
64 UMLPackage *parentPkg,
65 QString prefix = QString());
67QString newText(UMLObject::ObjectType type);
70
71QString getXmiId(QDomElement element);
72bool isCommonXMI1Attribute(const QString &tag);
73bool isCommonDataType(QString type);
75
89
100
102
103int stringToDirection(QString input, Uml::ParameterDirection::Enum & result);
104
109
110struct NameAndType {
111 QString m_name;
115 NameAndType() : m_type(0), m_direction(Uml::ParameterDirection::In) {}
116 NameAndType(QString name, UMLObject *type,
118 QString initialValue = QString())
119 : m_name(name), m_type(type),
120 m_direction(direction), m_initialValue(initialValue) {}
121};
122
123typedef QLinkedList<NameAndType> NameAndType_List;
124typedef QLinkedList<NameAndType>::iterator NameAndType_ListIt;
125
127 QString m_name;
130};
131
132Parse_Status parseTemplate(QString t, NameAndType& nmTp, UMLClassifier *owningScope);
133Parse_Status parseAttribute(QString a, NameAndType& nmTp, UMLClassifier *owningScope,
134 Uml::Visibility::Enum *vis = 0);
135Parse_Status parseOperation(QString m, OpDescriptor& desc, UMLClassifier *owningScope);
136Parse_Status parseConstraint(QString m, QString& name, UMLEntity* owningScope);
137
138QString psText(Parse_Status value);
139
141
142}
143
144#endif
PageType
Available page types.
Definition: multipagedialogbase.h:52
Information for a non-graphical Concept/Class.
Definition: classifier.h:35
Non-graphical Information for an Entity.
Definition: entity.h:30
UpdateDeleteAction
Definition: foreignkeyconstraint.h:37
ListViewType
Definition: umllistviewitem.h:39
Definition: umlobjectlist.h:25
The base class for UML objects.
Definition: umlobject.h:70
ObjectType
Definition: umlobject.h:76
@ ot_UMLObject
Definition: umlobject.h:78
Non-graphical information for a Package.
Definition: package.h:28
Definition: umlscene.h:65
The base class for graphical UML objects.
Definition: umlwidget.h:36
WidgetType
Definition: widgetbase.h:107
IconType
Definition: icon_utils.h:33
Definition: model_utils.cpp:44
UMLListViewItem::ListViewType convert_MT_LVT(Uml::ModelType::Enum mt)
Definition: model_utils.cpp:1479
bool typeIsClassifier(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1295
Parse_Status
Definition: model_utils.h:105
@ PS_Illegal_MethodName
Definition: model_utils.h:107
@ PS_Unknown_ReturnType
Definition: model_utils.h:107
@ PS_Unspecified_Error
Definition: model_utils.h:107
@ PS_Empty
Definition: model_utils.h:106
@ PS_Unknown_ArgType
Definition: model_utils.h:106
@ PS_OK
Return type of parseOperation().
Definition: model_utils.h:106
@ PS_Malformed_Arg
Definition: model_utils.h:106
MultiPageDialogBase::PageType convert_LVT_PT(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:2099
bool typeIsAllowedInDiagram(UMLObject *o, UMLScene *scene)
Definition: model_utils.cpp:2200
Parse_Status parseTemplate(QString t, NameAndType &nmTp, UMLClassifier *owningScope)
Definition: model_utils.cpp:966
bool typeIsClassifierList(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1273
QString getXmiId(QDomElement element)
Definition: model_utils.cpp:772
void treeViewMoveObjectTo(UMLObject *container, UMLObject *object)
Definition: model_utils.cpp:463
UMLObject::ObjectType convert_LVT_OT(UMLListViewItem::ListViewType lvt)
Definition: model_utils.cpp:1756
QString newText(UMLObject::ObjectType type)
Definition: model_utils.cpp:648
bool isCommonDataType(QString type)
Definition: model_utils.cpp:811
QString newTitle(UMLObject::ObjectType type)
Definition: model_utils.cpp:606
QString psText(Parse_Status value)
Definition: model_utils.cpp:1171
UMLPackage * treeViewGetPackageFromCurrent()
Definition: model_utils.cpp:492
QString uniqObjectName(UMLObject::ObjectType type, UMLPackage *parentPkg, QString prefix)
Definition: model_utils.cpp:555
UMLObject * findUMLObjectRecursive(const UMLObjectList &inList, const QString &name, UMLObject::ObjectType type)
Definition: model_utils.cpp:386
QLinkedList< NameAndType > NameAndType_List
Auxiliary type for OpDescriptor.
Definition: model_utils.h:123
bool typeIsDiagram(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1423
bool isCommonXMI1Attribute(const QString &tag)
Definition: model_utils.cpp:786
bool typeIsContainer(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1259
Uml::ModelType::Enum convert_DT_MT(Uml::DiagramType::Enum dt)
Definition: model_utils.cpp:1444
UMLListViewItem::ListViewType convert_OT_LVT(UMLObject *o)
Definition: model_utils.cpp:1598
void treeViewAddViews(const UMLViewList &viewList)
Definition: model_utils.cpp:425
UMLObject * treeViewGetCurrentObject()
Definition: model_utils.cpp:476
QString normalize(QString type)
Definition: model_utils.cpp:79
UMLObject * findObjectInList(Uml::ID::Type id, const UMLObjectList &inList)
Definition: model_utils.cpp:113
void treeViewSetCurrentItem(UMLObject *object)
Definition: model_utils.cpp:451
Uml::DiagramType::Enum convert_LVT_DT(UMLListViewItem::ListViewType lvt)
Definition: model_utils.cpp:2053
Icon_Utils::IconType convert_LVT_IT(UMLListViewItem::ListViewType lvt, UMLObject *o)
Definition: model_utils.cpp:1875
QString renameTitle(UMLObject::ObjectType type)
Definition: model_utils.cpp:690
QString treeViewBuildDiagramName(Uml::ID::Type id)
Definition: model_utils.cpp:518
QLinkedList< NameAndType >::iterator NameAndType_ListIt
Auxiliary type for OpDescriptor.
Definition: model_utils.h:124
Parse_Status parseAttribute(QString a, NameAndType &nmTp, UMLClassifier *owningScope, Uml::Visibility::Enum *vis)
Definition: model_utils.cpp:1006
bool typeIsAllowedInType(UMLListViewItem::ListViewType childType, UMLListViewItem::ListViewType parentType)
Definition: model_utils.cpp:1333
UMLObject * findUMLObjectRaw(const UMLObjectList &inList, const QString &name, UMLObject::ObjectType type, UMLObject *currentObj)
Definition: model_utils.cpp:360
UMLListViewItem::ListViewType convert_DT_LVT(Uml::DiagramType::Enum dt)
Definition: model_utils.cpp:1537
bool typeIsRootView(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1186
bool isClassifierListitem(UMLObject::ObjectType type)
Definition: model_utils.cpp:833
Uml::ModelType::Enum convert_LVT_MT(UMLListViewItem::ListViewType lvt)
Definition: model_utils.cpp:1509
UMLObject * findUMLObject(const UMLObjectList &inList, const QString &inName, UMLObject::ObjectType type, UMLObject *currentObj)
Definition: model_utils.cpp:185
bool typeIsFolder(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1240
Uml::ModelType::Enum guessContainer(UMLObject *o)
Definition: model_utils.cpp:857
Uml::ModelType::Enum convert_OT_MT(UMLObject::ObjectType ot)
Definition: model_utils.cpp:2139
UMLPackage * rootPackage(UMLObject *obj)
Definition: model_utils.cpp:406
QString updateDeleteActionToString(UMLForeignKeyConstraint::UpdateDeleteAction uda)
Definition: model_utils.cpp:2175
QString renameText(UMLObject::ObjectType type)
Definition: model_utils.cpp:732
Parse_Status parseConstraint(QString m, QString &name, UMLEntity *owningScope)
Definition: model_utils.cpp:1151
bool isCloneable(WidgetBase::WidgetType type)
Definition: model_utils.cpp:52
int stringToDirection(QString input, Uml::ParameterDirection::Enum &result)
Definition: model_utils.cpp:937
bool typeIsCanvasWidget(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1206
Parse_Status parseOperation(QString m, OpDescriptor &desc, UMLClassifier *owningScope)
Definition: model_utils.cpp:1081
bool typeIsProperties(UMLListViewItem::ListViewType type)
Definition: model_utils.cpp:1309
void treeViewChangeIcon(UMLObject *object, Icon_Utils::IconType to)
Definition: model_utils.cpp:441
bool hasAssociations(UMLObject::ObjectType type)
Definition: model_utils.cpp:2335
Enum
Definition: basictypes.h:63
std::string Type
Definition: basictypes.h:371
Enum
Definition: basictypes.h:27
Enum
Definition: basictypes.h:254
@ In
Definition: basictypes.h:255
Enum
Definition: basictypes.h:45
Definition: basictypes.cpp:23
QString a
Definition: petalnode.cpp:13
Definition: model_utils.h:110
Uml::ParameterDirection::Enum m_direction
Definition: model_utils.h:113
NameAndType()
Definition: model_utils.h:115
UMLObject * m_type
Definition: model_utils.h:112
QString m_initialValue
Definition: model_utils.h:114
NameAndType(QString name, UMLObject *type, Uml::ParameterDirection::Enum direction=Uml::ParameterDirection::In, QString initialValue=QString())
Definition: model_utils.h:116
QString m_name
< Data structure filled by parseAttribute().
Definition: model_utils.h:111
Definition: model_utils.h:126
QString m_name
< Data structure filled by parseOperation().
Definition: model_utils.h:127
UMLObject * m_pReturnType
Definition: model_utils.h:129
NameAndType_List m_args
Definition: model_utils.h:128
QList< QPointer< UMLView > > UMLViewList
Definition: umlviewlist.h:14