From 8b6e4ee411774b90f7e24b9f591c95346d640eba Mon Sep 17 00:00:00 2001 From: Vincent Batts Date: Tue, 2 Apr 2024 10:44:50 -0400 Subject: [PATCH] main: now with a button Signed-off-by: Vincent Batts --- main.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/main.c b/main.c index 4c4e27e..f478af6 100644 --- a/main.c +++ b/main.c @@ -1,14 +1,37 @@ #include +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_VERTICAL, 0); + gtk_widget_set_halign (box, GTK_ALIGN_CENTER); + gtk_widget_set_valign (box, GTK_ALIGN_CENTER); + + 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_window_present (GTK_WINDOW (window)); }