diff options
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 |