diff options
author | Sandro S. Andrade <sandroandrade@kde.org> | 2013-01-09 03:15:33 -0300 |
---|---|---|
committer | Sandro S. Andrade <sandroandrade@kde.org> | 2013-01-09 07:18:03 +0100 |
commit | 63faf4d975c959754fe448e8d71678dbfcd42e1e (patch) | |
tree | 85eb664c1288d525ff0ab025f0865343f5d73434 /examples/uml/xmi-write | |
parent | 9c117059c1871ea9421607ed78070fa393161765 (diff) |
Initial working implementation of XMI read/write in UML editor
Change-Id: I98abf6c5c8b3ac3fee78087a4b07fdf72ba35617
Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'examples/uml/xmi-write')
-rw-r--r-- | examples/uml/xmi-write/main.cpp | 61 |
1 files changed, 37 insertions, 24 deletions
diff --git a/examples/uml/xmi-write/main.cpp b/examples/uml/xmi-write/main.cpp index e9fac002..31e7d40a 100644 --- a/examples/uml/xmi-write/main.cpp +++ b/examples/uml/xmi-write/main.cpp @@ -1,42 +1,55 @@ -#include <QtWrappedObjects> +#include <QtWrappedObjects/QtWrappedObjects> -#include <QtUml/QPackage> -#include <QtUml/QClass> -#include <QtUml/QUseCase> -#include <QtUml/QPort> -#include <QtUml/QStereotype> -#include <QtUml/QComment> +#include <QtUml/QtUml> #include <QtMof/QXmiWriter> -using QtMof::QXmiWriter; -using namespace QtUml; 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("RootPackage"); + 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"); - package->addOwnedType(class_); + class_->setAbstract(false); + class_->setVisibility(QtUml::QtUml::VisibilityPackage); - QWrappedObjectPointer<QUseCase> useCase = new QUseCase; - useCase->setName("StudentUseCase1"); - class_->addOwnedUseCase(useCase); + QWrappedObjectPointer<QProperty> property = new QProperty; + property->setName("name"); + property->setType(primitiveType); + class_->addOwnedAttribute(property); - QWrappedObjectPointer<QPort> port = new QPort; - port->setName("StudentPort"); - class_->addOwnedAttribute(port); + QWrappedObjectPointer<QClass> class2_ = new QClass; + class2_->setName("InterStudent"); - QWrappedObjectPointer<QStereotype> stereotype = new QStereotype; - stereotype->setName("MyStereotype"); - package->addPackagedElement(stereotype); + QWrappedObjectPointer<QGeneralization> generalization = new QGeneralization; + generalization->setObjectName("generalization"); + generalization->setGeneral(class_); + class2_->addGeneralization(generalization); + + package->addOwnedType(enumeration); + package->addOwnedType(class_); + package->addOwnedType(class2_); - QWrappedObjectPointer<QComment> comment = new QComment; - comment->setBody("Testing comment"); - stereotype->addOwnedComment(comment); + model->addNestedPackage(package); + model->addOwnedType(primitiveType); QFile file("test.xmi"); @@ -45,7 +58,7 @@ int main () return 1; } - QXmiWriter writer(package); + QXmiWriter writer(model); if (writer.writeFile(&file)) qDebug() << "XMI file saved !"; else |