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.
Eclipse UML Generators/Specification/UserInterface/ConsistencyImprovement
Contents
Evolution Specification: User interface consistency improvement
Current status is DRAFT
Preamble
This is a proposal to improve the user interface consistency.
Relevant tickets:
- Bug 449080 - User interface consistency improvement
Introduction
The goal of this ticket is to make the user interface coherent for all the possible generations:
- context menus;
- generation builders;
- properties pages.
Detailed Specification
Generation processing
Java and RTSJ generation are launched on UML files and C generation is launched on UML Elements (classes, packages...).
Configuration
All generations, Java, RTSJ and C, can be specialized using some properties like the generation target folder, the file headers... Currently, RTSJ and C generation use UML model properties
and Java generation defines them in the launcher.
For consistency, all generation properties will be accessible from the UML model properties (as RTSJ and C).
With this properties, there is only one configuration by generation types. For example, Java generation has only one configuration per UML file.
Also, for Java generation, there is no synchronization between configuration in properties and in Acceleo launcher. But, in conception, there will be the same code that display the configuration in properties and launcher.
Launching from UML model
Currently, Java is generated with an Acceleo launcher
and RTSJ is launched with context menus
All generations can be launched in the same context menu: a menu "UML Generators". Icons on menus will be added.
The generations use the configuration defined in properties pages (see Configuration part). The Java generation Acceleo launcher will not be removed. Both of the launcher and the menu can be used to generate Java.
Launching from UML elements
C generation is directly launched in the context menu. As Java generation, the "UML Generators" menu is added for consistency.
Reversing processing
Configuration
Properties can be defined for C reverse, they are available from C project properties. No updates will be done.
Launching from nature
There are two menu actions to add and remove the C2UML nature from C projects. They currently are in the context menu "Convert" witch is used to convert projects in a nature. However, this actions can launch the reverse so they will be moved in "UML Generators" menu, like the others actions.
Icons will be added for menus.
Backward Compatibility and Migration Paths
Metamodel Changes
This evolution does not change any meta-models.
API Changes
This evolution does not change any API.
User Interface Changes
- Generation actions will be contained in a "UML Generators" menu;
- Java generation will be launched from context menus actions;
- Java generation properties will be accessible from UML model properties;
- Icons will be added in menu actions.
Documentation Changes
All the user manual should integrate the user interfaces updates.
Tests and Non-regression strategy
This part of the document should describe the strategy to use to correctly test the evolution and guarantee the non-regression.
Implementation choices and tradeoffs
Any important tradeoff or choice made during the implementation should be referenced here with pros/cons leading to the final decision.