// USE: libsoup (http), json-glib #include #include "previewwidget.h" #include "konaimage.h" int buildWindow(); int buildWindow() { GtkWindow *mainWindow; GtkBuilder *builder; GtkWidget *previewLayout; GtkWidget *previewContainer; GtkWidget *temp; KonaImage *ki; builder = gtk_builder_new(); gtk_builder_add_from_file(builder, "glade/mainWindow.glade", NULL); mainWindow = GTK_WINDOW(gtk_builder_get_object(GTK_BUILDER(builder), "mainWindow")); gtk_builder_connect_signals(builder, NULL); previewContainer = GTK_WIDGET(gtk_builder_get_object(GTK_BUILDER(builder), "viewportPreview")); previewLayout = gtk_flow_box_new(); gtk_flow_box_set_max_children_per_line(GTK_FLOW_BOX(previewLayout), 200); for (int i = 0; i < 4; ++i) { // CUSTOM!!!!! ki = kona_image_new(); temp = PreviewWidget_new(ki); gtk_flow_box_insert(GTK_FLOW_BOX(previewLayout),temp,0); gtk_widget_show(temp); // ------------------- } gtk_widget_show(previewLayout); gtk_container_add(GTK_CONTAINER(previewContainer), previewLayout); g_object_unref(G_OBJECT(builder)); gtk_widget_show(GTK_WIDGET(mainWindow)); /* Testing callbacks */ // NOTE: This test code does not care about freeing memory right now. GValue val = G_VALUE_INIT; GValue sval = G_VALUE_INIT; kona_image_meta meta; meta.height = 100; meta.width = 200; meta.id = 42; meta.image_url = "http://meow.cat/fullpic.png"; meta.tags = NULL; g_value_init(&sval, G_TYPE_STRING); g_value_set_string(&sval, "/home/markus/Pictures/FFT-an.png"); g_object_set_property((GObject*) ki, "previewFile", &sval); g_value_init(&val, G_TYPE_POINTER); g_value_set_pointer(&val, (gpointer) &meta); g_object_set_property((GObject*) ki, "meta", &val); } int main(int argc, char **argv) { gtk_init(&argc, &argv); buildWindow(); gtk_main(); return 0; } // REMEBER THIS FUNCTION: g_clear_object ()