WIP: before recursion, a perfect iteration ? (is OK)
This commit is contained in:
parent
1d1b1fa744
commit
2132b0a7b4
|
@ -67,6 +67,7 @@ static TreeItem C[] = {{ "H", H }, { NULL }};
|
||||||
static TreeItem B[] = {{ "E", E }, { "F", F }, { "G", G }, { NULL }};
|
static TreeItem B[] = {{ "E", E }, { "F", F }, { "G", G }, { NULL }};
|
||||||
static TreeItem A[] = {{ "C", C }, { "D", D }, { NULL }};
|
static TreeItem A[] = {{ "C", C }, { "D", D }, { NULL }};
|
||||||
static TreeItem R[] = {{ "A", A }, { "B", B }, { NULL }};
|
static TreeItem R[] = {{ "A", A }, { "B", B }, { NULL }};
|
||||||
|
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 *parent, TreeItem *children)
|
||||||
|
@ -82,27 +83,28 @@ create_model (void)
|
||||||
{
|
{
|
||||||
GtkTreeStore *model = gtk_tree_store_new (NUM_COLUMNS, G_TYPE_STRING);
|
GtkTreeStore *model = gtk_tree_store_new (NUM_COLUMNS, G_TYPE_STRING);
|
||||||
|
|
||||||
TreeItem *item_0 = R;
|
TreeItem *item_0 = O->children;
|
||||||
while (item_0->label)
|
while (item_0->label) {
|
||||||
{
|
iterate_node(model, O, item_0);
|
||||||
GtkTreeIter iter;
|
GtkTreeIter 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;
|
||||||
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) {
|
||||||
GtkTreeIter child_child_iter;
|
iterate_node(model, item_1, item_2);
|
||||||
iterate_node(model, item_1, item_2);
|
GtkTreeIter 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);
|
||||||
|
|
||||||
item_2++;
|
item_2++;
|
||||||
}
|
}
|
||||||
|
|
||||||
item_1++;
|
item_1++;
|
||||||
|
|
Loading…
Reference in New Issue