blob: 31e7d40a0d24e4bb2712ada700db0ed92b69304c (
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
|
#include <QtWrappedObjects/QtWrappedObjects>
#include <QtUml/QtUml>
#include <QtMof/QXmiWriter>
using namespace QtWrappedObjects;
using namespace QtUml;
using QtMof::QXmiWriter;
int main ()
{
QWrappedObjectPointer<QPackage> model = new QPackage;
model->setName("MyRootPackage");
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);
class_->setVisibility(QtUml::QtUml::VisibilityPackage);
QWrappedObjectPointer<QProperty> property = new QProperty;
property->setName("name");
property->setType(primitiveType);
class_->addOwnedAttribute(property);
QWrappedObjectPointer<QClass> class2_ = new QClass;
class2_->setName("InterStudent");
QWrappedObjectPointer<QGeneralization> generalization = new QGeneralization;
generalization->setObjectName("generalization");
generalization->setGeneral(class_);
class2_->addGeneralization(generalization);
package->addOwnedType(enumeration);
package->addOwnedType(class_);
package->addOwnedType(class2_);
model->addNestedPackage(package);
model->addOwnedType(primitiveType);
QFile file("test.xmi");
if (!file.open(QFile::WriteOnly | QFile::Text)) {
qDebug() << "Cannot write file !";
return 1;
}
QXmiWriter writer(model);
if (writer.writeFile(&file))
qDebug() << "XMI file saved !";
else
qDebug() << "Error when writing XMI file !";
file.close();
delete package.data();
}
|