Jump to: navigation, search

Difference between revisions of "RAP/Custom Widgets"

< RAP
(Remote API based Custom Widget)
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
There are several ways to create custom widgets for RAP. This article is not a guide on how to create them, but only links to the relevant resources and adds covers some current issues.<br>
+
There are several ways to create custom widgets for RAP. This article is not a guide on how to create them, but links to relevant resources for the different RAP versions and covers some current issues. A list of known custom widgets can be found here: [[RAP/Add-Ons]].<br>  
  
== SWT-Style custom widgets ==<br>
+
== SWT-Style Custom Widgets<br> ==
  
Those are custom widgets like they are created in SWT. There are two types: Compound widgets and Self-drawing widgets.
+
Those are custom widgets like they are created in SWT. There are two types: Compound widgets and Self-drawing widgets.  
  
 
*[http://www.eclipse.org/articles/Article-Writing%20Your%20Own%20Widget/Writing%20Your%20Own%20Widget.htm Creating Your Own Widgets using SWT]<br>
 
*[http://www.eclipse.org/articles/Article-Writing%20Your%20Own%20Widget/Writing%20Your%20Own%20Widget.htm Creating Your Own Widgets using SWT]<br>
This guide by the creators of SWT pre-dates RAP, but is still valid for current SWT/RAP versions. The chapters about native-code can be ignored.
 
  
*[http://eclipse.org/rap/developers-guide/devguide.php?topic=html/advanced/custom-widget.html#compound The RAP Developers Guide on Compund and Self-drawing widgets]<br>
+
This guide by the creators of SWT pre-dates RAP, but is still valid for current SWT/RAP versions. The chapters about native-code can be ignored.  
The current RAP developers guide covers some RAP-specific aspects of such custom-widgets.
+
  
==== Knwon Issues in RAP 1.5 ====
+
*[http://eclipse.org/rap/developers-guide/devguide.php?topic=advanced/custom-widget.html#compound The RAP Developers Guide on Compund and Self-drawing widgets]<br>
*
+
 
 +
The current RAP developers guide covers some RAP-specific aspects of such custom-widgets.
 +
 
 +
'''Related Issues'''
 +
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=321274 Bug 321274] - Compound Custom Widget Focus<br>
 +
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=370328 Bug 370328] - [Canvas] - Text has wrong z-index<br>
 +
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=375615 Bug 375615] - [GC] - Drawing order of image is not correct<br>
 +
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=370313 Bug 370313] - [Canvas] - Tweak canvas performance in IE7/8<br>
 +
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=361615 Bug 361615] - [Canvas] - Implement SWT.NO_BACKGROUND to avoid clearing the canvas rectangle<br>
 +
 
 +
== Browser-based Custom Widgets  ==
 +
These widgets use HTML and JavaScript, but are not based on RAP-internals. They can be compatible with SWT applications.
 +
 
 +
*[http://eclipse.org/rap/developers-guide/devguide.php?topic=rwt/custom-widget.html&version=1.5#browser The RAP 1.5 Developers Guide on Browser-based Custom Widgets]<br>
 +
 
 +
*[http://www.eclipse.org/rap/developers-guide/devguide.php?topic=web-embedding.html The RAP 2.x Developers Guide on the Browser Widget]<br>
 +
 
 +
 
 +
'''Related Issues'''
 +
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=363811 Bug 363811] - [Browser] certain characters in browser function name crash client<br>
 +
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=371132 Bug 371132] - [BrowserFunction] - Support calls to browser function while another browser function is pending<br>
 +
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=371133 Bug 371133] - [Browser] - Support multiple script executions<br>
 +
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=323803 Bug 323803] - [ipad] Browser-widget/iframe broken<br>
 +
 
 +
== ClientScripting-based Custom Widget  ==
 +
ClientScripting is an Incubator Projects suitable to create RAP custom widgets. It requires at least RAP 1.5.
 +
 
 +
*[http://eclipse.org/rap/developers-guide/devguide.php?topic=rwt/custom-widget.html&version=1.5#clientscripting The RAP 1.5 Developers Guide on ClientScripting-based Custom Widgets]<br>
 +
*[http://eclipse.org/rap/developers-guide/devguide.php?topic=custom-widget.html#clientscripting The RAP 2.x Developers Guide on ClientScripting-based Custom Widgets]<br>
 +
*[http://wiki.eclipse.org/RAP/ClientScripting ClientScripting in the RAP Wiki]<br>
 +
 
 +
'''Related Issues'''
 +
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=371089 Bug 371089] - [ClientScripting] - Synchronize user data from server to client<br>
 +
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=371071 Bug 371071] - [ClientScripting] [VerifyEvent] VerifyEvent not fired on programmatic changes<br>
 +
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=406801 Bug 406801] - [ClientScripting] 'use strict' not supported in ClientListener]<br/>
 +
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=391414 Bug 391414] - [Clientscripting] Server side redraw() does not always trigger client side paint event]<br/>
 +
*[https://bugs.eclipse.org/bugs/show_bug.cgi?id=404896 Bug 404896] - [ClientScripting] Verify event keyCode is always zero when replacing text]
 +
 
 +
== RAP-native Custom Widget (RAP 1.x) ==
 +
Custom widgets '''based in the internal RAP architecture''', like the widgets in the core-framework do. Will not run in an SWT-application.
 +
The RAP 1.4 Developers Guide contains a detailed guide to creating native Custom Widgets. Its based on the older GoogleMaps widget for RAP. Some information may be slightly out of date for RAP 1.5, and more so for RAP 2.x.
 +
 
 +
== Remote API based Custom Widget ==
 +
 
 +
RAP 2.0 introduced a new Remote API in Java and JavaScript which can be used to create Custom Widgets.
 +
 
 +
*[[RAP/Custom_Widgets_FAQ]]

Latest revision as of 06:14, 15 August 2013

There are several ways to create custom widgets for RAP. This article is not a guide on how to create them, but links to relevant resources for the different RAP versions and covers some current issues. A list of known custom widgets can be found here: RAP/Add-Ons.

SWT-Style Custom Widgets

Those are custom widgets like they are created in SWT. There are two types: Compound widgets and Self-drawing widgets.

This guide by the creators of SWT pre-dates RAP, but is still valid for current SWT/RAP versions. The chapters about native-code can be ignored.

The current RAP developers guide covers some RAP-specific aspects of such custom-widgets.

Related Issues

  • Bug 321274 - Compound Custom Widget Focus
  • Bug 370328 - [Canvas] - Text has wrong z-index
  • Bug 375615 - [GC] - Drawing order of image is not correct
  • Bug 370313 - [Canvas] - Tweak canvas performance in IE7/8
  • Bug 361615 - [Canvas] - Implement SWT.NO_BACKGROUND to avoid clearing the canvas rectangle

Browser-based Custom Widgets

These widgets use HTML and JavaScript, but are not based on RAP-internals. They can be compatible with SWT applications.


Related Issues

  • Bug 363811 - [Browser] certain characters in browser function name crash client
  • Bug 371132 - [BrowserFunction] - Support calls to browser function while another browser function is pending
  • Bug 371133 - [Browser] - Support multiple script executions
  • Bug 323803 - [ipad] Browser-widget/iframe broken

ClientScripting-based Custom Widget

ClientScripting is an Incubator Projects suitable to create RAP custom widgets. It requires at least RAP 1.5.

Related Issues

  • Bug 371089 - [ClientScripting] - Synchronize user data from server to client
  • Bug 371071 - [ClientScripting] [VerifyEvent] VerifyEvent not fired on programmatic changes
  • Bug 406801 - [ClientScripting] 'use strict' not supported in ClientListener]
  • Bug 391414 - [Clientscripting] Server side redraw() does not always trigger client side paint event]
  • Bug 404896 - [ClientScripting] Verify event keyCode is always zero when replacing text]

RAP-native Custom Widget (RAP 1.x)

Custom widgets based in the internal RAP architecture, like the widgets in the core-framework do. Will not run in an SWT-application. The RAP 1.4 Developers Guide contains a detailed guide to creating native Custom Widgets. Its based on the older GoogleMaps widget for RAP. Some information may be slightly out of date for RAP 1.5, and more so for RAP 2.x.

Remote API based Custom Widget

RAP 2.0 introduced a new Remote API in Java and JavaScript which can be used to create Custom Widgets.