My impression was that XWT and Hallvard's
model were modelling at two different levels. At least, that's the interesting
part to me (and less so, it's representation as an EMF model or XML). I
admit I've not looked closely at either due to lack of time (sigh), but
at a broad level, I believe that Yves approach maps more closely to the
widgets but is not a direct representation of them (close but not 1:1),
while as Hallvard's is a more abstract approach which could facilitate
higher level UI expressions, eventually generated down to widgets (even
I'm not sure I've characterized them
accurately and if not apologies.
I think both approaches are interested
and valid. A close mapping to the widget structure allows for GUI
builders, serialization/deserialization, testers, etc. A more abstract
model might allow you raise the level of _expression_ of the UI to more functional
needs ("I need a list of directories" vs. "I need a list
widget whose content provider gives me directories").
As a super-minor example, in CSS you can set margins. Our SWT widgets
don't have equivalent API for margins. The way to implement it in
SWT is with a Composite and layout. But my declarative UI likely
won't have that composite. Ideally the widget generation would be
in cohoots with CSS and gen the right composites with layout values. So
David Orme <djo@xxxxxxxxxxxxxxxxxxxxxxxxx> Sent by: e4-dev-bounces@xxxxxxxxxxx
01/27/2009 03:03 PM
Please respond to
E4 Project developer mailing list <e4-dev@xxxxxxxxxxx>
E4 Project developer mailing list <e4-dev@xxxxxxxxxxx>,
[e4-dev] Declarative UI in E4
Two things, by way of moving the discussion forward while
the IP machine grinds along:
(The impatient or overworked can read just the boldfaced text and get the
gist of what I'm saying. ;-)
My understanding is that our status is that Hallvard's code is making its
way through the IP Review process and onto the E4 server.
In the meantime, I had an idea that might unify the two current proposals.
(If I mis-characterize any of this, please correct me, but here is my understanding
of our current state:)
1) Hallvard's proposal is an XML layer on top of an EMF model that is connected
to the UI.
2) Yyves's proposal is to map XAML 1:1 to the SWT API. He calls the
resulting API XWT.
Here's what I was wondering: Yyves, would it be possible/desirable
to make XWT map 1:1 to Hallvard's EMF model rather than straight to SWT?
This seems like it might be a sensible approach to unifying both
If the answer is "yes", I'd very much like to play with that
and see what the resulting code looks/feels like.
I've been thinking about the ways we have discussed for abstracting and
simplifying UI creation. So far, we have only focused on XML representation,
but I recalled that Andy Maleh created (and proposed) Glimmer, a JRuby-based
UI DSL project. And I've been interested in translating Glimmer's
ideas into Scala.
(I noticed that Boris invited Andy to participate over here, and regrettably,
he has not materialized yet. Since I know Andy personally, I'll reach
out to him and invite him to join the conversation.)
In any case, I want to make sure that whatever we do does not preclude
In the abstract, it seems like it ought to be possible to map Glimmer(.JRuby
| .Scala) to EMF just like Hallvard maps XML to EMF.
Which brings me to my
Hallvard: Any ETA on when we will get to see your code at Eclipse.org?
I'd really like to get my hands on both of these proposals and play with
PS: Andy: I've CC'd you on this mailing list message. If you're interested,
please add yourself to the list so you can take part in the ongoing conversation.
You know you're welcome here. ;-)
e4-dev mailing list