From 660a75cc995f416ecc018b6ee278582651240631 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Fri, 4 Aug 2000 14:14:44 +0000 Subject: Made drag events calculate a row and column and signal that information. 2000-08-04 Christopher James Lahey * 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: Made drag events calculate a row and column and signal that information. * e-table-selection-model.c, e-table-selection-model.h: Changed do_something to take a GdkModifierType. svn path=/trunk/; revision=4529 --- widgets/e-table/e-table-group-container.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'widgets/e-table/e-table-group-container.c') diff --git a/widgets/e-table/e-table-group-container.c b/widgets/e-table/e-table-group-container.c index f3788f154f..dbf492d091 100644 --- a/widgets/e-table/e-table-group-container.c +++ b/widgets/e-table/e-table-group-container.c @@ -542,6 +542,31 @@ etgc_get_focus_column (ETableGroup *etg) return 0; } +static void +etgc_compute_location (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_location (child, x, y, row, col); + if ((*row != -1) && (*col != -1)) + return; + } + } +} static void etgc_thaw (ETableGroup *etg) { @@ -684,6 +709,7 @@ etgc_class_init (GtkObjectClass *object_class) 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->compute_location = etgc_compute_location; gtk_object_add_arg_type ("ETableGroupContainer::drawgrid", GTK_TYPE_BOOL, GTK_ARG_WRITABLE, ARG_TABLE_DRAW_GRID); -- cgit v1.2.3