ocarina/gui/builder.c

43 lines
809 B
C

/*
* Copyright 2016 (c) Anna Schumaker.
*/
#include <gui/builder.h>
static GtkBuilder *gui_builder = NULL;
void gui_builder_init(const char *file)
{
gui_builder = gtk_builder_new_from_file(file);
gtk_builder_connect_signals(gui_builder, NULL);
}
void gui_builder_deinit()
{
g_object_unref(G_OBJECT(gui_builder));
gui_builder = NULL;
}
GObject *gui_builder_object(const char *name)
{
if (gui_builder)
return gtk_builder_get_object(gui_builder, name);
return NULL;
}
GtkWidget *gui_builder_widget(const char *name)
{
return GTK_WIDGET(gui_builder_object(name));
}
int gui_builder_widget_height(const char *name)
{
return gtk_widget_get_allocated_height(gui_builder_widget(name));
}
#ifdef CONFIG_TESTING
GtkBuilder *test_get_gui_builder()
{
return gui_builder;
}
#endif /* CONFIG_TESTING */