
Can I make something like End(VBox) work with boost.proto? I mean if it's possible to close the expression for a VBox with end and insert the next widget to the same level that the HBox.
Should be. Now, here is a small PoC of DSEL for GUI I had in mind for quite a while. Everythign in there is proto-ifable. windows<dialog, some_tag_for_selecting_gui_backend> w; w = frame("Choose a File to Open") [ listbox<columns,no_icons>(pos_x,pos_y) [ on_select = ... , on_move = ... ] , button("&OK", on_click =&do_ok) | button("&Cancel", on_click =&do_cancel) ]; where the on_xxx are terminal where = awaits for any callable object. Using [ ] to construct nesting is easier than << I think.