Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [e4-dev] Declarative UI

Hi Hallvard,

Thank you for your explanation. I'm agree with you to have model (like EMF)
to describe UI. With this mean, we are not linked to SWT.

When I say that, I don't want say "I don't like SWT" (I love SWT API)
but I think it should be very cool to decribe UI and render it to any
renderer toolkit
(like VE, GEF, Swing, GWT...). You can tell me that E4 target is SWT,
but Eclipse support another render toolkit
like Visual Editor, GEF... Is not cool to desribe UI with EMF and
render it into VE, Java2d, GEF?

So with this approach we could imagine manage SVG decalarative UI with
Visual Editor for instance.

If you don't like this feature (manage any renderer toolkit with
Model) you can stop to read my mail.

I would like speak about Declarative UI into TK-UI and try to explain
you why I'm using UFace.

Declarative UI with Model approach means that the real UI must be
bounded with Model (ex : <Textbox value="" />
attribute value must be bounded with Text property of SWT Text).

So we have Model <-> SWT
or
Model <-> Swing

So we must develop bindings Model for each renderer implementation.

To avoid that, we could have renderer commons API and Model bindings
works with the commons renderer API.
This solution is :

Model <-> Renderer Commons API <-> SWT
                             <-> Swing
                             <-> GWT
                             <-> Visual editor....

It's important that commons renderer API must be bindable. Layout,
Widgets properties must be bindable (all properties
must be observable). So when layout change, it must fire event to
observe the layout changed.

Commons API is UFace. UFace provide API where all properties are
bindable with JFace Databinding.
I'm managing int TK-UI the Declarative UI with DOM (XUL, XHTML..) and
declarative Binding with XAML expression (or EL...)
but as UFace is bindable, it should be easy to use EMF Model instead
of DOM Model.

Regards Angelo


Back to the top