diff options
Diffstat (limited to 'examples/builder.c')
-rw-r--r-- | examples/builder.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/examples/builder.c b/examples/builder.c new file mode 100644 index 0000000000..a05646fdbe --- /dev/null +++ b/examples/builder.c @@ -0,0 +1,40 @@ +#include <gtk/gtk.h> + +static void +print_hello (GtkWidget *widget, + gpointer data) +{ + g_print ("Hello World\n"); +} + +int +main (int argc, + char *argv[]) +{ + GtkBuilder *builder; + GObject *window; + GObject *button; + + gtk_init (&argc, &argv); + + /* Construct a GtkBuilder instance and load our UI description */ + builder = gtk_builder_new (); + gtk_builder_add_from_file (builder, "builder.ui", NULL); + + /* Connect signal handlers to the constructed widgets. */ + window = gtk_builder_get_object (builder, "window"); + g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); + + button = gtk_builder_get_object (builder, "button1"); + g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL); + + button = gtk_builder_get_object (builder, "button2"); + g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL); + + button = gtk_builder_get_object (builder, "quit"); + g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL); + + gtk_main (); + + return 0; +} |