]> Pileus Git - ~andy/gtk/blob - examples/eventbox/eventbox.c
missing from the CVS for some reason
[~andy/gtk] / examples / eventbox / eventbox.c
1 /* example-start eventbox eventbox.c */
2
3 #include <gtk/gtk.h>
4
5 int 
6 main (int argc, char *argv[])
7 {
8     GtkWidget *window;
9     GtkWidget *event_box;
10     GtkWidget *label;
11     
12     gtk_init (&argc, &argv);
13     
14     window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
15     
16     gtk_window_set_title (GTK_WINDOW (window), "Event Box");
17     
18     gtk_signal_connect (GTK_OBJECT (window), "destroy",
19                         GTK_SIGNAL_FUNC (gtk_exit), NULL);
20     
21     gtk_container_set_border_width (GTK_CONTAINER (window), 10);
22     
23     /* Create an EventBox and add it to our toplevel window */
24     
25     event_box = gtk_event_box_new ();
26     gtk_container_add (GTK_CONTAINER(window), event_box);
27     gtk_widget_show (event_box);
28     
29     /* Create a long label */
30     
31     label = gtk_label_new ("Click here to quit, quit, quit, quit, quit");
32     gtk_container_add (GTK_CONTAINER (event_box), label);
33     gtk_widget_show (label);
34     
35     /* Clip it short. */
36     gtk_widget_set_usize (label, 110, 20);
37     
38     /* And bind an action to it */
39     gtk_widget_set_events (event_box, GDK_BUTTON_PRESS_MASK);
40     gtk_signal_connect (GTK_OBJECT(event_box), "button_press_event",
41                         GTK_SIGNAL_FUNC (gtk_exit), NULL);
42     
43     /* Yet one more thing you need an X window for ... */
44     
45     gtk_widget_realize (event_box);
46     gdk_window_set_cursor (event_box->window, gdk_cursor_new (GDK_HAND1));
47     
48     gtk_widget_show (window);
49     
50     gtk_main ();
51     
52     return(0);
53 }
54 /* example-end */