Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/diagram-definition/org.eclipse.papyrus.umldi2dg/transforms/UmlEdges.qvto')
-rw-r--r--extraplugins/diagram-definition/org.eclipse.papyrus.umldi2dg/transforms/UmlEdges.qvto73
1 files changed, 65 insertions, 8 deletions
diff --git a/extraplugins/diagram-definition/org.eclipse.papyrus.umldi2dg/transforms/UmlEdges.qvto b/extraplugins/diagram-definition/org.eclipse.papyrus.umldi2dg/transforms/UmlEdges.qvto
index 800d5aa1cb3..38787945d19 100644
--- a/extraplugins/diagram-definition/org.eclipse.papyrus.umldi2dg/transforms/UmlEdges.qvto
+++ b/extraplugins/diagram-definition/org.eclipse.papyrus.umldi2dg/transforms/UmlEdges.qvto
@@ -86,14 +86,6 @@ mapping UML::Dependency::edgeToPath(edge : UMLDI::UmlEdge) : DG::Path {
endif;
}
-mapping UML::Generalization::edgeToPath(edge : UMLDI::UmlEdge) : DG::Path {
- endMarker := edge.resolveDefinitions().getMarker("endHollowClosedArrow");
-}
-
-mapping UML::GeneralizationSet::edgeToPath(edge : UMLDI::UmlEdge) : DG::Path {
- _class := "dashed";
-}
-
mapping UML::Element::edgeToPath(edge : UMLDI::UmlEdge) : DG::Path {
}
@@ -115,6 +107,26 @@ mapping UML::Extension::edgeToPath(edge : UMLDI::UmlEdge) : DG::Path {
endMarker := edge.resolveDefinitions().getMarker("endSolidClosedArrow");
}
+mapping UML::Generalization::edgeToPath(edge : UMLDI::UmlEdge) : DG::Path {
+ endMarker := edge.resolveDefinitions().getMarker("endHollowClosedArrow");
+}
+
+mapping UML::GeneralizationSet::edgeToPath(edge : UMLDI::UmlEdge) : DG::Path {
+ _class := "dashed";
+}
+
+mapping UML::GeneralOrdering::edgeToPath(edge : UMLDI::UmlEdge) : DG::Path {
+ var f := edge.waypoint->first();
+ var l := edge.waypoint->last();
+
+ command += object DG::MoveTo { point := f.clone().oclAsType(DC::Point) };
+ command += object DG::LineTo { point := object DC::Point { x:=(f.x+l.x)/2; y:=(f.y+l.y)/2 } };
+ command += object DG::LineTo { point := l.clone().oclAsType(DC::Point) };
+
+ midMarker := edge.resolveDefinitions().getMarker("midSolidClosedArrow");
+ _class := "dashed";
+}
+
mapping UML::Include::edgeToPath(edge : UMLDI::UmlEdge) : DG::Path {
_class := "dashed";
endMarker := edge.resolveDefinitions().getMarker("endOpenArrow");
@@ -134,6 +146,51 @@ mapping UML::InterfaceRealization::edgeToPath(edge : UMLDI::UmlEdge) : DG::Path
} endif;
}
+mapping UML::Message::edgeToPath(edge : UMLDI::UmlEdge) : DG::Path {
+ if self.messageSort = UML::MessageSort::synchCall then {
+ if self.messageKind = UML::MessageKind::lost then
+ endMarker := edge.resolveDefinitions().getMarker("endSolidCircleSolidClosedArrow")
+ else
+ endMarker := edge.resolveDefinitions().getMarker("endSolidClosedArrow")
+ endif
+ } else if self.messageSort = UML::MessageSort::asynchCall or self.messageSort = UML::MessageSort::asynchSignal then {
+ if self.messageKind = UML::MessageKind::lost then
+ endMarker := edge.resolveDefinitions().getMarker("endSolidCircleOpenArrow")
+ else
+ endMarker := edge.resolveDefinitions().getMarker("endOpenArrow")
+ endif
+ } else if self.messageSort = UML::MessageSort::reply then {
+ if self.messageKind = UML::MessageKind::lost then
+ endMarker := edge.resolveDefinitions().getMarker("endSolidCircleSolidClosedArrow")
+ else
+ endMarker := edge.resolveDefinitions().getMarker("endSolidClosedArrow")
+ endif;
+ _class := "dashed";
+ } else if self.messageSort = UML::MessageSort::createMessage then {
+ if self.messageKind = UML::MessageKind::lost then
+ endMarker := edge.resolveDefinitions().getMarker("endSolidCircleOpenArrow")
+ else
+ endMarker := edge.resolveDefinitions().getMarker("endOpenArrow")
+ endif;
+ _class := "dashed";
+ } else if self.messageSort = UML::MessageSort::deleteMessage then {
+ if self.messageKind = UML::MessageKind::lost then
+ endMarker := edge.resolveDefinitions().getMarker("endSolidCircleSolidClosedArrow")
+ else
+ endMarker := edge.resolveDefinitions().getMarker("endSolidClosedArrow")
+ endif;
+ } else if self.messageSort = UML::MessageSort::deleteMessage then {
+ if self.messageKind = UML::MessageKind::lost then
+ endMarker := edge.resolveDefinitions().getMarker("endSolidCircleSolidClosedArrow")
+ else
+ endMarker := edge.resolveDefinitions().getMarker("endSolidClosedArrow")
+ endif;
+ } endif endif endif endif endif endif;
+ if self.messageKind = UML::MessageKind::found then
+ startMarker := edge.resolveDefinitions().getMarker("startSolidCircle")
+ endif;
+}
+
mapping UML::PackageImport::edgeToPath(edge : UMLDI::UmlEdge) : DG::Path {
_class := "dashed";
endMarker := edge.resolveDefinitions().getMarker("endOpenArrow");

Back to the top