Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Papyrus/Oxygen Work Description/Refactoring/PaletteDefinition
Contents
Palette Definition
Papyrus provides facilities to define easily domain specific palettes to be bound to the diagram editors.
However, Papyrus provides two mecahnism to do that. The first one was based on an ad hoc xml configuration file and it is now deprecated framework. The new framework is based on a model definition.
This tasks aims at:
- removing the deprecated framework from Papyrus
- replace extension-based definitions of raw diagram editors by a model-based definition
- improve the model-based palette definition framework to align with legacy implementations if required
- provide guidance and all the facilities to ease the migration from the deprecated framework to the new model-based
Associated tasks
Main task
Related tasks
- Bug 508750 - |Toolsmiths| dispatching customization palette plugins in their own functional unit
- Bug 447262 - |Documentation| No embedded documentation for Diagram Editor Palette Customization
- Bug 510587 - |Palette| the palette must not be generated by using GMF gen
- Bug 512110 - |Palette| We must a to possibility to override Tool programmaticaly
- Bug 512944 - |ElementType| An adviceBindingConfiguration should exist to set cssClass notation attribute
- Bug 515531 - |Palette| migration tools have to be done to pass from 0.7 to 0.8 of paletteconfiguration model.
Steps
- Remove old framework classes in:
- - oep.uml.diagram.common.service
- - oep.uml.diagram.common.service.palette
- Move palette framework classes
- from
- - oep.uml.diagram.common.part
- - oep.uml.diagram.common.service
- - oep.uml.diagram.common.service.palette
- to
- - oep.infra.gmfdiag.common.service.palette
- Move palette configuration model
- from
- - oep.uml.diagram.paletteconfiguration
- to
- - oep.infra.gmfdiag.paletteconfiguration
- Move palette extension points
- from
- - oep.uml.diagram.common.paletteCustomization
- - oep.uml.diagram.common.paletteDefinition
- to
- - oep.infra.gmfdiag.common.paletteCustomization
- - oep.infra.gmfdiag.common.paletteDefinition
- Delete plug-ins
- - org.eclipse.papyrus.customization.paletteconfiguration Plug-in
- The plug-in seems not to be usefull. It juste declare facet profile for model explorer...with some query.
- - org.eclipse.papyrus.uml.diagram.css.palette
- The plug-in was used to implement a post action to add css style to an element
- - org.eclipse.papyrus.uml.diagram.common.aspectToolProvider extension point
- - org.eclipse.papyrus.customization.paletteconfiguration Plug-in
- Move files
- - from uml to infra for oep...paletteconfiguration⌠plug-in
- - from customization to toolsmith for org.eclipse.papyrus.customization.palette
- Update paletteConfiguration metamodel
- - Add entryClassName String property at ToolConfiguration Class. (see Bug 512110)
- - Replace elementTypeId by elementType references.
- - Update java class to be compliant with new metamodel
- - Update paletteConfiguaration Properties View
- Create migration plugin for paletteConfiguration model
- - use of qvto
- Migrate Palette (see Bug 510587)
- - UML (With gmfGen generation)
- - SYSML (with migration tool, the paletteConf from 0.7 is done)
- Create CSSStyle Action for new framework
- - creation of a plugin to add new action which add cssClass notation property.
- Write Migration guide (see Bug 447262)
- - Writed in the palette customization documentation
- Create migration Tools for paletteconfiguration 0.7 to 0.8 (see Bug 515531)
- Update JUnit Tests
- Create new tests
- - JUnit
- - RcpTT
Progression
- Step 1 to 9 (except 8): Gerrit review integrated in master 92099
- Step 10: In wait for now (see bug 512944)
- Step 11: In Progress in gerrit review 91047 and wiki done here
- Step 12-13: In wait for now
Reviews
- Gerrit 92099: Bug 512343 - |Palette| Papyrus Palette framework should be refactored
- Gerrit 91047: Bug 447262 - |Documentation| No embedded documentation for Diagram Editor Palette Customization
Regression
- Manage of required profiles of palette need uml dependencies which have been removed.
The new Architecture framework will handle the role to load palette taking account of the context.