79 lines
1.7 KiB
C
79 lines
1.7 KiB
C
|
/*
|
||
|
* Copyright 2016 (c) Anna Schumaker.
|
||
|
*/
|
||
|
#include <gui/model.h>
|
||
|
|
||
|
static const GTypeInfo queue_type_info;
|
||
|
static const GInterfaceInfo queue_tree_model;
|
||
|
static GObjectClass *parent_class = NULL;
|
||
|
|
||
|
|
||
|
static void _queue_model_init(GuiQueueModel *model)
|
||
|
{
|
||
|
model->gqm_stamp = g_random_int();
|
||
|
}
|
||
|
|
||
|
static void _queue_model_finalize(GObject *object)
|
||
|
{
|
||
|
parent_class->finalize(object);
|
||
|
}
|
||
|
|
||
|
static void _queue_model_class_init(GuiQueueModelClass *class)
|
||
|
{
|
||
|
GObjectClass *object_class;
|
||
|
|
||
|
parent_class = g_type_class_peek_parent(class);
|
||
|
object_class = (GObjectClass *)class;
|
||
|
|
||
|
object_class->finalize = _queue_model_finalize;
|
||
|
}
|
||
|
|
||
|
static void _queue_tree_model_init(GtkTreeModelIface *iface)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
GuiQueueModel *gui_queue_model_new()
|
||
|
{
|
||
|
GuiQueueModel *model = g_object_new(GUI_QUEUE_MODEL_TYPE, NULL);
|
||
|
|
||
|
g_assert(model != NULL);
|
||
|
return model;
|
||
|
}
|
||
|
|
||
|
GType gui_queue_model_get_type()
|
||
|
{
|
||
|
static GType queue_type = 0;
|
||
|
|
||
|
if (queue_type == 0) {
|
||
|
queue_type = g_type_register_static(G_TYPE_OBJECT,
|
||
|
"GuiQueueModel",
|
||
|
&queue_type_info,
|
||
|
(GTypeFlags)0);
|
||
|
g_type_add_interface_static(queue_type,
|
||
|
GTK_TYPE_TREE_MODEL,
|
||
|
&queue_tree_model);
|
||
|
}
|
||
|
|
||
|
return queue_type;
|
||
|
}
|
||
|
|
||
|
|
||
|
static const GTypeInfo queue_type_info = {
|
||
|
.class_size = sizeof(GuiQueueModelClass),
|
||
|
.base_init = NULL,
|
||
|
.base_finalize = NULL,
|
||
|
.class_init = (GClassInitFunc)_queue_model_class_init,
|
||
|
.class_finalize = NULL,
|
||
|
.class_data = NULL,
|
||
|
.instance_size = sizeof(GuiQueueModel),
|
||
|
.n_preallocs = 0,
|
||
|
.instance_init = (GInstanceInitFunc)_queue_model_init,
|
||
|
};
|
||
|
|
||
|
static const GInterfaceInfo queue_tree_model = {
|
||
|
.interface_init = (GInterfaceInitFunc)_queue_tree_model_init,
|
||
|
.interface_finalize = NULL,
|
||
|
.interface_data = NULL,
|
||
|
};
|