aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-tree-table-adapter.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2001-09-01 16:03:44 +0800
committerChris Lahey <clahey@src.gnome.org>2001-09-01 16:03:44 +0800
commit06eb6e23fb44335ffd747d1257dce6deb9a1d756 (patch)
treee4c025d189c07513c9f93bac25cd9a187e608acd /widgets/table/e-tree-table-adapter.c
parentb529ceb8fe7886c93633295097ab36500d4e8ba1 (diff)
downloadgsoc2013-evolution-06eb6e23fb44335ffd747d1257dce6deb9a1d756.tar
gsoc2013-evolution-06eb6e23fb44335ffd747d1257dce6deb9a1d756.tar.gz
gsoc2013-evolution-06eb6e23fb44335ffd747d1257dce6deb9a1d756.tar.bz2
gsoc2013-evolution-06eb6e23fb44335ffd747d1257dce6deb9a1d756.tar.lz
gsoc2013-evolution-06eb6e23fb44335ffd747d1257dce6deb9a1d756.tar.xz
gsoc2013-evolution-06eb6e23fb44335ffd747d1257dce6deb9a1d756.tar.zst
gsoc2013-evolution-06eb6e23fb44335ffd747d1257dce6deb9a1d756.zip
Rename these functions from ecn_get_text and ecn_free_text.
2001-09-01 Christopher James Lahey <clahey@ximian.com> * e-cell-float.c (ecf_get_text, ecf_free_text): Rename these functions from ecn_get_text and ecn_free_text. * e-cell-tree.c (ect_height): Make sure the height is a multiple of two here. * e-table-header-item.c, e-table-header-item.h: Added a "tree" argument so that the sorting can be set by right clicking on the header item. * e-table-item.c (eti_table_model_rows_deleted): Added some assertions here. * e-tree-selection-model.c (etsm_find_node_unless_equals): Fixed indentation. * e-tree-table-adapter.c (etta_proxy_node_changed): Rewrote this to be more readable. (e_tree_table_adapter_node_set_expanded): Added an assertion. * e-tree.c, e-tree.h (e_tree_get_spec): Added this function. (e_tree_setup_header): Set the tree argument on the ETableHeaderItem here. svn path=/trunk/; revision=12553
Diffstat (limited to 'widgets/table/e-tree-table-adapter.c')
-rw-r--r--widgets/table/e-tree-table-adapter.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/widgets/table/e-tree-table-adapter.c b/widgets/table/e-tree-table-adapter.c
index f432dcc53a..4ee3c6f704 100644
--- a/widgets/table/e-tree-table-adapter.c
+++ b/widgets/table/e-tree-table-adapter.c
@@ -605,21 +605,18 @@ etta_proxy_node_changed (ETreeModel *etm, ETreePath path, ETreeTableAdapter *ett
int row = find_row_num(etta, path);
int size;
int old_size;
+ ETreeTableAdapterNode *node;
if (row == -1)
return;
size = array_size_from_path(etta, path);
- if (e_tree_model_node_is_expandable(etta->priv->source, path)) {
- ETreeTableAdapterNode *node = find_or_create_node(etta, path);
+
+ node = find_node(etta, path);
+ if (node)
old_size = node->num_visible_children + 1;
- } else {
- ETreeTableAdapterNode *node = find_node(etta, path);
- if (node)
- old_size = node->num_visible_children + 1;
- else
- old_size = 1;
- }
+ else
+ old_size = 1;
etta_expand_to(etta, etta->priv->n_map + size - old_size);
@@ -932,13 +929,13 @@ void e_tree_table_adapter_node_set_expanded (ETreeTableAdapter *etta, ET
return;
node = find_or_create_node(etta, path);
- row = find_row_num(etta, path);
if (expanded != node->expanded) {
e_table_model_pre_change (E_TABLE_MODEL(etta));
node->expanded = expanded;
+ row = find_row_num(etta, path);
if (row != -1) {
if (etta->priv->root_visible)
e_table_model_row_changed(E_TABLE_MODEL(etta), row);
@@ -961,6 +958,7 @@ void e_tree_table_adapter_node_set_expanded (ETreeTableAdapter *etta, ET
}
} else {
int num_children = node->num_visible_children;
+ g_assert (etta->priv->n_map >= row + 1 + num_children);
memmove(etta->priv->map_table + row + 1,
etta->priv->map_table + row + 1 + num_children,
(etta->priv->n_map - row - 1 - num_children) * sizeof (ETreePath));