Eclipse 4.2 Plug-in Migration FAQ

  1. How does Eclipse 4.x differ from 3.x architecturally?
  2. Does the Platform Theme API still work in 4.2?

How does Eclipse 4.x differ from 3.x architecturally?

The Eclipse SDK 4.2, for the most part, contains all the plug-ins that make up Eclipse 3.7. That is, all of Java development tools (JDT) and Plug-in Development Environment (PDE), and most of the Platform, are the same bits as in 3.7. What's different is the implementation of the Workbench (org.eclipse.ui.workbench plugin), and the technologies this new implementation is based on. Before the release, the technologies (modeled user interface, dependency injection and service-based programming model, CSS-based styling) were called 'e4' but we are now referring to them as the Eclipse 4 Application Platform. On top of the Eclipse 4 Application Platform, the 4.x Workbench offers an implementation of the 3.x Workbench APIs, to provide backwards compatibility for the Eclipse IDE and its plug-ins.

Does the Platform Theme API still work in 4.2?

The Platform theme API is a general purpose mechanism for plug-ins to declaratively contribute colors, fonts, and collections of colors and fonts grouped as themes. This API continues to function in 4.2, and is still widely used throughout the Eclipse SDK. This theme API overlaps new functionality in Eclipse 4.x that supports declarative styling via CSS. In the long term we expect the CSS-based styling system to replace the old theme API, once the new styling system has the required API and extension points in place. For now, both systems continue to function independently in Eclipse 4.2.

The key difference for 4.2 is that the Platform user interface (Workbench) no longer uses the theme API to drive its own presentation of tabs, toolbars, and related window trim. Thus setting the current workbench theme via IThemeManager#setCurrentTheme will not affect the presentation of the workbench itself.