diff options
author | Sandro S. Andrade <sandroandrade@kde.org> | 2013-01-09 00:13:00 -0300 |
---|---|---|
committer | Sandro S. Andrade <sandroandrade@kde.org> | 2013-01-09 04:13:54 +0100 |
commit | 9c117059c1871ea9421607ed78070fa393161765 (patch) | |
tree | dde3d58c99f6806ba4e2cf8e40a696d7ad0fcbe9 /examples/uml/xmi-write | |
parent | a11108bd8de2aa3b2b5b7a68fea7a009be902a9c (diff) |
Provide 'meta-model' classes for initializing meta-types
Change-Id: Ia1125a8f6c75c84945d06cd4808d4ce098e7fbbf
Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'examples/uml/xmi-write')
-rw-r--r-- | examples/uml/xmi-write/main.cpp | 57 | ||||
-rw-r--r-- | examples/uml/xmi-write/xmi-write.pro | 12 |
2 files changed, 69 insertions, 0 deletions
diff --git a/examples/uml/xmi-write/main.cpp b/examples/uml/xmi-write/main.cpp new file mode 100644 index 00000000..e9fac002 --- /dev/null +++ b/examples/uml/xmi-write/main.cpp @@ -0,0 +1,57 @@ +#include <QtWrappedObjects> + +#include <QtUml/QPackage> +#include <QtUml/QClass> +#include <QtUml/QUseCase> +#include <QtUml/QPort> +#include <QtUml/QStereotype> +#include <QtUml/QComment> + +#include <QtMof/QXmiWriter> +using QtMof::QXmiWriter; + +using namespace QtUml; +using namespace QtWrappedObjects; + +int main () +{ + QWrappedObjectPointer<QPackage> package = new QPackage; + package->setName("RootPackage"); + + QWrappedObjectPointer<QClass> class_ = new QClass; + class_->setName("Student"); + package->addOwnedType(class_); + + QWrappedObjectPointer<QUseCase> useCase = new QUseCase; + useCase->setName("StudentUseCase1"); + class_->addOwnedUseCase(useCase); + + QWrappedObjectPointer<QPort> port = new QPort; + port->setName("StudentPort"); + class_->addOwnedAttribute(port); + + QWrappedObjectPointer<QStereotype> stereotype = new QStereotype; + stereotype->setName("MyStereotype"); + package->addPackagedElement(stereotype); + + QWrappedObjectPointer<QComment> comment = new QComment; + comment->setBody("Testing comment"); + stereotype->addOwnedComment(comment); + + QFile file("test.xmi"); + + if (!file.open(QFile::WriteOnly | QFile::Text)) { + qDebug() << "Cannot write file !"; + return 1; + } + + QXmiWriter writer(package); + if (writer.writeFile(&file)) + qDebug() << "XMI file saved !"; + else + qDebug() << "Error when writing XMI file !"; + file.close(); + + delete package.data(); +} + diff --git a/examples/uml/xmi-write/xmi-write.pro b/examples/uml/xmi-write/xmi-write.pro new file mode 100644 index 00000000..f6acab0e --- /dev/null +++ b/examples/uml/xmi-write/xmi-write.pro @@ -0,0 +1,12 @@ +TEMPLATE = app +TARGET = xmi-write +DEPENDPATH += . +INCLUDEPATH += . + +QT += uml mof +QT -= gui + +CONFIG += c++11 + +# Input +SOURCES += main.cpp |