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<bj...@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
>
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to