If you ever wanted to customize the startup page, the page title or even the servlet name you can now use the <code>org.eclipse.rap.ui.branding</code> extension point. You can specify your own branding, specify settings like page title, favicon, servletname, etc. There is also an <code>additionalHeaders</code> element available to define own tags for the head of your page like meta informations. Each branding can also be associated with specific entrypoints to apply the branding only on those ones mentioned in your <code>plugin.xml</code> file.

+

[[Image:RAPBranding.png]]

|}

|}

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

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

RAP Common

API Cleanup

The org.eclipse.rap.rwt plug-in no longer depends on org.eclipse.rap.w4t. All code necessary for RWT was re-packaged and moved to org.eclipse.rap.rwt. Most applications should not be affected at all, in some cases it may be necessary to re-organize imports. In case your plug-in(s) depend on org.eclipse.rap.w4t, please remove this dependency.

We provided some API beforehand that is not yet functional and will be implemented until 1.0. The list below gives an overview:

Table#getItem(Point) and the corresponding TableViewer methods getItem and getItemAt

Tree#getItem(Point) and the corresponding TreeViewer methods getItem and getItemAt

Methods to control an editable Combo (getText, setText, clearSelection) and setVisibleItemCount that gives a hint on how many items are visible in the drop.down list.

The VM arguments org.eclipse.swt.clientLogLevel and org.eclipse.swt.clientLibraryVariant were changed to org.eclipse.rwt.clientLogLevel and org.eclipse.rwt.clientLibraryVariant respectively.

The two most used request parameter names lost their w4t prefix. In order to start a distinct entry point, just replace w4t_startup with startup like this: localhost:1234/rap?startup=myEntryPoint. The request parameter for custom service handlers also changed its name to custom_service_handler.

The factory methods Color#getColor( ... ), Font#getFont( ... ), and Image#findImage( ... ) have been moved to the new class org.eclipse.rwt.graphics.Graphics.

The work on branding functionality needs two little changes in your existing plugin.xml.

org.eclipse.rap.ui.theme no longer has its default attribute

org.eclipse.rap.ui.entrypoint now needs an id in order to identify itself

Extension Point move

To be with RAP as near as possible at the original implementation of RCP we decided to repackage some bits to a new bundle called org.eclipse.rap.ui - an equivalent to the existing org.eclipse.ui plug-in. As a consequence some of the existing extension points have been moved to another namespace. Here is a list with all changes:

The RAP-specific extension points were moved from the org.eclipse.rap.ui.workbench namespace to org.eclipse.rap.ui. This affects:

adapterfactory

entrypoint

phaselistener

resources

Extension points for themeing were moved from org.eclipse.rap.swt to the namespace mentioned above. This affects:

themeableWidgets

themes

All other extensions points (like org.eclipse.ui.*) are not affected at all.

To adapt your existing plug-ins

open your manifest editor of your plug-in

switch to the "Dependencies" tab

replace org.eclipse.rap.ui.workbench with org.eclipse.rap.ui

switch to the "plugin.xml" tab in order to adapt the namespace changes according to the list above. PDE will help here.

RWT

Latest qooxdoo

We just migrated to the latest revision of qooxdoo, the client-side JavaScript library of RAP. Beside many bug fixes, with this update, two flavors of qooxdoo builds are provided. The one with which RAP runs by default is optimized in size and speed. Targeted to custom widget developers is the debug variant. When launching RAP with the -Dorg.eclipse.rwt.clientLibraryVariant=DEBUG VM argument, the debug version of qooxdoo is used that offers better readable JavaScript code.

Text Size Determination API

The API that serves as replacement for the SWT-GC functionalities for text size determination has been created. The methods textExtent(Font,String,int), stringExtent(Font,String), getCharHeight(Font) and getAvgCharWidth(Font) are available at the class org.eclipse.rwt.graphics.Graphics.

Table appearance

The TableItem now supports all appearance settings known from SWT. For each cell the background color, foreground color, font and image can now be defined separately.

RAP JFace

Blocking Window

Due to API compatibility to RCP we implemented a solution for blocking windows and removed the IWindowCallBack mechanism. Note that there is still some work behind the scence to do, since the current implementation may be a little heavy weighted. See the example snippet that shows how to use the blocking mechanism with the InputDialog.

RAP Forms

Forms Suppport

There is initial support for the Forms Toolkit, Forms Editors and the like. The focus was put on API compatibility and functionality rather than mimicking the exact look of RCP Forms.
The following is a list of the things that are already available:

ColumnLayout and TableWrapLayout

ExpandableComposite and Section

Hyperlink, ImageHyperlink (yet without actually showing the image) and HyperlinkGroup

TreeNode, Twistie and their common ancestor ToggleHyperlink

ScrolledPageBook

Form and ScrolledForm, FormToolkit

Form editors (FormEditor, FormPage, SharedHeaderFormEditor)

Thanks to the donation of a Fortune 500 corporation we were able to acquire additional resources to have this implemented.

RAP Workbench

New extension points

Commands can be implemented using org.eclipse.ui.handlers. With the org.eclipse.ui.menus extension point they can be placed in the main menu, view dropdown menus, context menus. They can also be added to the main toolbar, view toolbars, and various trim locations.
The org.eclipse.ui.popupMenus extension point allows a plug-in to contribute to the popup menus of other views and editors.
See org.eclipse.ui.popupMenus and org.eclipse.ui.menus documentation

Branding

If you ever wanted to customize the startup page, the page title or even the servlet name you can now use the org.eclipse.rap.ui.branding extension point. You can specify your own branding, specify settings like page title, favicon, servletname, etc. There is also an additionalHeaders element available to define own tags for the head of your page like meta informations. Each branding can also be associated with specific entrypoints to apply the branding only on those ones mentioned in your plugin.xml file.

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