Boost logo

Boost :

Subject: Re: [boost] [rfc] cppgui
From: Gottlob Frege (gottlobfrege_at_[hidden])
Date: 2009-07-02 01:01:37

(sorry for the bad non online reply
Blame my iPhone)

- eve layout engine can be used separately from the scripting language
ie directly in code

- I helped write a DSEL that was as eve like as possible given the
constraints of c++. Of course that didn't make it's way out of adobe
but it is definitely doable. Boost proto would now make it that much

I'm not against a springs and struts system, but think about what your
goals really are. An interface needs to be properly aligned and
logically grouped. The more that can be done automatically the better.
The ultimate goal is to describe the data model and have the interface
be automatic (and yet still aestetic). Eve is a step in that
direction. We should strive to do as well or better.

We need to concentrate on properly describing the data first. A
language (c++ or other) that says 'this data us a number (with min max
etc)' or not only is this a string, but it is an email address (so
that interfaces like the iPhone can adapt with @ symbols etc).

Once we have the data description, we can build widgets that can
'advertise' what data types they can display/edit. Then the layout
engine can pick the best widget given the data model and the space
constraints. For example, you might pick 3 radio buttons for clarity
of choice or a dropdown list if little space is available. This should
be decided at the layout level.

This is all doable. I've seen and/or built all the necessary building
blocks to make it so.


On Wednesday, July 1, 2009, Felipe Magno de Almeida
<felipe.m.almeida_at_[hidden]> wrote:
> On Wed, Jul 1, 2009 at 9:08 PM, David Abrahams<dave_at_[hidden]> wrote:
> [snip]
>> Have you looked at Adam and Eve from Adobe,
> Yes.
>> and the associated research papers?
> No. Do you know where can I find it?
>>  I think these guys have gone a long way down the road to
>> figuring out how to do things "right" in that domain.
> They did. But they took a very different approach. With another
> language and all.
> Though I understand it can help a lot using a more specific language
> for GUI, I'm not still convinced it is the best approach. I think a
> C++-only, with RAII, exceptions, library can be very easy to use as
> well.
> It is easier to extend with implementation-specific code too. Though
> eve can be used separately.
> When I started creating cppgui, I had to create GUIs for Microsoft
> Management Console, which had to allow me to create windows from
> already constructed windows (with already registered window_procedures
> in win32) and resource files. One of the most important goals of
> cppgui library is to be usable almost everywhere.
> Though I do have plans for creating a DSEL to model windows in the
> very far future. It would still be C++. No parsers, nor
> highly-dynamic-scripted languages involved.
> I just hope there's space for cppgui's goals after adam and eve.
>> --
>> Dave Abrahams
>> BoostPro Computing
> Regards,
> --
> Felipe Magno de Almeida
> _______________________________________________
> Unsubscribe & other changes:

Boost list run by bdawes at, gregod at, cpdaniel at, john at