142
142
tree_model_generator->priv->root_nodes =
143
143
build_node_map (tree_model_generator, NULL, NULL, -1);
145
g_signal_connect_swapped (tree_model_generator->priv->child_model, "row-changed",
146
G_CALLBACK (child_row_changed), tree_model_generator);
147
g_signal_connect_swapped (tree_model_generator->priv->child_model, "row-deleted",
148
G_CALLBACK (child_row_deleted), tree_model_generator);
149
g_signal_connect_swapped (tree_model_generator->priv->child_model, "row-inserted",
150
G_CALLBACK (child_row_inserted), tree_model_generator);
145
g_signal_connect_swapped (
146
tree_model_generator->priv->child_model, "row-changed",
147
G_CALLBACK (child_row_changed), tree_model_generator);
148
g_signal_connect_swapped (
149
tree_model_generator->priv->child_model, "row-deleted",
150
G_CALLBACK (child_row_deleted), tree_model_generator);
151
g_signal_connect_swapped (
152
tree_model_generator->priv->child_model, "row-inserted",
153
G_CALLBACK (child_row_inserted), tree_model_generator);
182
185
ETreeModelGenerator *tree_model_generator = E_TREE_MODEL_GENERATOR (object);
184
187
if (tree_model_generator->priv->child_model) {
185
g_signal_handlers_disconnect_matched (tree_model_generator->priv->child_model,
186
G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL,
187
tree_model_generator);
188
g_signal_handlers_disconnect_matched (
189
tree_model_generator->priv->child_model,
190
G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL,
191
tree_model_generator);
188
192
g_object_unref (tree_model_generator->priv->child_model);
521
525
if (group->len - 1 - index > 0) {
524
memmove ((Node *) group->data + index + 1,
525
(Node *) group->data + index,
526
(group->len - 1 - index) * sizeof (Node));
529
(Node *) group->data + index + 1,
530
(Node *) group->data + index,
531
(group->len - 1 - index) * sizeof (Node));
528
533
/* Update parent pointers */
529
534
for (i = index + 1; i < group->len; i++) {
548
553
node->n_generated = 0;
549
554
node->child_nodes = NULL;
551
ETMG_DEBUG (g_print ("Created node at offset %d, parent_group = %p, parent_index = %d\n",
552
index, node->parent_group, node->parent_index));
557
g_print ("Created node at offset %d, parent_group = %p, parent_index = %d\n",
558
index, node->parent_group, node->parent_index));
566
572
for (i = 0; i < group->len; i++) {
567
573
Node *node = &g_array_index (group, Node, i);
568
g_print (" %04d: pgroup=%p, pindex=%d, n_generated=%d, child_nodes=%p\n",
569
i, node->parent_group, node->parent_index, node->n_generated, node->child_nodes);
575
" %04d: pgroup=%p, pindex=%d, n_generated=%d, child_nodes=%p\n",
576
i, node->parent_group, node->parent_index, node->n_generated, node->child_nodes);
743
750
g_return_val_if_fail (GTK_IS_TREE_MODEL (child_model), NULL);
745
return E_TREE_MODEL_GENERATOR (g_object_new (E_TYPE_TREE_MODEL_GENERATOR,
746
"child-model", child_model, NULL));
752
return E_TREE_MODEL_GENERATOR (
753
g_object_new (E_TYPE_TREE_MODEL_GENERATOR,
754
"child-model", child_model, NULL));
1321
1329
g_return_if_fail (E_IS_TREE_MODEL_GENERATOR (tree_model));
1322
1330
g_return_if_fail (ITER_IS_VALID (tree_model_generator, iter));
1324
e_tree_model_generator_convert_iter_to_child_iter (tree_model_generator, &child_iter,
1325
&permutation_n, iter);
1332
e_tree_model_generator_convert_iter_to_child_iter (
1333
tree_model_generator, &child_iter,
1334
&permutation_n, iter);
1327
1336
if (tree_model_generator->priv->modify_func) {
1328
1337
tree_model_generator->priv->modify_func (tree_model_generator->priv->child_model,