From 20e7e5d6502063bd4c05ffd35bc1657e6345ab94 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Tue, 25 Jul 2000 21:56:06 +0000 Subject: Replaced get_selection_list with foreach. 2000-07-25 Christopher James Lahey * e-table-selection-model.c, e-table-selection-model.h: Replaced get_selection_list with foreach. * e-table.h: Add a ETableSelectionModel. svn path=/trunk/; revision=4334 --- widgets/table/e-table-selection-model.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'widgets/table/e-table-selection-model.c') diff --git a/widgets/table/e-table-selection-model.c b/widgets/table/e-table-selection-model.c index 77be6eb2fa..6524dee4d4 100644 --- a/widgets/table/e-table-selection-model.c +++ b/widgets/table/e-table-selection-model.c @@ -196,7 +196,7 @@ e_table_selection_model_new (void) gboolean e_table_selection_model_is_row_selected (ETableSelectionModel *selection, - int n) + guint n) { if (selection->row_count < n) return 0; @@ -204,25 +204,22 @@ e_table_selection_model_is_row_selected (ETableSelectionModel *selection, return ((selection->selection[n / 32]) >> (31 - (n % 32))) & 0x1; } -GList * -e_table_selection_model_get_selection_list (ETableSelectionModel *selection) +void +e_table_selection_model_foreach (ETableSelectionModel *selection, + ETableForeachFunc callback, + gpointer closure) { int i; - GList *list = NULL; - if (selection->row_count < 0) - return NULL; for (i = selection->row_count / 32; i >= 0; i--) { if (selection->selection[i]) { int j; guint32 value = selection->selection[i]; for (j = 31; j >= 0; j--) { if (value & 0x1) { - list = g_list_prepend(list, (void *) (i * 32 + j)); + callback(i * 32 + j, closure); } value >>= 1; } } } - - return NULL; } -- cgit v1.2.3