Community
Participate
Working Groups
With the introduction of the new protocol we need to migrate all widgets to use the new messages instead of JavaScript for communication. I think we can just say that the protocol is finished when all widgets has been migrated.
Shell should now be completely controlled by protocol messages in HEAD. (The requests to the server are unchanged.)
Switched Composite to use protocol. The same commit also contains some changes to ClientObject that were necessary for Composite. The "create" method now takes the type of the object as a parameter instead of the widget itself. This is because Composite might be sublcassed, in which case widget.getClass().getName() would return an type unkown to the client. As a result of theese changes the constructor of ClientObject now take the targetId as a parameter and the parent is now longer set automatically. With these changes ClinetObject becomes indpendent from widget and can be better used with non-widget objects.
Some additional changes made: - Changed color protocol format from String to Array. - Created a client-side Display object to handle global functionality like allow/cancel key event. - Renamed object type names.
Switched Button completely to use protocol.
Switched Label (including SEPARATOR) completely to use the protocol.
Switched Text widget (including SINGLE, MULTI and SEPARATOR) completely to use the protocol.
Combo/CCombo are completely switched to the protocol.
Spinner are completely switched to the protocol.
Group is completely switched to the protocol.
Switched Scale completely to the protocol.
Switched Slider completely to the protocol.
Switched CLabel completely to the protocol.
Switched Link completely to the protocol.
Switched Sash completely to the protocol.
Switched ProgressBar completely to the protocol.
Introduced new static methods in WidgetLCAUtil - preserveProperty, preserveListener, renderProperty, renderListener. All protocol-based LCAs are using these new methods now.
Switched ScrolledComposite completely to the protocol.
Switched TabFolder to the protocol.
Switched ToolBar/ToolItem to the protocol.
Switched TreeLCA and TreeItemLCA to the protocol. Moved client-side widget id handling and registration callback to ObjectManager.js.
Switched TreeColumnLCA to the protocol. With this change the Tree widget is completely controlled by the protocol.
Switched DateTime to the protocol.
Switched UICallBack to the protocol. The ProtocolMessageWriter now have a method appendMeta. Request counter is added to the meta from DisplayLCA#renderRequestCounter. The UICallBack service handler requests does not rendered the request counter. All UICallBack related code on the client have been extracted in a dedicated UICallBack.js.
Switched Table, TableItem and TableColumn to the protocol.
Switched List to the protocol.
Switched Menu to the protocol.
Switched Canvas (including GC) and CoolBar (excluding CoolItem) to protocol
Switched CTabFolder/CTabItem to the protocol.
Changed TabFolder to render the selected item instead of selection index. Thus, selection rendering is more consistence between widgets (Tree, CTabFolder...). Client side code is cleaner too.
Switched ToolTip to the protocol.
Switched FileUpload to the protocol.
Switched ExpandBar/ExpandItem to the protocol.
Switched ControlDecorator to the protocol.
Switched ExternalBrowser to the protocol.
Switched Drag And Drop (DragSource and DropTarget) to Protocol
Switched BrowserFunction to protocol.
All LCA's have been switched to the protocol. I will close this bug as resolved.