Boost logo

Boost :

From: Brock Peabody (brock.peabody_at_[hidden])
Date: 2003-07-29 08:24:11


> -----Original Message-----
> From: boost-bounces_at_[hidden]
[mailto:boost-bounces_at_[hidden]]
> On Behalf Of Bronek Kozicki
> Sent: Tuesday, July 29, 2003 3:40 AM
> To: Boost mailing list
> Subject: Re: [boost] Re: Re: GUI/GDI template library
>
> E. Gladyshev <egladysh_at_[hidden]> wrote:
> > ** Option 1 (compile-time structure)
> > typedef std::list< boost::entry<lineEdit,
> > std::string> > listbox;
>
> I like it. More compile time information > better type safety, and
more
> space for user "plugins" (ie. template parameters) or future standard
> library enhancements (ie. different containers). But I'm (definitely)
> not an expert in GUI programming. In fact, I always try to avoid it ;)

We need to figure out what can be specified by the compile time
structure. A few things I can thing of are:

   1) what types of widgets there are
   2) how they are positioned
   3) how they interact with each other (a check box may enable/disable
other widgets)
   4) how data is exchanged between the GUI and data structures
   5) what is valid input for a given widget. How is invalid input
handled
   6) what is valid input for a group of widgets (each widget may have
valid data but as a group the data is valid)

There are just so many things that you might want to specify. We want
to be able to do as much as possible at compile time. It is not going
to be possible to specify all of this compile time information with a
typedef. I really think an expression template type mechanism ala
Spirit, like the system I use is the way to go.

gui_application<my_data> my_application =
   column(line_edit, check_box, row("spinner", spinner));

Brock


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk