summaryrefslogtreecommitdiff
path: root/examples/hello/hello-world.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/hello/hello-world.c')
-rw-r--r--examples/hello/hello-world.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/examples/hello/hello-world.c b/examples/hello/hello-world.c
new file mode 100644
index 0000000000..f4c058e978
--- /dev/null
+++ b/examples/hello/hello-world.c
@@ -0,0 +1,46 @@
+#include <gtk/gtk.h>
+
+static void
+print_hello (GtkWidget *widget,
+ gpointer data)
+{
+ g_print ("Hello World\n");
+}
+
+static void
+activate (GtkApplication *app,
+ gpointer user_data)
+{
+ GtkWidget *window;
+ GtkWidget *button;
+ GtkWidget *box;
+
+ window = gtk_application_window_new (app);
+ gtk_window_set_title (GTK_WINDOW (window), "Window");
+ gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);
+
+ box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_window_set_child (GTK_WINDOW (window), box);
+
+ button = gtk_button_new_with_label ("Hello World");
+ g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);
+ g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_window_destroy), window);
+ gtk_box_append (GTK_BOX (box), button);
+
+ gtk_widget_show (window);
+}
+
+int
+main (int argc,
+ char **argv)
+{
+ GtkApplication *app;
+ int status;
+
+ app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
+ g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
+ status = g_application_run (G_APPLICATION (app), argc, argv);
+ g_object_unref (app);
+
+ return status;
+}