Eclipse Rich Client Platform FAQ

This FAQ is just getting started. If you have questions you believe should go in here, let us know and we'll try to get them answered.


Q: What is the Eclipse Rich Client Platform?
The rich client platform (RCP) is a major theme for Eclipse 3.0. This is the main plan item:

Enable Eclipse to be used as a rich client platform. Eclipse was designed as a universal tool integration platform. However, many facets and components of Eclipse are not particularly specific to IDEs and would make equal sense in non-IDE applications (e.g., window-based GUI, plug-ins, help system, update manager). The Eclipse Platform should factor out and segregate IDE-specific facilities (e.g., everything having to do with workspace resources) so that a subset of it can be used as a rich client platform for building applications. [Platform Core, Platform UI, Platform Update] [Theme: Rich client platform] (36967)

Additional plan items cover other important issues such as adding and removing plug-ins dynamically.

For more details, see the RCP proposal page

Q: Will a 3.0 RCP app inherit the Eclipse IDE look?
RCP apps will not inherit the Eclipse IDE look by default. The goal for RCP is to not impose any particular look and support a native look by default. For apps that do want to align with the IDE look, this will be possible. The presentation of views and editors, and the overall window layout, will be configurable in several ways.

Note that in some integration builds since 3.0 M7 there were bugs and incompatibilities in the default look for RCP apps while two code streams were being merged together. These will be addressed for M8. For more details on this work in progress, see bug 52892 [RCP] Workbench look and feel for non-IDE apps, bug 53673 [RCP] Abstract the presentation from the part, and bug 54167 [RCP] Need app-level control over banner curve and other window-level IDE branding elements.

Q: How can I change the window icon in my application?
This is provided by the windowImage property in the about.ini file of the product's primary feature (as specified in the install.ini). For more details, see the 2.1 documentation on Customizing a Product.

See also bug 53172 [Workbench] Product icon should be 32x32.

Note that how the Workbench obtains the product icon is changing in 3.0 as part of a larger change to decouple the Runtime and Workbench from the feature mechanism provided by the Update component. This is being done since other products may have their own install/update story. The above will still work as long as you stick with the current feature story. Note that this requires org.eclipse.update.configurator in order to generate the list of plugins seen by the runtime from the list of installed features. This plug-in also defines the "product provider" which the runtime uses to obtain the IProduct information (including the product icon).

For more details on the UI side of this change, see bug 52213 [RCP] definition of IProduct and IBundleGroup properties needed.

Q: How can I get action set menus to appear in the right order, between my app's main menus?
When adding main menus to the menu manager in your WorkbenchAdvisor's fillActionBars method, add an "additions" group marker where you'd like action sets to appear.

menuBar.add(fileMenu);
menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
menuBar.add(helpMenu);
  

Q: Can multiple instances of the same view be made to appear at the same time?
Yes. See IWorkbenchPage.showView(String primaryId, String secondaryId, int mode). The element in the plugin.xml must also specify allowMultiple="true". To pass instance-specific data to the view, you will need to cast the resulting IViewPart down to the concrete view class and call your own setData method.

Q: How can I get action set menus to appear in the right order, between my app's main menus?
When adding main menus to the menu manager in your WorkbenchAdvisor's fillActionBars method, add an "additions" group marker where you'd like action sets to appear.

menuBar.add(fileMenu);
menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
menuBar.add(helpMenu);
  

Q: Can I adjust the initial location of the fast view bar?
Yes, as of M9 you can override the default for the IWorkbenchPreferenceConstants.INITIAL_FAST_VIEW_BAR_LOCATION preference (key is "initialFastViewBarLocation"). Make sure that you have defined a primary feature for your application. When doing that in M9 make sure that you set your primary feature in the configuration/config.ini, e.g. eclipse.product = com.example.acme.acmefeature. Then set the value in the plugin_customization.ini of the feature plugin, e.g. org.eclipse.ui/initialFastViewBarLocation = right. Valid values are: left, right, bottom.

See also bug 54781 [RCP] Need API for configuring fast view bar initial location.

Submitted by: Steve Polyak, Pearson Educational Measurement