| Summary: | [Notation] Notation::Styles should be used instead of Ecore::eAnnotation | ||
|---|---|---|---|
| Product: | [Modeling] Papyrus | Reporter: | Yann Tanguy <yann.tanguy> |
| Component: | Diagram | Assignee: | Project Inbox <mdt-papyrus-inbox> |
| Status: | NEW --- | QA Contact: | Camille Letavernier <cletavernier> |
| Severity: | enhancement | ||
| Priority: | P3 | ||
| Version: | 0.9.0 | ||
| Target Milestone: | 1.1.0 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
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. |
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>