diff options
author | Owen Taylor <otaylor@src.gnome.org> | 1997-12-18 02:17:14 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 1997-12-18 02:17:14 +0000 |
commit | d5d01a5af9aaa11762d7ba86760796df00af3786 (patch) | |
tree | c12bb7c7980b3177456cab8987755a976297b205 /tests/testinput.c | |
parent | 65e63db01e93820093c2eb5169d5f8c0be3fe4e5 (diff) | |
download | gtk+-d5d01a5af9aaa11762d7ba86760796df00af3786.tar.gz |
It's all in the changelog. Well, almost all.
-owt
Diffstat (limited to 'tests/testinput.c')
-rw-r--r-- | tests/testinput.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/tests/testinput.c b/tests/testinput.c index 1c6dae0e1d..218e5ca769 100644 --- a/tests/testinput.c +++ b/tests/testinput.c @@ -96,9 +96,7 @@ static gint configure_event (GtkWidget *widget, GdkEventConfigure *event) { if (pixmap) - { - gdk_pixmap_destroy(pixmap); - } + gdk_pixmap_unref (pixmap); pixmap = gdk_pixmap_new(widget->window, widget->allocation.width, widget->allocation.height, @@ -187,6 +185,17 @@ button_press_event (GtkWidget *widget, GdkEventButton *event) } static gint +key_press_event (GtkWidget *widget, GdkEventKey *event) +{ + if ((event->keyval >= 0x20) && (event->keyval <= 0xFF)) + printf("I got a %c\n", event->keyval); + else + printf("I got some other key\n"); + + return TRUE; +} + +static gint motion_notify_event (GtkWidget *widget, GdkEventMotion *event) { GdkTimeCoord *coords; @@ -338,6 +347,8 @@ main (int argc, char *argv[]) (GtkSignalFunc) motion_notify_event, NULL); gtk_signal_connect (GTK_OBJECT (drawing_area), "button_press_event", (GtkSignalFunc) button_press_event, NULL); + gtk_signal_connect (GTK_OBJECT (drawing_area), "key_press_event", + (GtkSignalFunc) key_press_event, NULL); gtk_signal_connect (GTK_OBJECT (drawing_area), "leave_notify_event", (GtkSignalFunc) leave_notify_event, NULL); @@ -347,6 +358,7 @@ main (int argc, char *argv[]) gtk_widget_set_events (drawing_area, GDK_EXPOSURE_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_BUTTON_PRESS_MASK + | GDK_KEY_PRESS_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_PROXIMITY_OUT_MASK); @@ -355,6 +367,8 @@ main (int argc, char *argv[]) events for the drawing area */ gtk_widget_set_extension_events (drawing_area, GDK_EXTENSION_EVENTS_ALL); + gtk_widget_grab_focus (drawing_area); + /* .. And create some buttons */ button = gtk_button_new_with_label ("Input Dialog"); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); |