Skip to main content
AgeCommit message (Collapse)AuthorFilesLines
2017-06-09Add JsDoc for Client, Slider and ScrolledComposite scriptingIvan Furnadjiev3-6/+30
Change-Id: Ic6fd0e4878710c79be15d611db3a0c7a022127dd
2017-06-09[e4] Remove "org.eclipse.equinox.ds" from MANIFEST.MFIvan Furnadjiev1-1/+0
The "org.eclipse.equinox.ds" has been replaced with "org.apache.felix.scr" and is not part from the target platform anymore. Change-Id: If0377df117d26f5e79644f9aa412e2dcdc13dfa5
2017-06-07Prepare RAP e4 components for release and increment version3.2.0-RC3Markus Knauer11-92/+168
- Increment version to 3.2.0 for migrated RAP e4 components - Harmonize RAP e4 features (include legal files, order and content of feature.xml, p2.inf, ...) - Externalize strings, fix copyright. - Prepend version qualifier of forked bundles with 'rap-' Change-Id: Iefa8bcbb199a985cafc44ae9a20a98627a3221b5 Signed-off-by: Markus Knauer <>
2017-05-16[e4] Integrate e4 artifacts into Tycho buildMarkus Knauer7-35/+112
Ajdust the existing pom.xml files of the new e4 artifacts (bundles and features) and add them as modules to the main RAP Runtime build. Prepend version qualifier of forked bundles with 'rap-' Change-Id: I067ba092af6f91e753d6867d026e365121cd3f8f Signed-off-by: Markus Knauer <>
2017-05-15[e4] Fix compile problems for Eclipse OxygenMarkus Knauer4-4/+5
- Use 0.15 of org.eclipse.e4.core.di.extensions - Add org.eclipse.e4.core.di.extensions.supplier bundle - Update EventUtils package name - Remove version constraint from org.w3c.dom.css Change-Id: Ife41e1b1ec629eeed55183a31ad3f6253c5433f1 Signed-off-by: Markus Knauer <>
2017-05-15[e4] Move RAP e4 incubator project to main RAP Runtime projectMarkus Knauer348-0/+55964
Use commit 594b007f1f564cdcf7b77b947affea8f58999c94 from the RAP e4 Incubator Git repository [1] and move the bundles, features, and demo/example projects into the matching directories of the main RAP Runtime repository. The tooling projects remain in the incubator Git repository for the time being. The releng projects won't be migrated as they will be replaced with new ones during the migration process. [1] Change-Id: Id2290c781dfc81dcb2f72f1e375eb1e45197a445 Signed-off-by: Markus Knauer <>
2017-05-04Don't use cached item widths after TSD repackIvan Furnadjiev2-3/+16
TextSizeRecalculation#clearLayoutBuffers calls Composite#changed to ensure that no cache data are used after real text sizes are available. In Tree widget the cached item text widths are correctly cleared, but not in Table. Align the implementation with Tree widget - clear cashed item widths in "changed" method. 515247: Table column is packed correctly only after two calls to pack() Change-Id: Iada27dee4d83f67285658413c77c1e4d2b050b8b
2017-04-26Add ScrolledComposite to the list of controls that should not take focusIvan Furnadjiev1-1/+3
In SWT ScrolledComposite is not focusable by tab regardless NO_FOCUS style flag. 515153: ScrolledComposite should not take focus Change-Id: Ie1ac5fcec59127a983335e737968f8df78dfe9f9
2017-04-21Expose Client class in client APIIvan Furnadjiev2-9/+97
The Client class we use to identify browser and available features could be highly useful for custom widget developer. 415810: [WebClient] make Client class public Change-Id: I14a57be9a57d442cfde5a90b869ee17a6e7f579e
2017-04-10Add SWT version to resources.js pathIvan Furnadjiev1-3/+6
Now the workbench JS resource file is registered at: "rwt-resources/<swt version>/resources.js" similar to "rap-client.js". The SWT version is obtained by SWT.getVersion(). 503150: Version resource.js file to prevent caching issues Change-Id: I17c728ad72980ad8b6658fb1eee2e8170d82136a
2017-04-07Extend Slider client scripting capabilitiesIvan Furnadjiev4-8/+59
Ad support for Selection client listener. Expose scripting getSelection/getMinimum/getMaximum methods in SliderHandler.js. 512382: Client-side Selection listener is not invoked for Slider widget Change-Id: Icb8f99b0e8c2c7ce989283de25b4d2c8de077249
2017-04-06Fix CTabFolder top-right control layoutIvan Furnadjiev4-5/+21
RAP is using very old implementation of the server-side CTabFolder control. In order to be used in e4, the widget was completely rewriten by the SWT team. To avoid some layouting problems of the top-right CTabFolder control, add missing redraw call to recalculate it's bounds. Increase CTabItem top/bottom padding a little in default theme to avoid the top-right control cut-off. 435499: CTabFolder#setTopRight does not layout appropriately when modified 512943: [e4] Rendering of toolbar broken after switching parts Change-Id: I38c99d6bc7027bcf95279f19888981af6bd0d197
2017-04-03Update DropDown position after the popup height is setIvan Furnadjiev1-2/+2
DropDown#renderPosition depends on popup height when it's rendered above the text field. Change-Id: I46d1ab8ec086ed6f4a1dad40ef9eae58c7301b5f
2017-03-21Create a safe-copy of min/max date in setters and gettersIvan Furnadjiev1-6/+12
To avoid min/max date manipulation outside the DateTime widget, the min/max setters and getters should create a safe-copy of the Date object. Change-Id: I19705fd401e91b5b1f3b6c60e0f26a05184dbd58
2017-03-21Implement min/max-value support for DateTime widgetElshad Seyidmammadov10-48/+385
DateTime widget represents wide range of date or time data that is selectable by users. However, in some cases, range of data or time must be limited with according minimum and maximum values. The limitation has to be highlighted in the calendar and prevent users to select a value that is before the defined minimum or after the defined maximum date. Implement min/max-value support for date, time and calendar instances of DateTime widget. 431122: [DateTime] Enable min/max-Value Support for DateTime widget Change-Id: I1bdf12b53354bec1082c648f907f84cfad71a26d Signed-off-by: Elshad Seyidmammadov <>
2017-03-20Implement get/setOrigin() Client-API for ScrolledCompositeIvan Furnadjiev1-2/+12
Change-Id: I0d7f4785fc432ea42a62d7a82095b10b04606663 Signed-off-by: Clemens Eisserer <>
2017-02-23Don't send ServerPush requests with a timerIvan Furnadjiev1-10/+2
The timer for sending ServerPush requests has been introduced as a workaround for bug 353819. All recent (supported by RAP) WebKit browsers (including iOS Safary) now have this issue fixed. Remove the workaround as it's not needed anymore. 508727: Consider not using a Timer to send ServerPush Change-Id: I3ea830d62c1f45528ea8d2d46517037b6c8f74c1
2017-02-14Ensure that the Grid custom variant is applied to splitted containersIvan Furnadjiev1-1/+3
Change-Id: I18a1a6bdf0cd5fdf5355f3b176bf30288150a919
2017-02-09Render ServerPush deactivation when display is disposedIvan Furnadjiev3-7/+13
We should deactivate active server push session on the client when display is disposed. Otherwize, the client will continue sending server push request non-stop in some cases. Also deactivate server push on the client before sending shutdown request as server renders empty response in this case. 510553: Add possibility to stop a ServerPushSession even if there are still Runnables to process Change-Id: I20ddc1a50ebf244fb5a8d94a8bebe0447cbd96e2
2017-02-09Set Content-Type response header of server push requestsIvan Furnadjiev1-1/+2
According to the RFC 2616 [1], responses without Content-Type header should treat it as type "application/octet-stream". There is a bug in latest Firefox versions that responses with no Content-Type header default to "xml", which leads to error. [1] Change-Id: I5fbee04aefc6cda5ed59bec6680c0446781663bc
2017-02-06Ensure that the Tree/Table custom variant is applied to the grid linesIvan Furnadjiev3-4/+10
Change-Id: I72c59a8f843db99d5fbae6c4d46084bbc48e9d99
2017-02-06Ensure that the Grid custom variant is applied to the sort indicatorIvan Furnadjiev2-2/+5
Change-Id: I84dec79c43df05631957b7ab8acfda309268380e
2017-02-06Ensure that the Grid custom variant is applied to the cell paddingIvan Furnadjiev1-2/+6
Change-Id: Ie49672e06ce120af3b7ca791cbfa405ba59ea9a0
2017-02-06Let GridItems and GridColumns inherit the custom variant from GridIvan Furnadjiev4-8/+25
Client changes only, no server changes necessary. Partial fix for Bug 324721 - Items should inherit custom variants Change-Id: Ib54c544aca895d18f43bfcb530f5358d908976a0
2017-02-06Use Java 8 for "org.eclipse.rap.jface"Ivan Furnadjiev3-5/+5
In Oxygen platform, bundle "org.eclipse.equinox.common" requires Java 8. To avoid compilation error we have to rise the execution environment of org.eclipse.rap.jface to Java 8 too. 511612: Use Java 8 for org.eclipse.rap.jface Change-Id: I54bc5e2ae0beff6c97bbd3fd49743815a8564ff5
2017-01-26Fix client crash on ToolTip parent disposalIvan Furnadjiev1-1/+2
The Tooltip widget is added to the destroyableChildren list of its parent in ToolTipHandler.js, but it's never removed as "protocolParent" is not set (see HandlerUtil.js#_widgetDestructor). When disposing the ToolTip widget first and then its parent, a client crash occures, because the disposed (removed from ObjectRegistry) ToolTip is still available in the destroyableChildren list. Set ToolTip "protocolParent" user data in ToolTipHandler. 511037: Error due to explicit creation of a ToolTip widget Change-Id: I3b42ac516b20cbcc3dbd5d1d46e45e2610ebbe53
2017-01-19Fix NPE in ServerPushManager when UI session is shutdownIvan Furnadjiev1-5/+8
In some rare cases it's possible to call isSessionExpired on already destroyed UI session. Return true immediately in this case. Change-Id: Ic461fb4d84499ca6221c111ccb456975ef2cba67
2016-11-29Fix columns not shown in DropDownIvan Furnadjiev1-0/+1
This regression has been introduced with commit cfe70d8069207475927824a4241f8878f9cbe2a4. GridRow renders column cell labels only if their width is greater than 0. To compute the cellWidth a valid cellOrder config property is needed. DropDown manually creates the grid config cellOrder property in DropDown#setColumns function, but it is overrided in Grid#_updateColumns when Grid#flushWidgetQueue is called. Replace Grid#setColumnOrder function with empty implementation in DropDown#setColumns to protect the manually created grid config cellOrder property. 508049: [AutoSuggest] No columns shown in AutoSuggest with ColumnDataProvider Change-Id: Ie1e98f0f62f1c5e50f8bb6a1f902dbe7ed13d332
2016-11-22Add support for H_SCROLL to DropDownIvan Furnadjiev5-28/+89
Add DropDown (Java) constructor with style parameter. Use arguments object in DropDown (JS) constructor. Check if re-layout is needed whenever a new row was rendered. Respect horizontal scrollbar height when computing DropDown layout. Change-Id: I199affd87c341da99a39b4f7cb4fa17a8c672a3c Signed-off-by: Tim Buschtoens <>
2016-11-21Ensure Menus always have a higher z-index than shellsTim Buschtoens1-0/+2
Shells shall use the range of 1e5 to 1e7 Menus shell use 1e7 upwards, as do tooltips. Fix Bug 507489 - After restoring a minimized shell, popup menus are no longer visible Change-Id: Ic857cce066a4404ec5968c77f7cf68f31bdf275c Signed-off-by: Tim Buschtoens <>
2016-11-11Make Link padding themeableIvan Furnadjiev5-12/+15
430607: [theming] [Label] [Link] missing padding property Change-Id: I5ad65560fa5e48d66335643eb21d85b8e91a31a4
2016-11-11Fix drawing of filled arcIvan Furnadjiev1-0/+1
Fill arc should produce a piece of pie instead of slice of a circle. This regression has been introduced with change 7d072db9b02b3b04e3c635440ae65dd8758f07cb. 507392: Drawing a filled arc does not produce a pie Change-Id: Ia6f222fd3657af3c7e1f308d72c972ab5912d04c
2016-11-11Add themeable padding property to LabelIvan Furnadjiev5-6/+13
430607: [theming] [Label] [Link] missing padding property Change-Id: I3dc2a7aaf59a391b56278b660f7de55756775c59
2016-11-10Fix Control layout when padding is set with custom variantIvan Furnadjiev1-0/+3
The control padding set by the themeing is buffered in the Control calss. The buffered value must be reset when custom variant is applied on the control. Change-Id: I62a6e88fff5d25b6dc41e484b5c3b088a581d9cf
2016-11-02Don't cancel touchstart/touchend events if target is SELECT elementIvan Furnadjiev1-2/+9
Custom combo based on HTML SELECT element does not work if touchstart/touchend events are canceled. Check for event target before cancel them. Change-Id: I342dc8860dd619f0de40ca19b35313f6a694928d
2016-11-02Fix duplicate requests when setting Browser URL with widget creationIvan Furnadjiev1-4/+6
When Browser URL is set in the same request where widget is created, it's applyed twice on the underlying iframe - once in Iframe.js#_applyElement and once in a timeout in BrowserHandler.js#url property handler. This leads to duplicate requests to this URL. Sync the source manually only if browser widget is already created. 497483: Browser.setUrl() produces duplicate GET request Change-Id: I3967d76e96560dc5cdbb901876bd0828dda1b103
2016-10-31Respect Grid/Tree/Table custom variant in grid line appearanceIvan Furnadjiev1-0/+3
506212: Enable custom variant support for Table-GridLine Change-Id: I4405c4aa98aa6151ebccef7998d674731db227f2
2016-10-28Allow mousedown/up events for SELECT element in MobileWebkitSupportIvan Furnadjiev1-0/+4
Custom combo-box implementations based on SELECT element are not working if mousedown/up events are not allowed on it. Change-Id: I2d403f3ee2da98deab50d866d6d11a7f723db155
2016-10-26Add support for markup in ExpandItem header textIvan Furnadjiev7-120/+122
415250: [ExpandBar] Add markup support for ExpandBar and ExpandItem headers Change-Id: I8b6774961a2847840437dcd02145c9f6b0beefdb
2016-10-26Add support for filter extensions in FileDialogIvan Furnadjiev1-0/+32
433501: [FileDialog] Filtering of extensions, path and filename not possible anymore Change-Id: Ie7e5a3e4d11a1907cb80da3259c59617c04ffc2d
2016-10-26Add support for filter extensions to FileUpload widgetIvan Furnadjiev4-3/+65
All current browsers (but IE9) support "accept" attribute on HTML "file" input type to specify the types of files that the server accepts. Add new API set/getFilterExtensions for FileUpload widget. Apply filter extensions by using "accept" attribute on HTML input element. 433501: [FileDialog] Filtering of extensions, path and filename not possible anymore Change-Id: I7684b3cd8d90cac9b34bcd8886bfeaac3d361ef2
2016-10-17Add support for markup in MessageBox messageIvan Furnadjiev1-9/+31
As Dialog does not extend Widget, setData approach does not work here. Add new public method setMarkupEnabled to MessageBox class to enable markup support on the message Label. Update Controls demo DialogsTab. Re-factor MessageBox_Test class. 430980: MarkUp support for MessageBox text Change-Id: I112baf8caad8610255b9da9247cf10cc73d95499
2016-10-14Fix a crash when try to scroll an empty Tree/Table on mobile browserIvan Furnadjiev1-1/+2
On empty Grid _getTopItem function returns null. _getScrollYOffset function now returns zero in this case. 505710: [Table][Tree] Client side error on touch event when no items exist Change-Id: Ia64b65017a1b32c828f5c6f249d9e0a96cc452ef
2016-10-11[497957] Toolbar language of CKEditor is configurableWojtek Polcwiartek5-45/+495
A feature, that allows to configure the toollbars language of CKEditor via ToolbarConfiguration class. Bug: Change-Id: Ib5038017e8496add014db961f361ebdf0fe565d8 Signed-off-by: Wojtek Polcwiartek <>
2016-09-27Remove "5" from X-UA-Compatible meta tag in rwt-index.htmlIvan Furnadjiev1-1/+1
As RAP 3.x no longer supports < IE9, the "5" is not needed. 502212: Remove "5" from X-UA-Compatible meta tag Change-Id: I86779b1aa380c56d51ba0e43212cea7f97e4ddf2
2016-09-22Don't use public SWT API when synchronizing common Control propertiesIvan Furnadjiev4-43/+85
Common Control properties (visible, enabled...) are preserved on demand (when SWT public API setters are used). It's possible to change one of these properties with scripting and apply them in ControlOperationHandler. In this case, the old value should not be preserved as it's not changed on the server. Add common Control properties setters to ControlAdapter. Use these setters to apply the client value instead of using the public SWT API. Adjust some tests accordingly. 494881: [Control] Changing visibility state using client scripting fails Change-Id: I8767132ab5beaca4541af1d32feb1811773232a6
2016-09-13Add support for changing text size storage size by system propertyIvan Furnadjiev2-2/+19
In some complex applications the limit of keeping only 10 000 measured strings is not enough. The application performance decreases dramatically when this limit is reached as TSD requests are sent again and again. Read text size store size from system property "org.eclipse.rap.rwt.textSizeStoreSize" if set or use 10 000 as default. 501159: TextSizeDetermination causes high CPU usage and flickering Change-Id: I5d2d3d14b8c22f43c9d8c821edb7e26154ae3279
2016-09-07Don't force ToolBar tabIndex to 1 in ToolBar.js Ivan Furnadjiev1-10/+1
The tabIndex for all controls is calculated and set by the server. If control is not focusable (SWT.NO_FOCUS style is set), tabIndex is not rendered by the protocol and default null value must be used. 499085: Toolbar focus has different behavior than SWT Change-Id: If531cd5b352e9a5893d95f810597b294f2cadd1e
2016-09-02Fix active keys resetIvan Furnadjiev1-3/+3
When control active keys are reset to null, empty array is rendered in the protocol. Empty activeKeys object should not be treated as block all in KeyEventSupport#_shouldSendKeyDown, but allow all. Empty active/cancelKeys object should be considered as not set active/cancel keys. 499402: Key event listener and active keys: clear active keys doesn't work Change-Id: I43644ecfbbdcdcab1c3075a4024631500d522f35
2016-08-29Fix save/restore graphics context when arc is drawnIvan Furnadjiev2-3/+3
Restoring graphics context state on the client in GC.js#_ellipse, before fill/stroke operation may lead to a wrong shape - the transformation set by translate/scale is restored. 499417: [GC] Draw arc is not correct in some cases Change-Id: I345939a4a060ff1fedc89469539df64b4b116caa

Back to the top