platform ui
platform user interface
Eclipse documentation banner
Development Resources

For Platform UI developers, check out the Development Resources.

Interested in what the UI team is currently working on, or past proposals, look at the Proposals list.

If you are contributing to the Platform UI see the Contributers Check List we provide to help guide and smooth the process.

UI

Platform UI consists of several components, which provide the basic building blocks for user interfaces built with Eclipse. Some of these can be reused in arbitrary applications, while others are specific to the Eclipse IDE.

Two of the Platform UI components form the Rich Client Platform UI. These are JFace and the Workbench. JFace and the Workbench can be used to build arbitrary applications, not just the Eclipse IDE. The Eclipse IDE is just one instance of an RCP application, but it demonstrates the power and extensibility achievable by RCP applications.

JFace is a UI toolkit with classes for handling many common UI programming tasks. JFace is window-system-independent in both its API and implementation, and is designed to work with SWT without hiding it. JFace includes the usual UI toolkit components of image and font registries, text, dialog, preference and wizard frameworks, and progress reporting for long running operations. Two of its more interesting features are actions and viewers. The action mechanism allows user commands to be defined independently from their exact whereabouts in the UI. Viewers are model based adapters for certain SWT widgets, simplifying the presentation of application data structured as lists, tables or trees.

The Workbench provides the user interface structure for Eclipse. The purpose of the Workbench is to facilitate the seamless integration of tools. These tools contribute to extension points defined by the Workbench. The Workbench is responsible for the presentation and coordination of the user interface. The tools metaphor is not specific to development tools, but can apply equally well to arbitrary applications. Note that the Workbench is sometimes called the Generic Workbench, to distinguish it from its instantiation in the Eclipse IDE, where it is called the IDE Workbench.

Platform UI also provides the IDE application plug-in, which instantiates and configures the Generic Workbench to form the IDE Workbench, on top of which lies the rest of the Eclipse IDE Platform and the Eclipse SDK (including the Java development tools and Plug-in Development Environment). Unlike the Generic Workbench, the IDE application plug-in is intended only for use in the IDE Platform, and is not designed as a reusable component for use in other RCP applications.

Platform UI does, however, provide some other components that can be reused in other RCP applications. These are:

  • the Outline and Properties views
  • the Console view
  • the Welcome Page / Intro support, with guided assistance
  • Cheat Sheets, which guide the user through a long-running, multi-step task

For more details on the Rich Client Platform and other components available for use in RCP applications, see the RCP Home Page and the RCP FAQ.


What's Happening

R3.2 Development

  • Most active development goes into this stream.
  • The 3.3 next-milestone plan is posted here.
  • The 3.2 builds are available in the download area.
R3.1 Maintenance
  • Release 3.0 and 3.0.1 maintenance builds are available in the download area.
Talks

Desktop Developers' Conference 2005

Billy Biggs (SWT) and Douglas Pollock (UI) gave a talk on Eclipse 3.1. The talk gave a general overview of Eclipse, and then focused in on specific changes and problems with SWT's implementation on GTK+.

EclipseCon 2005

The majority of the Platform UI team attended EclipseCon 2005. Supplemental materials relating to our talks can be found here.

Get Involved!

If you are interested in participating in the development of the UI component, check out the developer's mailing list: platform-ui-dev@eclipse.org. Chat with people there about your problems and interests, and find out what you can do to help.

In particular, if you have experience in developing user interfaces, are interested in accessibility and usability issues please consider joining the UI team. If you enjoy working with COM to support OLE documents and ActiveX controls we really want to get to know you.

For more detailed information, check out the Development Resources.