Questions about event percolation




Hi,

It is my (limited) understanding that events in the gtk widget sysem
percolate from children to parent until someone handles it and returns
TRUE.

Now, lets say i have a container (a GtkLayout widget actually) and this
container has one child, say a button or entry widget.

I connect a "motion_notify_event" to the container.  I set the events
for the container as appropiate.  

The signal is triggered for motion not only within the container, but
its children as well.

So, the motion signals handlers will be triggered as if the the child
was invisible.

Ok, so I install the signal on the child, set the child events as
appropiate and then return TRUE in that signal - a noop.  

Is this the only way to avoid the motion signals from being emitted for
the case when you are mousing on the child ?

Is there any way to tell the gtk signal system to emit signals only for
the container window, and not for sub windows ?

If not, are there any effeciency concerns about having to install every
single signal on every signal child (along with setting the events,
which i preseme ultimately does the x lib selection of event) ?  

Will this be the case for all x events ?

thanks

-re



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]