Re: "widget_class->event" not working



Actually, I just figured it out a few moments ago. Adding the
following to realize() beings to fix things:

GTK_WIDGET_SET_FLAGS(widget, GTK_CAN_FOCUS);

I start to get keyboard events and such.

However, there's another problem now! Even with GTK_CAN_FOCUS, I still
don't get GDK_MOTION_NOTIFY events, or even mouse button press events.

Here's another test case to instated illustrate that problem. This
time, "IT WORKS!" only prints if the event is somehow mouse related:

http://www.rutski89.com/static/mouse_test.c

See if you can get that one to print, I can't
-Patrick


On Fri, Aug 21, 2009 at 3:34 AM, Brian J. Tarricone<bjt23 cornell edu> wrote:
On 08/20/2009 10:27 PM, Patrick M. Rutkowski wrote:
I've written a test case that anybody can compile and run:
http://www.rutski89.com/static/event_test.c

It contains the following line of code in the any_event() function:
printf("IT WORKS!\n");

That currently does not get printed.

If you can get the test case to print that line of text, you will have
solved my problem.

I can, but probably not in the way you want.  I think one of two things
is going on:

1.  GtkWidget just doesn't handle events and subclassing it will take
more work than just subclassing realize() to get it to receive events.

2.  You're missing something in your realize() method, though I'm not
sure what.

If I make your Foo class into a subclass of GtkEventBox instead of
GtkWidget, and then remove your realize() implementation (so it uses
GtkEventBox's impl), then it prints "IT WORKS!" as you'd expect.
Perhaps perusing gtkeventbox.c might help you figure out what else is
needed if you really want to just subclass GtkWidget.

       -brian
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list




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