// main.c #include #include "widget.h" int main(int argc, char *argv[]) { widgetDraw(argc, argv); return 0; } // widget.c #include #include "widget.h" #include "events.h" int widgetDraw(int argc, char *argv[]) { GtkWidget *window; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *label; window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "Video sorter"); g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(eventDelete), NULL); g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(eventDestroy), NULL); vbox = gtk_vbox_new(FALSE, 5); hbox = gtk_hbox_new(FALSE, 5); gtk_container_add(GTK_CONTAINER(window), hbox); gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (window), 5); label = gtk_label_new("Pie!"); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); label = gtk_label_new("Hi!"); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); vbox = gtk_vbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); label = gtk_label_new("OMG OMGOMGOMG"); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); label = gtk_label_new("I want your children\nin a pie!"); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); gtk_widget_show_all (window); gtk_main(); return 0; } // events.h #include #ifndef EVENTS_H_ #define EVENTS_H_ static gboolean eventDelete(GtkWidget *widget, GdkEvent *event, gpointer data) { g_print("Delete event occurred!\n"); return FALSE; } static void eventDestroy(GtkWidget *widget, gpointer data) { gtk_main_quit(); } #endif /*EVENTS_H_*/