summaryrefslogtreecommitdiffstats
path: root/examples/uml/xmi-write
diff options
context:
space:
mode:
authorSandro S. Andrade <sandroandrade@kde.org>2013-01-09 00:13:00 -0300
committerSandro S. Andrade <sandroandrade@kde.org>2013-01-09 04:13:54 +0100
commit9c117059c1871ea9421607ed78070fa393161765 (patch)
treedde3d58c99f6806ba4e2cf8e40a696d7ad0fcbe9 /examples/uml/xmi-write
parenta11108bd8de2aa3b2b5b7a68fea7a009be902a9c (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.cpp57
-rw-r--r--examples/uml/xmi-write/xmi-write.pro12
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