E4/DeclarativeUI/TkUiCSSEngine

From Eclipsepedia

Jump to: navigation, search

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.