X-Git-Url: http://pileus.org/git/?p=grits;a=blobdiff_plain;f=src%2Faweather.c;h=a2c33c371758c0e60696475b2cf4bfd94095eb50;hp=76fc2e77c3bd094a4ce758e37e191b621acb4219;hb=33ef5e398a91e8eca3c55fdcf78713efeb7fa2a0;hpb=8206ff11b5450e27909f6867adbff8f6d051c315 diff --git a/src/aweather.c b/src/aweather.c index 76fc2e7..a2c33c3 100644 --- a/src/aweather.c +++ b/src/aweather.c @@ -1,8 +1,42 @@ #include -#include +#include -int main(int argc, char **argv) +static void hello(GtkWidget *widget, gpointer data) { - puts("Hello World"); + g_print("Hello World\n"); +} + +static gboolean delete_event(GtkWidget *widget, GdkEvent *event, gpointer data) +{ + g_print("delete event occurred\n"); + return FALSE; +} + +static void destroy(GtkWidget *widget, gpointer data) +{ + gtk_main_quit(); +} + +int main(int argc, char *argv[]) +{ + GtkWidget *window; + GtkWidget *button; + + gtk_init(&argc, &argv); + + window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(delete_event), NULL); + g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(destroy), NULL); + + gtk_container_set_border_width(GTK_CONTAINER(window), 10); + button = gtk_button_new_with_label("Hello World"); + g_signal_connect( G_OBJECT(button), "clicked", G_CALLBACK(hello), NULL); + g_signal_connect_swapped(G_OBJECT(button), "clicked", G_CALLBACK(gtk_widget_destroy), G_OBJECT(window)); + + gtk_container_add(GTK_CONTAINER(window), button); + gtk_widget_show(button); + gtk_widget_show(window); + gtk_main(); + return 0; }