diff options
author | Camil Staps | 2015-07-06 21:05:56 +0200 |
---|---|---|
committer | Camil Staps | 2015-07-06 21:05:56 +0200 |
commit | 56450cda7b919ad3e5d167e9ebf67a0dba96375e (patch) | |
tree | 12dcb0c4ced9d87657f9690da17d8c8116b6025c /gtk-test/helloworld.c | |
parent | int example (diff) |
gtk test
Diffstat (limited to 'gtk-test/helloworld.c')
-rw-r--r-- | gtk-test/helloworld.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/gtk-test/helloworld.c b/gtk-test/helloworld.c new file mode 100644 index 0000000..968c16f --- /dev/null +++ b/gtk-test/helloworld.c @@ -0,0 +1,45 @@ +#include "Clean.h" +#include "helloworld.h" +#include <gtk/gtk.h> + +static void hello(GtkWidget *widget, gpointer data) { + g_print("Hello world\n"); +} + +static gboolean delete_event(GtkWidget *widget, GdkEvent *event, gpointer data) { + g_print("Delete event\n"); + return TRUE; +} + +static void destroy(GtkWidget *widget, gpointer data) { + gtk_main_quit(); +} + +void ginit() { + gtk_init(NULL, NULL); +} + +void gopen() { + GtkWidget *window; + GtkWidget *button; + + window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + + g_signal_connect(window, "delete-event", G_CALLBACK(delete_event), NULL); + g_signal_connect(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(button, "clicked", G_CALLBACK(hello), NULL); + g_signal_connect_swapped(button, "clicked", G_CALLBACK(gtk_widget_destroy), window); + + gtk_container_add(GTK_CONTAINER(window), button); + + gtk_widget_show(button); + gtk_widget_show(window); + + gtk_main(); +} + |