4 static void hello(GtkWidget *widget, gpointer data)
6 g_print("Hello World\n");
9 static gboolean delete_event(GtkWidget *widget, GdkEvent *event, gpointer data)
11 g_print("delete event occurred\n");
15 static void destroy(GtkWidget *widget, gpointer data)
20 int main(int argc, char *argv[])
25 gtk_init(&argc, &argv);
27 window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
28 g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(delete_event), NULL);
29 g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(destroy), NULL);
31 gtk_container_set_border_width(GTK_CONTAINER(window), 10);
32 button = gtk_button_new_with_label("Hello World");
33 g_signal_connect( G_OBJECT(button), "clicked", G_CALLBACK(hello), NULL);
34 g_signal_connect_swapped(G_OBJECT(button), "clicked", G_CALLBACK(gtk_widget_destroy), G_OBJECT(window));
36 gtk_container_add(GTK_CONTAINER(window), button);
37 gtk_widget_show(button);
38 gtk_widget_show(window);