forked from AuroraMiddleware/gtk
builder: Make GListStore buildable
Treats GListStore like any other object and allows <child> to add items to it.
This commit is contained in:
parent
24effe45cc
commit
6a0e0031b1
@ -925,13 +925,27 @@ _gtk_builder_add (GtkBuilder *builder,
|
|||||||
g_assert (object != NULL);
|
g_assert (object != NULL);
|
||||||
|
|
||||||
parent = ((ObjectInfo*)child_info->parent)->object;
|
parent = ((ObjectInfo*)child_info->parent)->object;
|
||||||
g_assert (GTK_IS_BUILDABLE (parent));
|
|
||||||
|
|
||||||
GTK_NOTE (BUILDER,
|
GTK_NOTE (BUILDER,
|
||||||
g_message ("adding %s to %s", object_get_name (object), object_get_name (parent)));
|
g_message ("adding %s to %s", object_get_name (object), object_get_name (parent)));
|
||||||
|
|
||||||
gtk_buildable_add_child (GTK_BUILDABLE (parent), builder, object,
|
if (G_IS_LIST_STORE (parent))
|
||||||
child_info->type);
|
{
|
||||||
|
if (child_info->type != NULL)
|
||||||
|
{
|
||||||
|
GTK_BUILDER_WARN_INVALID_CHILD_TYPE (parent, child_info->type);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_list_store_append (G_LIST_STORE (parent), object);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_assert (GTK_IS_BUILDABLE (parent));
|
||||||
|
gtk_buildable_add_child (GTK_BUILDABLE (parent), builder, object,
|
||||||
|
child_info->type);
|
||||||
|
}
|
||||||
|
|
||||||
child_info->added = TRUE;
|
child_info->added = TRUE;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user