From fd4ffbd38ccef4d2a35675a50f89e0b5f2d6d86e Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Tue, 12 Mar 2002 14:30:53 +0000 Subject: Added e-table-search.lo. 2002-03-12 Christopher James Lahey * gal/Makefile.am (libgal_la_LIBADD): Added e-table-search.lo. * gal/util/e-util.c, gal/util/e-util.h (e_marshal_BOOL__STRING): Added this marshal function. From gal/e-table/ChangeLog: 2002-03-12 Christopher James Lahey * Makefile.am (libetable_la_SOURCES): Added e-table-search.c. (libetableinclude_HEADERS): Added e-table-search.h. * e-cell.h: Added ETableSearchFun here. * e-table-col.h: Added search here. * e-table-column-specification.c, e-table-column-specification.h: Added search here. * e-table-extras.c, e-table-extras.h (e_table_extras_add_search): Added ETableSearchFuncs here. * e-table-memory-store.c (e_table_memory_store_insert, e_table_memory_store_insert_adopt): Handle row == -1 here. * e-table-search.c, e-table-search.h: New class to reusably handle the semantics of searching for a string. * e-table-simple.c, e-table-simple.h: Added a bunch of simple functions here for if your table is all strings. Should be reusable. * e-table-utils.c (et_col_spec_to_col): Added support for searches here. * e-table.c, e-table.h: Added an ETableSearch here. svn path=/trunk/; revision=16119 --- widgets/table/e-table-utils.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'widgets/table/e-table-utils.c') diff --git a/widgets/table/e-table-utils.c b/widgets/table/e-table-utils.c index 4c84be94ca..a155d49b0a 100644 --- a/widgets/table/e-table-utils.c +++ b/widgets/table/e-table-utils.c @@ -71,11 +71,16 @@ et_col_spec_to_col (ETableColumnSpecification *col_spec, ETableExtras *ete) { ETableCol *col = NULL; - ECell *cell; - GCompareFunc compare; + ECell *cell = NULL; + GCompareFunc compare = NULL; + ETableSearchFunc search = NULL; - cell = e_table_extras_get_cell(ete, col_spec->cell); - compare = e_table_extras_get_compare(ete, col_spec->compare); + if (col_spec->cell) + cell = e_table_extras_get_cell(ete, col_spec->cell); + if (col_spec->compare) + compare = e_table_extras_get_compare(ete, col_spec->compare); + if (col_spec->search) + search = e_table_extras_get_search(ete, col_spec->search); if (cell && compare) { if (col_spec->pixbuf && *col_spec->pixbuf) { @@ -97,6 +102,7 @@ et_col_spec_to_col (ETableColumnSpecification *col_spec, col_spec->expansion, col_spec->minimum_width, cell, compare, col_spec->resizable, col_spec->disabled, col_spec->priority); } + col->search = search; } return col; } -- cgit