Re: The register/unregister callbacks issue
Peter Achten <[email protected]>
| Newsgroups | gmane.comp.lang.haskell.gui |
|---|---|
| Message-ID | <[email protected]> |
At 14:51 19-3-03 +0000, Alistair Reid wrote: >Peter Achten <[email protected]> writes: > > > In my opinion a programmer should not have to register/unregister > > callbacks explicitly. > >I don't understand what you're proposing in its place. > >You say that on X you do need to [un]register callbacks and on Windows >you use a filter function to determine whether or not to use the >callback. Either way, it seems that there is some mechanism which >lets the backend (windows, X, Motif, etc) know that you no longer need >to receive events of that type so the API is going to have to provide >appropriate functions. That is, there will be a way to register to >receive those events and a way to stop receiving those events. >Whether they register and unregister a callback or change a bitset >defining which events to receive or do something else is largely >irrelevant. What I am saying is that a good GUI program already tells the user (and therefore also the backend) what events it will respond to. It will disable/enable menu(elements), it will disable/enable window(elements). As a consequence the API has no need for an additional register/unregister mechanism. The filter function is a convenient and light-weight means of additionally telling the backend what kind of events you're (not) interested in in case of enabled gui elements (in particular mouse and keyboard events). Regards, Peter