Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Rap10M6 News"

(RWT)
(Replaced content with "This page was obsolete and has been deleted. Please see the history if you need to access the content.")
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
| [[RAP|RAP wiki home]] | [http://eclipse.org/rap RAP project home] |
+
This page was obsolete and has been deleted. Please see the history if you need to access the content.
===RAP 1.0 M6 - New and Noteworthy===
+
 
+
Here are some of the more noteworthy things available in milestone build M6 (August 17, 2007) which is now available for [http://www.eclipse.org/rap/downloads.php download].
+
 
+
== RAP Common ==
+
{|
+
|-valign="top" align="left"
+
|width="20%"|'''API Cleanup'''
+
|width="80%"|
+
The <em>org.eclipse.rap.rwt</em> plug-in no longer depends on <em>org.eclipse.rap.w4t</em>. All code necessary for RWT was re-packaged and moved to <em>org.eclipse.rap.rwt</em>. 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 <em>org.eclipse.rap.w4t</em>, 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:
+
* <code>Table#getItem(Point)</code> and the corresponding TableViewer methods getItem and getItemAt (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=200396 200396: implement TreeViewer#getItemAt])
+
* <code>Tree#getItem(Point)</code> and the corresponding TreeViewer methods getItem and getItemAt (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=200397 200397: implement TableViewer#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. (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=187252 187252: Support ability to enter text into a Combo])
+
* Methods to control colors and fonts per column on the Tree (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=200394 200394: Implement per-column setter/getter])
+
 
+
The VM arguments <code>org.eclipse.swt.clientLogLevel</code> and <code>org.eclipse.swt.clientLibraryVariant</code> were changed to <code>org.eclipse.rwt.clientLogLevel</code> and <code>org.eclipse.rwt.clientLibraryVariant</code> respectively.
+
 
+
The two most used request parameter names lost their w4t prefix. In order to start a distinct entry point, just replace <em>w4t_startup</em> with <em>startup</em> like this: localhost:1234/rap?startup=myEntryPoint. The request parameter for custom service handlers also changed its name to <em>custom_service_handler</em>.
+
 
+
The factory methods <code>Color#getColor( ... )</code>, <code>Font#getFont( ... )</code>, and <code>Image#findImage( ... )</code> have been moved to the new class <code>org.eclipse.rwt.graphics.Graphics</code>.
+
 
+
The work on branding functionality needs two little changes in your existing <code>plugin.xml</code>.
+
* <code>org.eclipse.rap.ui.theme</code> no longer has its <code>default</code> attribute
+
* <code>org.eclipse.rap.ui.entrypoint</code> now needs an id in order to identify itself
+
 
+
If you develop '''custom widgets''' for RAP, please note that some parts of the RWT API needed for this task are still considered '''provisional'''.
+
The affected classes are those in the <code>org.eclipse.rwt.lifecycle package</code>, that are related to the widget life cycle, such as <code>AbstractWidgetLCA</code>, <code>*LCAUtil</code>, <code>JSWriter</code>.
+
Although we don't expect heavy changes in this area, we think that technical progress might lead to modifications that also influence custom widgets.
+
 
+
|
+
|-valign="top" align="left"
+
|width="20%"|'''Extension Point move'''
+
|width="80%"|
+
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 <em>org.eclipse.rap.ui</em> - an equivalent to the existing <em>org.eclipse.ui</em> 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 <em>org.eclipse.rap.ui.workbench</em> namespace to <em>org.eclipse.rap.ui</em>. This affects:
+
* adapterfactory
+
* entrypoint
+
* phaselistener
+
* resources
+
 
+
Extension points for themeing were moved from <em>org.eclipse.rap.swt</em> to the namespace mentioned above. This affects:
+
* themeableWidgets
+
* themes
+
 
+
 
+
All other extensions points (like <em>org.eclipse.ui.*</em>) 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 <em>org.eclipse.rap.ui.workbench</em> with <em>org.eclipse.rap.ui</em>
+
* switch to the "plugin.xml" tab in order to adapt the namespace changes according to the list above. PDE will help here.
+
|}
+
 
+
==RWT==
+
{|
+
|-valign="top" align="left"
+
|width="20%"|'''Latest qooxdoo'''
+
|width="80%"|
+
We just migrated to the latest revision of [http://qooxdoo.org 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 <code>-Dorg.eclipse.rwt.clientLibraryVariant=DEBUG</code> VM argument, the debug version of qooxdoo is used that offers better readable JavaScript code.
+
 
+
|-valign="top" align="left"
+
|width="20%"|'''Text Size Determination API'''
+
|width="80%"|
+
 
+
The API that serves as replacement for the SWT-GC functionalities for text size determination has been created. The methods <code>textExtent(Font,String,int)</code>, <code>stringExtent(Font,String)</code>, <code>getCharHeight(Font)</code> and <code>getAvgCharWidth(Font)</code> are available at the class <code>org.eclipse.rwt.graphics.Graphics</code>.
+
 
+
|-valign="top" align="left"
+
|width="20%"|'''Table appearance'''
+
|width="80%"|
+
The <code>TableItem</code> now supports all appearance settings known from SWT. For each cell the background color, foreground color, font and image can now be defined separately.
+
 
+
[[Image:RAPTableAppearance.png]]
+
 
+
|-valign="top" align="left"
+
|width="20%"|'''Tree with columns'''
+
|width="80%"|
+
The <code>Tree</code> widget is now able to manage and display several columns per <code>TreeItem</code>. Also setting images for different cells and having nice headers are new features of the tree. As you can see on the screenshot, the default images are not needed anymore. Columns can be resized or packed to have an optimal user expierence.
+
 
+
[[Image:RAPTreeColumns.png]]
+
|}
+
 
+
==RAP JFace==
+
{|
+
|-valign="top" align="left"
+
|width="20%"|'''Blocking Window'''
+
|width="80%"|
+
Due to API compatibility to RCP we implemented a solution for blocking windows and removed the <code>IWindowCallBack</code> 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 <code>InputDialog</code>.
+
 
+
<code>
+
<pre>
+
    String title = "Input Dialog";
+
    String mesg = "Enter at least five characters";
+
    String def = "default text";
+
    final InputDialog dlg;
+
    dlg = new InputDialog( getShell(), title, mesg, def, val );
+
    int returnCode = dlg.open();
+
    if( returnCode == InputDialog.OK ) {
+
      inputDlgResLabel.setText( "Input Result: " + dlg.getValue() );
+
    } else {
+
      inputDlgResLabel.setText( "No Result" );
+
    }
+
</pre>
+
</code>
+
|}
+
 
+
==RAP Forms==
+
{|
+
|-valign="top" align="left"
+
|width="20%"|'''Forms Suppport'''
+
|width="80%"|
+
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)
+
[[Image:RAPFormsDemo.jpeg]]
+
 
+
Thanks to the donation of a Fortune 500 corporation we were able to acquire additional resources to have this implemented.
+
|}
+
 
+
 
+
 
+
==RAP Workbench==
+
{|
+
|-valign="top" align="left"
+
|width="20%"|'''New extension points'''
+
|width="80%"|
+
Commands can be implemented using <code>org.eclipse.ui.handlers</code>. With the <code>org.eclipse.ui.menus</code> 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 <code>org.eclipse.ui.popupMenus</code> extension point allows a plug-in to contribute to the popup menus of other views and editors.
+
See [http://help.eclipse.org/help33/topic/org.eclipse.platform.doc.isv/reference/extension-points/org_eclipse_ui_popupMenus.html org.eclipse.ui.popupMenus] and [http://help.eclipse.org/help33/topic/org.eclipse.platform.doc.isv/guide/workbench_cmd_menus.htm org.eclipse.ui.menus] documentation
+
 
+
|-valign="top" align="left"
+
|width="20%"|'''Branding'''
+
|width="80%"|
+
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:
+
 
+
[[Rap10M5_News|New for RAP 1.0 milestone build M5 (July 13, 2007)]]<br />
+
[[Rap10M4_News|New for RAP 1.0 milestone build M4 (June 08, 2007)]]<br />
+
[[Rap10M3_News|New for RAP 1.0 milestone build M3 (April 27, 2007)]]<br />
+
[[Rap10M2_News|New for RAP 1.0 milestone build M2 (March 2, 2007)]]
+
 
+
[[Category:RAP]]
+

Latest revision as of 07:13, 8 January 2014

This page was obsolete and has been deleted. Please see the history if you need to access the content.

Back to the top