The GUI to end all GUI libraries (Let's Dream!)

Bill Baxter dnewsgroup at billbaxter.com
Thu Nov 29 00:55:58 PST 2007


Bastiaan Veelo wrote:
> Bill Baxter wrote:
>> Tom S wrote:
>>> Bill Baxter wrote:
>>>>> It used/uses an event processing system called 'sinking and 
>>>>> bubbling' which is superior to anything in existence ;)
>>>>
>>>> Gee thanks, that really clears it up for me.  :-P
>>>>
>>>> But you're wrong anyway.  Few people know it, but the most superior 
>>>> event processing system ever was the 'skulking and babbling' system 
>>>> invented at Xerox Parc, and promptly forgotten.  By everyone. :-P
>>>
>>> LOL :D Well, the concept was explained here: 
>>> http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D.dwt&artnum=61 
>>
>>
>>
>> Ah, ok.  Makes sense now.   Yes that is nice.  It drives me mad in 
>> wxWidgets that only that *one* widget gets the event, except .  I 
>> can't remember what Qt does there.
> 
> 
> I can't either, but the sinking/bubling reminds me of how GTK+ handles 
> events -- although I think that there the traversal is only 
> unidirectional. Every widget in the chain can act on an event, and 
> either stop the traversal (handled) or let it bubble further up the 
> chain. There is also a filtering mechanism, so widgets can be configured 
> to never receive events that they are not interested in.

Yeh, actually this is the first I've heard of a toolkit that percolates 
both down and then up.  But I'd guess percolating up starting with the 
deepest widget probably covers 90% of practical cases.

> Good to know that wxWidgets has that limitation. We have considered 
> using it, but went for GTK+ instead.

wxWidgets does percolate some kinds of events up the chain like command 
events.  Like if you click on a button you get that event at the button, 
at the parent, and on up until someone says they handled it.

But if it makes sense to do it for those kinds of things then it makes 
sense to do it for everything.

--bb



More information about the Digitalmars-d mailing list