WIP: TreeItem create_node_recursive (GtkTreeStore *model, TreeItem *current_item) {...}

This commit is contained in:
Jean Sirmai 2023-12-18 09:38:59 +01:00
parent 9da50fa49b
commit 5e870ae870
Signed by: jean
GPG Key ID: FB3115C340E057E3
1 changed files with 19 additions and 1 deletions

View File

@ -89,7 +89,7 @@ static TreeItem A[] = {{ "C", C }, { "D", D }, { NULL }};
static TreeItem R[] = {{ "A", A }, { "B", B }, { NULL }}; // ROOT static TreeItem R[] = {{ "A", A }, { "B", B }, { NULL }}; // ROOT
static TreeItem O[] = {{ "R", R }, { NULL }}; // Artefact added for symmetry static TreeItem O[] = {{ "R", R }, { NULL }}; // Artefact added for symmetry
static void create_node(GtkTreeStore *model, static void create_node (GtkTreeStore *model,
GtkTreeIter *iter_children, GtkTreeIter *iter_children,
TreeItem *item_children, TreeItem *item_children,
GtkTreeIter *iter_parent) GtkTreeIter *iter_parent)
@ -98,6 +98,24 @@ static void create_node(GtkTreeStore *model,
gtk_tree_store_set (model, iter_children, COLUMN_0, item_children->label, -1); gtk_tree_store_set (model, iter_children, COLUMN_0, item_children->label, -1);
} }
static TreeItem create_node_recursive (GtkTreeStore *model, TreeItem *current_item)
{
TreeItem *item_children;
GtkTreeIter iter_children, iter_parent;
if (current_item->children) {
item_children = current_item->children;
while (item_children->label) {
gtk_tree_store_append (model, &iter_children, &iter_parent);
gtk_tree_store_set (model, &iter_children, COLUMN_0, item_children->label, -1);
item_children++;
create_node_recursive (model, item_children);
}
}
return *item_children;
}
static GtkTreeModel * static GtkTreeModel *
create_model (void) create_model (void)
{ {