From cea054cd54d84479352a43bbabc19c9ce9af5efb Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 8 Aug 2008 04:26:12 +0000 Subject: Merge revisions 35747:35930 from trunk. svn path=/branches/kill-bonobo/; revision=35931 --- widgets/table/e-table-group-container.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (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 56562fd5b6..2c61eee775 100644 --- a/widgets/table/e-table-group-container.c +++ b/widgets/table/e-table-group-container.c @@ -688,6 +688,32 @@ etgc_compute_location (ETableGroup *etg, int *x, int *y, int *row, int *col) } } +static void +etgc_compute_mouse_over (ETableGroup *etg, int x, int y, int *row, int *col) +{ + ETableGroupContainer *etgc = E_TABLE_GROUP_CONTAINER(etg); + + if (row) + *row = -1; + if (col) + *col = -1; + + x -= GROUP_INDENT; + y -= TITLE_HEIGHT; + + if (x >= 0 && y >= 0 && 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_compute_mouse_over (child, x, y, row, col); + if ((*row != -1) && (*col != -1)) + return; + } + } +} + static void etgc_get_cell_geometry (ETableGroup *etg, int *row, int *col, int *x, int *y, int *width, int *height) { @@ -889,6 +915,7 @@ etgc_class_init (ETableGroupContainerClass *klass) e_group_class->get_focus_column = etgc_get_focus_column; e_group_class->get_printable = etgc_get_printable; e_group_class->compute_location = etgc_compute_location; + e_group_class->compute_mouse_over = etgc_compute_mouse_over; e_group_class->get_cell_geometry = etgc_get_cell_geometry; g_object_class_install_property (object_class, PROP_TABLE_ALTERNATING_ROW_COLORS, -- cgit v1.2.3