From 3649d5dc6d7279d6c218d241232dea73c5c773d2 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Thu, 29 Jun 2000 19:22:24 +0000 Subject: From mail: 2000-06-29 Christopher James Lahey * message-list.c, mail-ops.c: Changed the name of e_table_select_row to e_table_set_cursor_row. From widgets/e-table: 2000-06-29 Christopher James Lahey * e-table-click-to-add.c: Made this appear a bit better. * e-table-defines.h: Cleaned this up a bit, added ETableForeachFunc. * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h, e-table.c, e-table.h: Changed e_table_select_row to e_table_set_cursor_row. Changed e_table_get_selected_view_row to e_table_get_cursor_row. Added e_table_selected_row_foreach. * e-table-header-item.c: Fixed some warnings. * e-table-sorted-variable.c: Removed some unneeded debugging print statments. * e-tree-example-1.c: Changed e_table_get_selected_view_row to e_table_get_cursor_row. svn path=/trunk/; revision=3799 --- widgets/table/e-table-group-container.c | 37 +++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) (limited to 'widgets/table/e-table-group-container.c') diff --git a/widgets/table/e-table-group-container.c b/widgets/table/e-table-group-container.c index 6bff77d4ad..f4e10917fb 100644 --- a/widgets/table/e-table-group-container.c +++ b/widgets/table/e-table-group-container.c @@ -484,7 +484,7 @@ etgc_increment (ETableGroup *etg, gint position, gint amount) } static void -etgc_select_row (ETableGroup *etg, gint row) +etgc_set_cursor_row (ETableGroup *etg, gint row) { ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg); GList *list; @@ -492,7 +492,7 @@ etgc_select_row (ETableGroup *etg, gint row) ETableGroup *group = ((ETableGroupContainerChildNode *)list->data)->child; gint this_count = e_table_group_row_count(group); if (row < this_count) { - e_table_group_select_row(group, row); + e_table_group_set_cursor_row(group, row); return; } row -= this_count; @@ -500,14 +500,14 @@ etgc_select_row (ETableGroup *etg, gint row) } static int -etgc_get_selected_view_row (ETableGroup *etg) +etgc_get_cursor_row (ETableGroup *etg) { ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg); GList *list; int count = 0; for (list = etgc->children; list; list = g_list_next(list)) { ETableGroup *group = ((ETableGroupContainerChildNode *)list->data)->child; - int row = e_table_group_get_selected_view_row(group); + int row = e_table_group_get_cursor_row(group); if (row != -1) return count + row; count += e_table_group_row_count(group); @@ -546,6 +546,30 @@ etgc_get_focus_column (ETableGroup *etg) return 0; } +static void +etgc_selected_row_foreach (ETableGroup *etg, + ETableForeachFunc func, + gpointer closure) +{ + ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg); + if (etgc->children) { + GList *list; + for (list = etgc->children; list; list = list->next) { + ETableGroupContainerChildNode *child_node = (ETableGroupContainerChildNode *)list->data; + ETableGroup *child = child_node->child; + e_table_group_selected_row_foreach (child, func, closure); + } + } +} + + + + + + + + + static void etgc_thaw (ETableGroup *etg) { e_canvas_item_request_reflow (GNOME_CANVAS_ITEM(etg)); @@ -669,10 +693,11 @@ etgc_class_init (GtkObjectClass *object_class) e_group_class->increment = etgc_increment; e_group_class->row_count = etgc_row_count; e_group_class->set_focus = etgc_set_focus; - e_group_class->select_row = etgc_select_row; - e_group_class->get_selected_view_row = etgc_get_selected_view_row; + e_group_class->set_cursor_row = etgc_set_cursor_row; + e_group_class->get_cursor_row = etgc_get_cursor_row; e_group_class->get_focus_column = etgc_get_focus_column; e_group_class->get_printable = etgc_get_printable; + e_group_class->selected_row_foreach = etgc_selected_row_foreach; gtk_object_add_arg_type ("ETableGroupContainer::drawgrid", GTK_TYPE_BOOL, GTK_ARG_WRITABLE, ARG_TABLE_DRAW_GRID); -- cgit