
(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 easier. 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. Tony On Wednesday, July 1, 2009, Felipe Magno de Almeida <felipe.m.almeida@gmail.com> wrote:
On Wed, Jul 1, 2009 at 9:08 PM, David Abrahams<dave@boostpro.com> 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 http://www.boostpro.com
Regards, -- Felipe Magno de Almeida _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost