> -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > 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 <[EMAIL PROTECTED]> 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 _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost