Community
Participate
Working Groups
Various graphical properties are stored directly in diagram (notation) using information directly store in eAnnotations. Notation provides a mean to add graphical information using "Styles". This could be a better candidate than eAnnotation to store graphical information like: - stereotype appearance - qualified name appearance - shadow - icon visibility - ... Some examples are given below. <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5WiKopuvEd-IjKjr9t5AXg" source="ShadowFigure"> <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5WiKo5uvEd-IjKjr9t5AXg" key="ShadowFigure_Value" value="false"/> </eAnnotations> <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5WiKpJuvEd-IjKjr9t5AXg" source="displayNameLabelIcon"> <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5WiKpZuvEd-IjKjr9t5AXg" key="displayNameLabelIcon_value" value="false"/> </eAnnotations> <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5WiKppuvEd-IjKjr9t5AXg" source="QualifiedName"> <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5WiKp5uvEd-IjKjr9t5AXg" key="QualifiedNameDepth" value="1000"/> </eAnnotations>
Starting with 1.0.0/Luna, Papyrus provides an automatic diagram migration framework. So, this can now be implemented without risk. (At least) the following EAnnotations should be converted to NamedStyles: - elementIcon - shadow - qualifiedNameDepth Most code from infra.emf.appearance and uml.appearance could then be removed, including the AppearanceStyleProvider extension point (As it was essentially implemented as a bridge for the CSS component). The CSS natively support the Notation::NamedStyle, so most code in these plug-ins would become useless.