// 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; 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 < 100; ++i) { // CUSTOM!!!!! temp = PreviewWidget_new(); 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 LIB ***/ GValue val = G_VALUE_INIT; KonaImage *ki; kona_image_meta meta; ki = kona_image_new(); g_value_init(&val, G_TYPE_POINTER); meta.height = 100; meta.width = 200; meta.image_url = "MEOWMEOWMEOW"; g_value_set_pointer(&val, (gpointer) &meta); g_object_set_property((GObject*) ki, "meta", &val); g_value_reset(&val); meta.height = 0; meta.width = 1; // Read back g_object_get_property((GObject*) ki, "meta", &val); kona_image_meta *metret; metret = g_value_get_pointer(&val); printf("WIDTH=%i\n", metret->width); printf("HEIGHT=%i\n", metret->height); } int main(int argc, char **argv) { gtk_init(&argc, &argv); buildWindow(); gtk_main(); return 0; } // REMEBER THIS FUNCTION: g_clear_object ()