The Happy Marriage of EMF, Data binding, UI Forms and Field Assist in larger RCP Applications
Imagine you have to develop a larger Eclipse RCP based application with many dozens - maybe hundreds - of views, dialogs and wizards all based on a large common EMF based data model. How do you make sure you get a consistent and modern interface that can be extended in the future without redesigning everything again and again?
Basically, how do you solve these common problems:
- all currencies, amounts, dates, customer IDs and whatever are shown in the same manner all over the application
- all date fields support the same set of shortcuts for "today", "next week", "next weekend", etc.
- all enumeration fields of the same base type are mapped in the same manner - whether a combobox, list or simple text field is wanted in a specific form
- all forms use the same colors, fonts and images
- the application can still be developed using both automated UI generation and existing commercial UI design tools
- when new UI ideas are developed they can be added to the application without having to redo all forms again
- the UI can utilize the current UI Forms, EMF validators, and field assist without having to hand code everything repeatably
- the developed code does not contain too much boilerplate code for the UI
This talk describes one possible solution to these problems based on a combination of the existing data binding toolkit, field assist framework and custom decoration of widgets. The configuration of the solution is based on a relatively simple extension point as well as annotations in the EMF model.
Tonny Madsen is a long term user and developer for the Eclipse platform. Tonny has 6 years of experience with the Eclipse platform (since version 2.0) and more than 20 years of experience with software development and system architecture.
Now, Tonny is the CEO of The RCP Company, an independent software development company that is specialized in training, mentoring, consultancy, development, and independent products based on the Eclipse™ platform, Rich Client Platform, and the corresponding technologies and tools.
Tonny is also the chairman of Eclipse.dk, the Danish Eclipse Society.
This session is part of the curated collection of short talks titled
"Higher-level UI programming"