Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Rap10M4 News"
m (→RWT) |
(→RAP Workbench) |
||
Line 263: | Line 263: | ||
The RAP workbench offers you a new extension point: <code>[http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/workbench_advext_perspectiveExtension.htm perspectiveExtensions]</code>. With this, you can contribute new views or view shortcuts to existing perspectives across several plugins. The extension point makes it easy to contribute additional views from other plugins to a perspective defined in your core UI plugin. | The RAP workbench offers you a new extension point: <code>[http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/workbench_advext_perspectiveExtension.htm perspectiveExtensions]</code>. With this, you can contribute new views or view shortcuts to existing perspectives across several plugins. The extension point makes it easy to contribute additional views from other plugins to a perspective defined in your core UI plugin. | ||
+ | |||
+ | |-valign="top" align="left" | ||
+ | |width="20%"|'''Statusline support''' | ||
+ | |width="80%"| | ||
+ | |||
+ | RAP now supports the StatusLine API. Note that the statusline is visible per default. To add e.g. actions to the statusline override the <code>fillStatusLine</code> of your <code>ActionBarAdvisor</code>: | ||
+ | |||
+ | <pre> | ||
+ | protected void fillStatusLine( final IStatusLineManager statusLine ) { | ||
+ | statusLine.add( aboutAction ); | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | To hide the statusline use: | ||
+ | |||
+ | <pre> | ||
+ | public void preWindowOpen() { | ||
+ | IWorkbenchWindowConfigurer configurer = getWindowConfigurer(); | ||
+ | configurer.setShowStatusLine( false ); | ||
+ | [...] | ||
+ | </pre> | ||
|} | |} | ||
Revision as of 07:35, 30 May 2007
| RAP wiki home | RAP project home |
RAP 1.0 M4 - New and Noteworthy
This document will become the New and Noteworthy page for the next milestone release and meanwhile serves to document the development progress.
All features documented here can be obtained from CVS HEAD.
RWT
API Documentation |
The RWT-API classes now provide Java-Doc comments. These comments are adapted from the SWT library since RWT implements a subset of SWT. The revision of the comments is not completed yet and there may be also some anticipations of implementation details that ment to be available in the 1.0 release. If you find inconsistencies in the docs, please report them to us so that we can resolve them. |
Untyped Events |
RWT now supports untyped events. Note that this implementation exists for reuse of JFace and Workbench code only. If you write application code we recommend to use the typed events furthermore. Note also that there is still some work to do and that not all of the untyped event fields already provide meaningful values. In particular the doit flag does not work. |
FontData, Resource, Device |
There are new API-classes in RWT available. Those where needed to ease the takeover of the JFace resource package. The classes are ... FontData data = font.getFontData()[ 0 ]; item.setFont( Font.getFont( data.getName(), data.getHeight(), SWT.BOLD ) ); |
Apartment Threading |
RWT simulates the Apartment Threading model of SWT. Because of this public Display createUI() { UICallBackUtil.activateUICallBack( getClass().getName() ); final Display result = PlatformUI.createDisplay(); PlatformUI.createAndRunWorkbench( result, new DemoWorbenchAdvisor() ); return result; } |
qooxdoo 0.7 |
We switched to version 0.7 of qooxdoo, the underlying JavaScript library of RAP. Event though this is hardly noticeable from the outside, keeping pace with the current development of qooxdoo allows us to benefit from improvements and bug fixes in this library. One such case is the upcoming theme management that builds on top of the reworked theming engine in qooxdoo. |
RAP JFace
Move to JFace 3.3 |
You're reading it right - JFace 3.3 is here! This time, we used the complete JFace 3.3 codebase and stripped down the things not working (at the moment). As we can't support everything out of the box, here is a short list of things you can now use in your RAP application besides the already known stuff.
There are many more things in the JFace 3.3 codebase - just get it and play around with it. We're open for all bug reports regarding the (new) components. Note that some of the components (like DoubleclickEvent, ViewerFilter or the Wizard framework) are now part of the demo application. RAP JFace implementation related to the following packages is excluded:
Most of them will follow but there is a need for some new infrastructure first. At the moment, you'll find the Java files of the excluded components but they are commented out to avoid confusion using "Organize Imports" or "Open Type". |
RAP Workbench
Support for opening/closing workbench parts |
You have now several possibilities to open a new view without initially defining it in your perspective.
On the one side, you can use Another way is - like you know it from the Eclipse Workbench - to use the "Show View" menu. To implement
it in your RAP application, use For all the views without a shortcut, there is a "Other..." item appended to the end of the list to
display the so loved "Show View" dialog where you can browse all available views. HINT: Now you can also
categorize your views - just define the |
Move extension points to org.eclipse.ui namespace |
To provide as much as possible reuse of RCP knowledge (and code) RAP provides now its workbench extension-points under the same namespace as the RCP workbench does. This is the second step of moving RAP to a subset of RCP regarding RCP-like functionality. Note that you must adjust your existing plugin.xml files like the example below: |
Move package org.eclipse.ui.entrypoint to org.eclipse.ui.application |
Due to the efforts of making RAP-APIs a subset to RCP-APIs the package org.eclipse.ui.entrypoint has been moved to org.eclipse.ui.application despite the fact that there is no need for implementing IPlatformRunnable as application definition. Please use the organize import functionality of the Eclipse IDE to adjust your existing source code. |
Reexport of UI plug-ins |
The plug-in org.eclipse.rap.ui.workbench now reexports the basic UI plug-ins that are needed for RAP UI development. This is similar to RCP. The plug-in dependencies are org.eclipse.rap.w4t, org.eclipse.rap.rwt and org.eclipse.rap.jface. |
Standalone Views |
The implementation of public class Perspective implements IPerspectiveFactory { public void createInitialLayout(IPageLayout layout) { String editorArea = layout.getEditorArea(); layout.setEditorAreaVisible(false); layout.addStandaloneView(NavigationView.ID, false, IPageLayout.LEFT, 0.25f, editorArea); IFolderLayout folder = layout.createFolder("messages", IPageLayout.TOP, 0.5f, editorArea); folder.addPlaceholder(View.ID + ":*"); folder.addView(View.ID); layout.getViewLayout(NavigationView.ID).setCloseable(false); } } |
Dynamic part informations |
You can now set specific part informations dynamically at runtime. This includes |
Minor usability improvement |
It's now possible to maximize/restore view parts by double-clicking on their corresponding TabItem. |
Multiple Views |
We added a new method to open views multiple times. Requirement is that the view has the flag public void showAdditionalView(IWorkbenchWindow window) { try { window.getActivePage().showView( "org.eclipse.rap.demo.DemoBrowserViewPart", "two" , IWorkbenchPage.VIEW_ACTIVATE ); } catch (PartInitException e) { e.printStackTrace(); } } |
IWorkbenchBrowserSupport |
The The corresponding extension points org.eclipse.ui.browser.browsers and org.eclipse.ui.browserSupport as provided by RCP are not yet available. |
Support for ISharedImages |
There is now the possibility to get predefined images of the workbench by using the action.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages(). getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK)); |
Views with local pulldown menus |
To use the local pulldown menu of your view, simply add the actions to the getViewSite().getActionBars().getMenuManager().add(yourAction); In the end, this could look like this: |
Switch to RCP 3.3 |
With the switch to the RCP 3.3 codebase, there are many improvements on the workbench API. Additionally we now have a fully documented API based on the original javadoc of the Eclipse workbench. Another very nice feature is the support of the command and handler framework (see Platform Command Framework )
|
Automatic view toolbar arrangement |
If there is not enough space left in the TabFolder to show all the view actions, the toolbar is now automatically rearranged to use the full width of the folder. |
Perspective extensions |
The RAP workbench offers you a new extension point: |
Statusline support |
RAP now supports the StatusLine API. Note that the statusline is visible per default. To add e.g. actions to the statusline override the protected void fillStatusLine( final IStatusLineManager statusLine ) { statusLine.add( aboutAction ); } To hide the statusline use: public void preWindowOpen() { IWorkbenchWindowConfigurer configurer = getWindowConfigurer(); configurer.setShowStatusLine( false ); [...] |
The above features are just the ones that are new since the previous milestone build. Summaries for earlier milestone builds:
New for RAP 1.0 milestone build M3 (April 27, 2007)
New for RAP 1.0 milestone build M2 (March 2, 2007)