A discussion of developing in Eclipse 4.x, specifically around the
Workbench Model. In Eclipse 4.x, all of the visible pieces are contained in a single application covering EMF model, with the exception of Wizards and Dialogs. The model replaces
IWorkbenchWindow and
IWorkbenchPage. It is specified in an
.xmi file as a hierarchical tree of
IWorkbenchParts, each extending
MApplicationElement or an abstract subclass. The application is the root with child nodes for window(s), toolbar, menubar, (optional) perspective(s), and stacks. Plugins wishing to contribute views, commands, handlers, etc would do so in a
.xmi fragment which is combined with the application model at runtime. A renderer is specified with the application that dictates how each part looks. A renderer can state a view is to be shown as a collapsible "accordion" panel if desired. Renderers can be specified for entire applications or separate ones for specific parts.
A drag&drop + properties editor is provided for editing the application model. Validation prevents adding an invalid part as child to another part.
Some effects of this model structure are:
- can now detach things that previously could not be detached
- can now put things in a detached part that previously couldn't
- can now detach an editor
- can put views in editor area
- can now put editors in view stacks
- parts can reside outside perspectives - appearing fixed as perspective is changed
- less (all?) interaction with plugin.xml in lieu of .xmi fragments.
That's it. My brain is full. I'm going home :)