Re: ToggleButton seems to suppress pointer-motion-mask events
- From: muppet <scott asofyet org>
- To: Mitchell Laks <mlaks post harvard edu>
- Cc: gtk-perl-list gnome org
- Subject: Re: ToggleButton seems to suppress pointer-motion-mask events
- Date: Sun, 3 Feb 2008 17:12:04 -0500
On Feb 3, 2008, at 3:26 PM, Mitchell Laks wrote:
I noticed that initially I could not seem to capture the [pointer
motion] events. I am a beginner so I was modifying the examples I
found in the distribution files; Thus I was using a widget that a
modification of the default example in the Gtk2-GLext package which
is composed of a OpenGL endowed DrawingArea that was placed into
vbox, (together with a label) and then placed into a ToggleButton.
Why put the DrawingArea inside a ToggleButton? I think that quite
violates the Principle of Least Surprise for the user. Every time i'd
try to click on the DrawingArea to manipulate the GL objects inside,
the ToggleButton would toggle. That's... a bit strange. ;-)
When I tried to add motion-mask or motion-hint-masks via set_events
or add_events to the DrawingArea, it never reported the events.
I could only get the events when I thought to get rid of the
ToggleButton.
A ToggleButton responds to events, so it has a GdkWindow (which is, in
effect, an X Window). The DrawingArea is a simple way to have a
GdkWindow on which to draw and get events (so it, to, has an X Window).
When you gtk_widget_add() the DrawingArea to the ToggleButton, you
make the DrawingArea's GdkWindow a child of the ToggleButton's
GdkWindow. That means that the ToggleButton's GdkWindow gets first
crack at all the events. Normally, all you put inside a toggle button
are no-window widgets, like GtkLabel or GtkImage, so this isn't a
problem.
But in your case, the system is behaving as designed, and the
ToggleButton is eating the events that you want to go to the
DrawingArea.
Solution: Don't put the DrawingArea inside a ToggleButton.
--
Diane, ten-oh-three, Great Northern Hotel.
Sheriff Truman and I have just been with the one-armed man, or what's
left of him.
In another time, another culture, he may have been a seer, or a shaman
priest, but in our world, he's a shoe salesman, and lives among the
shadows.
-- Special Agent Dale Cooper
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]