konaclient-gtk/konaclient-gtk/main.c

88 lines
1.9 KiB
C

// USE: libsoup (http), json-glib
#include <gtk/gtk.h>
#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 ()