diff options
author | Sandro S. Andrade <sandroandrade@kde.org> | 2013-11-17 02:24:27 -0300 |
---|---|---|
committer | Sandro S. Andrade <sandroandrade@kde.org> | 2013-11-17 06:20:21 +0100 |
commit | bd8c5b498950e8a01981fbbfcf3ace4baec81804 (patch) | |
tree | adf3492dbff56abd552d1d44f38c988f1645387b /examples/uml | |
parent | 4e158477364f5f75b12b7f93d94207394f741e98 (diff) |
Add concrete syntax handling of shared and composite UML properties
Change-Id: I1488821020ccc41fc52cc4b52b1ccc624e935cbc
Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'examples/uml')
-rw-r--r-- | examples/uml/duse-mt/src/app/example.xmi | 21 | ||||
-rw-r--r-- | examples/uml/duse-mt/src/plugins/umlconcretesyntax/qmlplugin/relationshipitem.cpp | 4 |
2 files changed, 22 insertions, 3 deletions
diff --git a/examples/uml/duse-mt/src/app/example.xmi b/examples/uml/duse-mt/src/app/example.xmi index 26f0e517..1e561dd5 100644 --- a/examples/uml/duse-mt/src/app/example.xmi +++ b/examples/uml/duse-mt/src/app/example.xmi @@ -15,6 +15,14 @@ <association xmi:idref="MyRootPackage-A_student_professor"/> </ownedEnd> </packagedElement> + <packagedElement xmi:type="uml:Association" name="A_student_enrollment" xmi:id="MyRootPackage-A_student_enrollment"> + <memberEnd xmi:idref="MyRootPackage-Package1-Student-enrollment"/> + <memberEnd xmi:idref="A_student_enrollment-student"/> + <ownedEnd xmi:type="uml:Property" name="student" visibility="public" xmi:id="A_student_enrollment-student"> + <type xmi:idref="MyRootPackage-Package1-Student"/> + <association xmi:idref="MyRootPackage-A_student_enrollment"/> + </ownedEnd> + </packagedElement> <packagedElement xmi:type="uml:Package" name="Package1" xmi:id="MyRootPackage-Package1"> <packagedElement xmi:type="uml:Class" isAbstract="true" name="Student" xmi:id="MyRootPackage-Package1-Student"> <ownedAttribute xmi:type="uml:Property" visibility="public" name="name" xmi:id="MyRootPackage-Package1-Student-name"> @@ -23,9 +31,12 @@ <ownedAttribute xmi:type="uml:Property" visibility="public" name="age" xmi:id="MyRootPackage-Package1-Student-age"> <type href=":/metamodels/PrimitiveTypes.xmi#Integer"/> </ownedAttribute> - <ownedAttribute xmi:type="uml:Property" visibility="public" name="advisor" xmi:id="MyRootPackage-Package1-Student-advisor" aggregation="composite"> + <ownedAttribute xmi:type="uml:Property" visibility="public" name="advisor" xmi:id="MyRootPackage-Package1-Student-advisor" aggregation="shared"> <type href="MyRootPackage-Package1-Professor"/> </ownedAttribute> + <ownedAttribute xmi:type="uml:Property" visibility="public" name="enrollment" xmi:id="MyRootPackage-Package1-Student-enrollment" aggregation="composite"> + <type href="MyRootPackage-Package1-Enrollment"/> + </ownedAttribute> <ownedOperation xmi:type="uml:Operation" name="getName" xmi:id="MyRootPackage-Package1-Student-getName"/> </packagedElement> <packagedElement xmi:type="uml:Class" name="Professor" xmi:id="MyRootPackage-Package1-Professor"> @@ -36,6 +47,14 @@ <type href=":/metamodels/PrimitiveTypes.xmi#String"/> </ownedAttribute> </packagedElement> + <packagedElement xmi:type="uml:Class" name="Enrollment" xmi:id="MyRootPackage-Package1-Enrollment"> + <ownedAttribute xmi:type="uml:Property" visibility="public" name="id" xmi:id="MyRootPackage-Package1-Enrollment-id"> + <type href=":/metamodels/PrimitiveTypes.xmi#Integer"/> + </ownedAttribute> + <ownedAttribute xmi:type="uml:Property" visibility="public" name="date" xmi:id="MyRootPackage-Package1-Enrollment-date"> + <type href=":/metamodels/PrimitiveTypes.xmi#String"/> + </ownedAttribute> + </packagedElement> <packagedElement xmi:type="uml:Enumeration" name="DirectionKind" xmi:id="MyRootPackage-Package1-DirectionKind"> <ownedLiteral xmi:type="uml:EnumerationLiteral" name="DirectionIn" xmi:id="MyRootPackage-Package1-DirectionKind-DirectionIn"/> </packagedElement> diff --git a/examples/uml/duse-mt/src/plugins/umlconcretesyntax/qmlplugin/relationshipitem.cpp b/examples/uml/duse-mt/src/plugins/umlconcretesyntax/qmlplugin/relationshipitem.cpp index b1790525..f528436f 100644 --- a/examples/uml/duse-mt/src/plugins/umlconcretesyntax/qmlplugin/relationshipitem.cpp +++ b/examples/uml/duse-mt/src/plugins/umlconcretesyntax/qmlplugin/relationshipitem.cpp @@ -80,8 +80,8 @@ void RelationshipItem::paint(QPainter *painter) transform.rotate(-originalLine.angle()); painter->drawPolyline(transform.map(arrow)); - if (_end1Aggregation == "composite") { - painter->setBrush(QBrush(Qt::black)); + if (_end1Aggregation == "composite" || _end1Aggregation == "shared") { + painter->setBrush(QBrush(_end1Aggregation == "composite" ? Qt::black:Qt::white)); QPolygon diamond(QVector<QPoint>() << QPoint(0, 0) << QPoint(10, -10) << QPoint(20, 0) << QPoint(10, 10)); QTransform transform; transform.translate(p1.x()-x(), p1.y()-y()); |