WIP: Is a more symetrical iteration possible ? line 92 GtkTreeIter * / GtkTreeStore *

This commit is contained in:
Jean Sirmai 2023-12-16 09:12:06 +01:00
parent 2132b0a7b4
commit 7efd6ee795
Signed by: jean
GPG Key ID: FB3115C340E057E3
1 changed files with 7 additions and 5 deletions

View File

@ -70,9 +70,11 @@ static TreeItem R[] = {{ "A", A }, { "B", B }, { NULL }};
static TreeItem O[] = {{ "R", R }, { NULL }}; // Artefact added for symetry static TreeItem O[] = {{ "R", R }, { NULL }}; // Artefact added for symetry
static GtkTreeModel * static GtkTreeModel *
iterate_node(GtkTreeStore *model, TreeItem *parent, TreeItem *children) iterate_node(GtkTreeStore *model,
TreeItem *item_parent, TreeItem *item_children,
GtkTreeIter *iter_parent, GtkTreeIter *iter_children)
{ {
printf("parent, children : %s, %s\n", parent->label, children->label); printf("parent, children : %s -> %s\n", item_parent->label, item_children->label);
/* gtk_tree_store_append (model, &child_child_iter, &child_iter); */ /* gtk_tree_store_append (model, &child_child_iter, &child_iter); */
/* gtk_tree_store_set (model, &child_child_iter, COLUMN_0, item_2->label, -1); */ /* gtk_tree_store_set (model, &child_child_iter, COLUMN_0, item_2->label, -1); */
return GTK_TREE_MODEL (model); return GTK_TREE_MODEL (model);
@ -85,22 +87,22 @@ create_model (void)
TreeItem *item_0 = O->children; TreeItem *item_0 = O->children;
while (item_0->label) { while (item_0->label) {
iterate_node(model, O, item_0);
GtkTreeIter iter; GtkTreeIter iter;
iterate_node(model, O, item_0, model, &iter);
gtk_tree_store_append (model, &iter, NULL); gtk_tree_store_append (model, &iter, NULL);
gtk_tree_store_set (model, &iter, COLUMN_0, item_0->label, -1); gtk_tree_store_set (model, &iter, COLUMN_0, item_0->label, -1);
TreeItem *item_1 = item_0->children; TreeItem *item_1 = item_0->children;
while (item_1->label) { while (item_1->label) {
iterate_node(model, item_0, item_1);
GtkTreeIter child_iter; GtkTreeIter child_iter;
iterate_node(model, item_0, item_1, &iter, &child_iter);
gtk_tree_store_append (model, &child_iter, &iter); gtk_tree_store_append (model, &child_iter, &iter);
gtk_tree_store_set (model, &child_iter, COLUMN_0, item_1->label, -1); gtk_tree_store_set (model, &child_iter, COLUMN_0, item_1->label, -1);
TreeItem *item_2 = item_1->children; TreeItem *item_2 = item_1->children;
while (item_2->label) { while (item_2->label) {
iterate_node(model, item_1, item_2);
GtkTreeIter child_child_iter; GtkTreeIter child_child_iter;
iterate_node(model, item_1, item_2, &child_iter, &child_child_iter);
gtk_tree_store_append (model, &child_child_iter, &child_iter); gtk_tree_store_append (model, &child_child_iter, &child_iter);
gtk_tree_store_set (model, &child_child_iter, COLUMN_0, item_2->label, -1); gtk_tree_store_set (model, &child_child_iter, COLUMN_0, item_2->label, -1);