blob: 48871a6da028b03260e484544627440aa8f6c40b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
#include <QtWrappedObjects>
#include <QtUml/QModel>
#include <QtUml/QPackage>
#include <QtUml/QPrimitiveType>
#include <QtUml/QEnumeration>
#include <QtUml/QEnumerationLiteral>
#include <QtUml/QClass>
#include <QtUml/QComponent>
#include <QtUml/QComponentRealization>
#include <QtCore/QDebug>
using namespace QtUml;
using namespace QtWrappedObjects;
void checkProperties(QWrappedObject *wrappedObject)
{
const QMetaWrappedObject *metaWrappedObject = wrappedObject->metaWrappedObject();
int propertyCount = metaWrappedObject->propertyCount();
for (int i = 0; i < propertyCount; ++i) {
qDebug() << "Property" << metaWrappedObject->property(i).metaProperty.name();
}
}
int main ()
{
QWrappedObjectPointer<QModel> model = new QModel;
model->setName("MyModel");
QWrappedObjectPointer<QPackage> package = new QPackage;
package->setName("Package1");
QWrappedObjectPointer<QPrimitiveType> primitiveType = new QPrimitiveType;
primitiveType->setName("String");
QWrappedObjectPointer<QEnumeration> enumeration = new QEnumeration;
enumeration->setName("DirectionKind");
QWrappedObjectPointer<QEnumerationLiteral> directionIn = new QEnumerationLiteral;
directionIn->setName("DirectionIn");
enumeration->addOwnedLiteral(directionIn);
QWrappedObjectPointer<QClass> class_ = new QClass;
class_->setName("Student");
class_->setAbstract(false);
package->addOwnedType(enumeration);
package->addOwnedType(class_);
//model->addNestedPackage(package);
model->addPackagedElement(package);
model->addOwnedType(primitiveType);
qDebug() << "model->ownedElements().size():" << model->ownedElements().size();
qDebug() << "model->members().size():" << model->members().size();
qDebug() << "model->ownedMembers().size():" << model->ownedMembers().size();
qDebug() << "model->ownedRules().size():" << model->ownedRules().size();
qDebug() << "model->packagedElements().size():" << model->packagedElements().size();
qDebug();
qDebug() << "package->qualifiedName():" << package->qualifiedName();
qDebug() << "package->nestingPackage() ?" << ((package->nestingPackage() == 0) ? "Nao":"Sim");
qDebug() << "class_->qualifiedName():" << class_->qualifiedName();
qDebug() << "enumeration->qualifiedName():" << enumeration->qualifiedName();
qDebug() << "primitiveType->qualifiedName():" << primitiveType->qualifiedName();
qDebug() << "directionIn->qualifiedName():" << directionIn->qualifiedName();
//model->removeNestedPackage(package);
model->removePackagedElement(package);
//model->addNestedPackage(package);
//model->addPackagedElement(package);
qDebug() << "REMOVED";
qDebug() << "model->ownedElements().size():" << model->ownedElements().size();
qDebug() << "model->members().size():" << model->members().size();
qDebug() << "model->ownedMembers().size():" << model->ownedMembers().size();
qDebug() << "model->ownedRules().size():" << model->ownedRules().size();
qDebug() << "model->packagedElements().size():" << model->packagedElements().size();
qDebug();
qDebug() << "package->qualifiedName():" << package->qualifiedName();
qDebug() << "package->nestingPackage() ?" << ((package->nestingPackage() == 0) ? "Nao":"Sim");
qDebug() << "class_->qualifiedName():" << class_->qualifiedName();
qDebug() << "enumeration->qualifiedName():" << enumeration->qualifiedName();
qDebug() << "primitiveType->qualifiedName():" << primitiveType->qualifiedName();
qDebug() << "directionIn->qualifiedName():" << directionIn->qualifiedName();
qDebug() << "model->nestedPackages().size():" << model->nestedPackages().size();
qDebug() << "model->ownedStereotypes().size():" << model->ownedStereotypes().size();
qDebug() << "model->ownedTypes().size():" << model->ownedTypes().size();
checkProperties(model);
QWrappedObjectPointer<QComponent> c1 = new QComponent;
QWrappedObjectPointer<QComponent> c2 = new QComponent;
QWrappedObjectPointer<QComponentRealization> cr = new QComponentRealization;
cr->setAbstraction(c1);
qDebug();
qDebug() << "cr->suppliers().size():" << cr->suppliers().size();
qDebug() << "c1->realizations().size():" << c1->realizations().size();
qDebug() << "c2->realizations().size():" << c2->realizations().size();
cr->setAbstraction(c2);
qDebug();
qDebug() << "cr->suppliers().size():" << cr->suppliers().size();
qDebug() << "c1->realizations().size():" << c1->realizations().size();
qDebug() << "c2->realizations().size():" << c2->realizations().size();
cr->setAbstraction(0);
qDebug();
qDebug() << "cr->suppliers().size():" << cr->suppliers().size();
qDebug() << "c1->realizations().size():" << c1->realizations().size();
qDebug() << "c2->realizations().size():" << c2->realizations().size();
cr->setAbstraction(c1);
package->addOwnedType(c1);
package->addOwnedType(c2);
delete model.data();
delete package.data();
}
|