Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Eclipse UML Generators/Specification/UserInterface/ConsistencyImprovement

< Eclipse UML Generators
Revision as of 09:09, 30 October 2014 by Nathalie.lepine.obeo.fr (Talk | contribs) (Configuration)

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

UMLGen-Properties C.png

and Java generation defines them in the launcher.

UMLGen-Properties Generate Java 1.png


For consistency, all generation properties will be accessible from the UML model properties (as RTSJ and C).

UMLGen-Properties-After.png


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

UMLGen-JavaBuilder.png

and RTSJ is launched with context menus

UMLGen-Generate AutoJava.png


All generations can be launched in the same context menu: a menu "UML Generators". Icons on menus will be added.

UMLGen-ContextMenu.png

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.

UMLGen-ContextMenuC-Before.png
UMLGen-ContextMenuC-after.png


Reversing processing

Configuration

Properties can be defined for C reverse, they are available from C project properties. No updates will be done.

UMLGen-Properties Reverse C.png

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.

UMLGen-ContextMenuCNature2.png

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.

Back to the top