RE: [boost] GUI library - another one

On Behalf Of Beman Dawes
<snip>
Even the "why not" version seems overly complex compared to a console iostreams "Hello, world". Why not just:
winout << title("Example window") << button("Hello, world!") << wait_for(delete_signal);
I'm not necessarily pushing that exact approach, but just pointing out more C++-like alternatives.
I understand you're not pushing that approach. It couldn't quite work like that as you're trying to structure a tree rather than a sequence. Your << approach might be nice syntactic sugar for adding an element and event_handlers or listeners and / or modifying a property. Regards, Matt Hurd. IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.

On Wed, Mar 03, 2004 at 10:30:47PM -0500, Hurd, Matthew wrote:
On Behalf Of Beman Dawes
<snip>
Even the "why not" version seems overly complex compared to a console iostreams "Hello, world". Why not just:
winout << title("Example window") << button("Hello, world!") << wait_for(delete_signal);
I'm not necessarily pushing that exact approach, but just pointing out more C++-like alternatives.
I understand you're not pushing that approach. It couldn't quite work like that as you're trying to structure a tree rather than a sequence.
This is beside the point. Trees are isomorphic to lists that contain lists. For example: winout << title("Example window") << divider(2) << up << ( panel << vertical << label("Hello, world!") << textentry("Name: ") ) << down << ( panel << horizontal << button("OK") << button("Cancel") ); Which, assuming my parens are right, could give you something like: +---------------------------------------------+ | Hello, world! | | Name: ____________________________ | +---------------------------------------------+ | /-------\ /--------\ | | | OK | | Cancel | | | \-------/ \--------/ | +---------------------------------------------+ Best, -- Shannon Stewman | Let us walk through the waning night, Caught in a whirlpool, | As dawn-rays tickle our toes, the dew soothes A quartering act: | Our blistered soles, and damp bones stir Solitude or society? | As crimson cracks under the blue-grey sky.

Shannon wrote:
I understand you're not pushing that approach. It couldn't quite work like that as you're trying to structure a tree rather than a sequence.
This is beside the point. Trees are isomorphic to lists that contain lists. For example:
winout << title("Example window") << divider(2) << up << ( panel << vertical << label("Hello, world!") << textentry("Name: ") ) << down << ( panel << horizontal << button("OK") << button("Cancel") );
Ok, but why have the stream output syntax at all? And, why have line-by-line layout. I would instead look at existing layout managers, such as in Java (both AWT and Swing) or why not the good old platform-independent C++ library Galaxy? /David
participants (3)
-
David Bergman
-
Hurd, Matthew
-
Shannon Stewman