From: Benjamin Peterson Date: 2002-07-27T00:49:25+09:00 Subject: Re: GUI's and the Rouge, Part III (yes, finally) 1/2 N.B. This post is rather dull. >> I agree strongly that asynchronous, hierarchical >> message passing is a vital part of GUI infrastructure. >> I was under the impression that it revolutionized GUI >> programming quite a while back, though. >* Rich messaging - you define strong message types with arbitrary > content (in OpenUI that means potentially nested arrays of > structures of...) >* Hierarchical propagation against handlers having the appearance > of dynamically-bound methods that receive the message parameters, >* Message broadcast down towards the leaf nodes that's transparent > to the current delivery node. Other than curses, I'm not sure I'm aware of *any* GUi system that does *not* use asynchronous, hierarchical messaging. Even X used it -- and that was back in the days of X! If you leave out the word 'strong' (they sure like their void pointers over in Redmond), Windows has met the above 3 items (in an inconsistent and obscure way)for many years. The proviso that 'no widget needs to address any other' is a good one, and I can think of nothing except Windows that meets it (maybe Swing?). In practise, of course, in Windows you *do* often have to know the exact object you are talking to so you can allow for all the inconsistencies. I guess my conclusion is that having a powerful messaging system is only useful if you have a set of components so orthogonal that you actually can broadcast a message to them and expect them all to do something sensible with it. And making those components would be harder than making the messaging system. Benjamin Peterson x