On Oct 13, 12:37 pm, JumpingJupiter <[EMAIL PROTECTED]> wrote: > pretty verbose even for simply windows. Some parts could be shortened > with some extra macro - menu's in particular, but I'm starting to > think UI code is going to look pretty ugly unless you drastically > limit the options for customisation - there's just too many widgets > with too may variables involved.
Yeah, it does pretty much always seem to turn ugly, no matter what you do :( I've lately been leaning towards the "define your widgets, then lay them out" style, rather than customising inline in the layout. The chicken bb egg has some other interesting ideas [http:// chicken.wiki.br/bb] but even there it ends up looking ugly sooner or later. Another way to go is the "design your gui in a gui designer, then connect code to the resulting interface file" method, which I've seen Ruby/(Qt, Gtk, Swing) projects use with decent success. In particular the developers of Monkeybars (JRuby/Swing) project have come out and said that manually laying out widgets in code is counterproductive. What did look very promising was the approach taken by the Chicken/Qt egg, which has widget constructors take a UIXML string (as generated by QtDesigner) to instantiate themselves. In theory, that should let you build up an application-specific rich widget collection quickly and easily, then manipulate it from code, and also work on SXML->UIXML methods that would let you generate widgets programmatically. I had problems getting the egg up and running, though (this was a few years ago), and used PLT instead, but when I have the free time I plan to go take another look at it. martin --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---