RCP Forms User Manual Contents
This user manual is maintained in the Wiki, thus improvement contributions are welcome !
RCPForms offers different layers which you can use independently to suite your specific needs.
If you still don't know if you need RCPForms, these topics might give you a birds eye perspective on what you need and if and how rcpforms helps you in creating your rcp application.
- Definition of the roles which are used during the development with RCP Forms.
- Preconditions defines which versions of Eclipse and Java you need to get started, which architectural constraints they place on your projects and which skills you need.
- Getting started shows you how to get up and running fast.
- Why do I need this ? explains the main advantages of using RCPForms and gives you a quick view of the example application.
- Features shows you what RCPForms offers in an easy to read overview.
Now lets dig into details. Essential for the understanding of RCPForms is the layering, thus most information is sorted by layer.
Of course it is recommended to use all layers of rcpforms, since this gives you the most benefit; but legacy code and other constraints
may let you choose to only take advantage e.g. of the widget wrapper layer or the table support.
- Layers and Plugins Map defines the different layers and plugins and provides more usage details for each layer.
- Core Concepts gives you an overview of the core architecture and the concepts used.
- Howtos defines a scenario-based quick start into solving your problems with RCPForms
- Customizing and Extending RCPForms will give an idea where and how you can customize the appearance of Forms, Data Binding, and other behavior. It also describes how you can add custom composite controls, custom compounds and the internal mechanisms involved in creating and layouting controls, compounds and composites
- FAQ will contain a collection of frequently asked questions or frequently encountered problems
EMF?
There is support for EMF available in the svn repository; this allows binding rcpforms to emf models using a model adapter. The code is alpha and expected to have breaking api changes in the future.
Anyway, the client form code should be mainly the same as for beans, thus only configuration code should change.
To make EMF work with rcpforms currently some hooks have to be configured to replace data binding by emf bindings, replace converters and validators by emf converters and validators and so on.
This all is done in EMFFormFactory.configureForEMF():
- register EMFModelAdapter: ModelAdapter.registerAdapter(new EMFModelAdapter());
- overwrite ValidationManager to create EMFUpdateValueStrategy instead of RCPFormsUpdateValueStrategy
- set default converter update strategy: ConverterRegistry.getInstance().setDefaultStrategy(new EMFDefaultConverterUpdateStrategy());
- set default ObservableListContentProvider: TableUtil.setDefaultContentProviderClass(ObservableListEObjectContentProvider.class);
There is an example available in net.sf.rcpforms.examples.emf in class EMFExampleFormPart which you can start as java application.