Hi, On Tue, 26 Jul 2011 21:07:56 +0200 Valentín <valen...@sanva.net> wrote:
> Hello!! > > I have a problem with enter_notify_event and leave_notify_event. Let > me explain: > > I have an VBox with 5 EventBox widgets, and inside each EventBox I > have a HBox with one Label and 2 Buttons. I connect the signals > enter_notify_event and leave_notify_event of each of the EventBox > widgets to a callback and everything seems to work well: If you move > the mouse pointer vertically between EventBox widgets you can see the > events --I print a message from those mentioned callbacks, and I also > modify the Labels making their text bold on enter_notify_event and > normal on leave_notify_event. > > But If you move the mouse pointer horizontally --within the same > EventBox-- you'll also get enter/leave_notify_events, and this > shouldn't happen since the mouse pointer is always inside the > EventBox. More precisely, you'll get a leave_notify_event when moving > the pointer to a button (although the button is a child of the > EventBox) and the corresponding enter_notify_event when going back > from the button's area to another area also inside the EventBox. This has nothing to do with vertical pointer movement vs. horizontal pointer movement. As soon as you hover the button inside the event box you'll get a leave notify event. That's normal and it only happens with widgets that have a GdkWindow (such as GtkButton). I recently had to solve the same problem (having an icon, a label and a button in an event box). First of all, what it sounds like you're trying to do is control the prelight state of the event boxes and render their content differently when they are prelit. What you can do to achieve this is override the enter_notify and leave_notify handlers. In enter_notify, set the state to prelight. In leave_notify, check whether the pointer has moved to the button or whether it has left the event box entirely. You can do that with a combination of gtk_widget_get_pointer() and gdk_window_get_geometry(). Here's how I did it in Thunar: http://git.xfce.org/xfce/thunar/tree/thunar/thunar-shortcut-row.c?h=jannis/new-shortcuts-pane#n688 Hope this helps, Jannis _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list