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.
EEF/User Guide/Custom Widget Generation
Contents
Need to generate new widgets ?
In the CustomElementEditor guide, we saw how to ponctually include specific widgets in EEF generated editing forms. If this need is becoming common, EEF offers the ability to extend its generators to generate new widgets.
Environment initialization
As we will create acceleo generator, we need to install the Acceleo SDK. It can be done via the release train:
Next, in an empty workspace, we create an Acceleo Project. In the new project wizard, we can initialize our first template:
Let's name it spinnerGettersSetter. It need two metamodels:
The other data are marginal, we will erase the generated body of this module.
We also have to add to the generator project a dependency to the EEF Codegen plugin : org.eclipse.emf.eef.codegen.
And finally, we add an Extension to the generator project. The org.eclipse.acceleo.engine.dynamic.templates defines a project as an dynamic module able to extend existing generators. In this extension, we must specify the folders containing dynamic modules. In our case, we can specify the folder org/eclipse/emf/samples/eef/gen/spinner/common.
After these step, we can create our modules to generate spinner with EEF.
Creating Acceleo modules to generate a specific widget with EEF
In the CustomElementEditor guide, we modify 4 classes in the code generated by EEF in order to add manually a specific widget in an EEF editing form. To generate a specific widget, we have to create 4 generation modules.