Twitter Logo Follow us on Twitter
Project Information About this project

RAP 1.3 M5 - New and Noteworthy

Here are some of the more noteworthy things that are available in the milestone build M5 (February 5th, 2010) which is now available for download.

This list shows all bugs that were fixed during this milestone.


    With the support for SWT BrowserFunctions it is now possible to register custom Java functions for a Browser widget and call them from JavaScript. In addition it allows you to pass any parameters from JavaScript to the Java function.
    Thanks to the donation of henzler informatik gmbh we were able to acquire additional resources to have the BrowserFunction implemented for M5.


    ImageData and related classes (ImageLoader, ImageLoaderEvent, etc.) are now public API. As a result, the Image(Device,ImageData) constructor is also available.
    The factory methods (Graphics#getImage) are still the recommended way for creating image in RWT. If single-sourcing is desired and the extra memory is justifible, using constructors might be considered.

    New API added

    Here is a list of API added in M5:
    • Composite#layout( Control[], int )
    • MouseEvent#stateMask
    • Widget#reskin( int ) and SWT.Skin event

    Multi-locale extension registry

    Since M4, the Equinox extension registry is able to handle multiple locales (see bug 244468 for details). A socalled LocaleProvider service is used to determine the current locale.

    The RAP workbench now registers a LocaleProider service that returns the locale based on the RWT locale of the current session.
    Please note that you have to add a new system property in order to activate the multi-language support for Equinox:

    With these changes the org.eclipse.rap.equinox.registry fragment is rendered obsolete.

    Servlet Filter support

    Since M5, there is support for Servlet Filters in Equinox. See the 3.6M5 New & Noteworthy for details.

    IApplication support

    With support for IApplications, you're now able to start a RAP application the same way as it is possible in RCP. This means that you don't need to provide an IEntryPoint implementation.
        <application visible="true">
          <run class="org.eclipse.rap.demo.DemoWorkbench"></run>
    As stated in this example, the entrypoint parameter to access the application is equal to the id of the extension. This means the application is available at host:port/rap?startup=myapp. In case you want to refer to your application in the branding extension point (e.g. as default entrypoint), you have to use the fully-qualified name of the extension (e.g. org.eclipse.rap.demobundle.myapp).


    Before RAP 1.3 M5 the CoolbarManager has renderd the contribution items into the main Coolbar. Since M5 the items render themselves. This results in more flexibility and you can use all items which implements IContributionItem and the method fill(ToolBar parent, int index). To render the items into the UI a ToolBar is used instead of a CoolBar. Since 1.3 M2, RAP has a new ToolBar implementation which provides more opportunities for theming. This gives you the possibility to style the ToolBar in a way that fits more with your RAP design.


    The interaction desing API gives you the possibility to style a Shell's MenuBar. With RAP 1.3 M5 we have created a whole new MenubarManager implementation to provide a much more flexible menu. Therefore, we use a ToolBar to provide you a high themable menubar.

    The above features are just the ones that are new since the last milestone build. Summaries for earlier builds: