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.
E4/DeclarativeUI/TkUiCSSEngine
Name of Technology: [TK-UI ]
Purpose: TK-UI is a toolkit to describe UI with any XML based markup language (XHTML, XUL, XForms,...) and renders the XML description into any GUI library (Swing, SWT...). DOM and UI are totally synchronized via the use of JFace Databinding. TK-UI supports Javascript scripting and the use of backing beans. It provides several CSS engine implementations to apply CSS styles to SWT or Swing widgets.
Contact: angelo.zerr@gmail.com
Committers: Angelo ZERR (Active)
Current License: EPL
Description:
CSS Engine API http://tk-ui.sourceforge.net/user-guide/cssengine/cssengine.html
SWT CSS Engine http://tk-ui.sourceforge.net/user-guide/cssengine/swtcssengine.html
Pros:
1. Describe UI with any XML based markup language. Today TK-UI implements XUL and XHTML. 2. Render XML markup with any GUI library. Today TK-UI supports both SWT and Swing. 4. Use of JFace Databinding to bind UI widgets with a DOM structure (elements, attributes). 5. Manage binding with DBEL (Databinding expression language) to bind UI widgets with POJOs, Scriptable objects or another UI widget. XAML binding expression is implemented, and it's possible to easily implement your own binding expression. 6. Mix several XML markup languages (ex : use XHTML and XUL in the same document, and use XAML binding expression with XUL controls). 7. Manage the UI tree with a DOM document in a similar fashion of Javascript/HTML : * use DOM document.addEventListener to add UI event listener. * use document.createElement('input') to add a Text widget. 8. Manage logic of the UI with a scripting language (Javascript...) or with a Java POJO (similar to JSF Backing beans). 9. Manage CSS styles.
Cons:
1. In the current stage, only simple widgets (Text, Combo...) are supported. Tree and table support is under development. 2. Performance tests are not done yet.