summaryrefslogtreecommitdiffstats
path: root/examples/uml/xmi-write
diff options
context:
space:
mode:
authorSandro S. Andrade <sandroandrade@kde.org>2013-01-09 03:15:33 -0300
committerSandro S. Andrade <sandroandrade@kde.org>2013-01-09 07:18:03 +0100
commit63faf4d975c959754fe448e8d71678dbfcd42e1e (patch)
tree85eb664c1288d525ff0ab025f0865343f5d73434 /examples/uml/xmi-write
parent9c117059c1871ea9421607ed78070fa393161765 (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.cpp61
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