summaryrefslogtreecommitdiff
path: root/examples/builder.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2011-01-20 01:30:34 -0500
committerMatthias Clasen <mclasen@redhat.com>2011-01-20 01:30:34 -0500
commitb29af18a268d595f84d0904ea97c67d03e2b984b (patch)
treea692adba61d5ad5c316bb192ad71885447a83e96 /examples/builder.c
parent99812be7d70ddffc825ed031ea29435b0466a4bf (diff)
downloadgtk+-b29af18a268d595f84d0904ea97c67d03e2b984b.tar.gz
Add a GtkBuilder section to the tutorial
Diffstat (limited to 'examples/builder.c')
-rw-r--r--examples/builder.c40
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;
+}