From: Joel VanderWerf Date: 2004-04-09T02:32:16+09:00 Subject: Re: Simplified GTK - lessons from FxRuby/FoxTails? Its Me wrote: > The current discussion Hal started is quite good. But it is focused on one > part of the problem e.g. it does not directly address the potentially > complicated problem of hooking together UI, dialog state (enabling/disabling > etc), and domain objects, keeping all in sync. > > At the risk of broadening things ... I am partial to Joel BanderWerf's work > on FoxTails for FxRuby. The biggest things that comes to mind are: > > - a great Observable: you don't observe an object, you observe an Attribute > of an object > - a nice way to attach any object (not just strings) to widgets like a > ComboBox or TextField > - a nice way to extensible events e.g. "when selection changes" and "file > chosen" > > The Hal/Chad/Gregory style of "vbox { button {}; button {}; ...}" is on > FoxTails 0.1 to-do list. Seems like we might complement nicely. > > Joel, care to comment / join in? I've been following the discussion with interest, but probably won't really digest it until the weekend. The "specification language" style of GUI programming is very tempting, but OTOH the Fox API is pretty good already, so that's one reason why it's still on my to-do list :) Maybe the possibility of abstracting from the particulars of the GUI toolkit is the point that will tip the scales towards this specification approach. I'm also interested in the explicit state machine idea that came up elsewhere in the this thread, and the possibility of integrating it into FoxTails. Observable attrs can already be thought of as synchronization of state machines, but the state is just a bunch of variables. Sometimes it is useful to have an explicit notion of state in the sense of "discrete mode" and explicit transition rules, entry/exit actions, etc. Expressing state in this way, if possible, may be clearer than just using some related variables and observer code.