Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[platform-ui-dev] Using other UI toolkits with the Eclipse 4 Application Platform

Hi All,

Currently we have a strong separation between Eclipse 4 workbench model and UI toolkit for the rendering, which is good. But in practice, the integration of a new UI toolkit AND providing the same or similar functionality compared with the SWT rendering is way more difficult that it has to be. The reason for that is, that the implementation of the projects

org.eclipse.e4.ui.workbench.swt
org.eclipse.e4.ui.workbench.renderers.swt
org.eclipse.e4.ui.workbench.addons.swt

contain a very big chunk of UI toolkit independent code, just acting on the workbench model. This UI toolkit independent code could be reused for other UI toolkits. The below project structure would help to integrate other UI toolkits more easily and keep a big chunk of the behavior (genui is just a dummy name):

org.eclipse.e4.ui.workbench.genui
org.eclipse.e4.ui.workbench.renderers.genui
org.eclipse.e4.ui.workbench.addons.genui

the above projects would contain only workbench model specific code parts 

org.eclipse.e4.ui.workbench.swt
org.eclipse.e4.ui.workbench.renderers.swt
org.eclipse.e4.ui.workbench.addons.swt

the .swt projects depend on the above genui projects and SWT. So all important interfaces and abstract classes have to be provided by the genui projects. Examples are PartEnderingEngine (I would rename it RenderingEngine), E4Application, AbstractPartRenderer (would rename it AbstractRenderer) etc. 

I know that this is not trivial to do, I started it locally and gave up. Mostly due to time constraints, from a technical point of view I still think this is doable.

But I started a basic new workbench and renderer for JavaFX that takes the above approach, just to get some experience with it. I am not proposing to do the refactoring for the swt stuff right now, but it would be great to have a BOF at next EclipseCon to discuss this in more detail (or use the mailing lists for further discussions).

What do you think?

Best regards,

Kai


Back to the top