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-simple.h | 69 +++++++++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 27 deletions(-) (limited to 'widgets/table/e-table-simple.h') diff --git a/widgets/table/e-table-simple.h b/widgets/table/e-table-simple.h index 0521809438..6dfe28f573 100644 --- a/widgets/table/e-table-simple.h +++ b/widgets/table/e-table-simple.h @@ -26,10 +26,9 @@ #define _E_TABLE_SIMPLE_H_ #include +#include -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +BEGIN_GNOME_DECLS #define E_TABLE_SIMPLE_TYPE (e_table_simple_get_type ()) #define E_TABLE_SIMPLE(o) (GTK_CHECK_CAST ((o), E_TABLE_SIMPLE_TYPE, ETableSimple)) @@ -72,7 +71,7 @@ typedef struct { ETableSimpleFreeValueFn free_value; ETableSimpleInitializeValueFn initialize_value; ETableSimpleValueIsEmptyFn value_is_empty; - ETableSimpleValueToStringFn value_to_string; + ETableSimpleValueToStringFn value_to_string; void *data; } ETableSimple; @@ -80,29 +79,45 @@ typedef struct { ETableModelClass parent_class; } ETableSimpleClass; -GtkType e_table_simple_get_type (void); - -ETableModel *e_table_simple_new (ETableSimpleColumnCountFn col_count, - ETableSimpleRowCountFn row_count, - ETableSimpleAppendRowFn append_row, - - ETableSimpleValueAtFn value_at, - ETableSimpleSetValueAtFn set_value_at, - ETableSimpleIsCellEditableFn is_cell_editable, - - ETableSimpleHasSaveIdFn has_save_id, - ETableSimpleGetSaveIdFn get_save_id, - - ETableSimpleDuplicateValueFn duplicate_value, - ETableSimpleFreeValueFn free_value, - ETableSimpleInitializeValueFn initialize_value, - ETableSimpleValueIsEmptyFn value_is_empty, - ETableSimpleValueToStringFn value_to_string, - void *data); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ +GtkType e_table_simple_get_type (void); +ETableModel *e_table_simple_new (ETableSimpleColumnCountFn col_count, + ETableSimpleRowCountFn row_count, + ETableSimpleAppendRowFn append_row, + ETableSimpleValueAtFn value_at, + ETableSimpleSetValueAtFn set_value_at, + ETableSimpleIsCellEditableFn is_cell_editable, + ETableSimpleHasSaveIdFn has_save_id, + ETableSimpleGetSaveIdFn get_save_id, + ETableSimpleDuplicateValueFn duplicate_value, + ETableSimpleFreeValueFn free_value, + ETableSimpleInitializeValueFn initialize_value, + ETableSimpleValueIsEmptyFn value_is_empty, + ETableSimpleValueToStringFn value_to_string, + void *data); + + +/* Helper functions for if your values are all just strings. */ +void *e_table_simple_string_duplicate_value (ETableModel *etm, + int col, + const void *val, + void *data); +void e_table_simple_string_free_value (ETableModel *etm, + int col, + void *val, + void *data); +void *e_table_simple_string_initialize_value (ETableModel *etm, + int col, + void *data); +gboolean e_table_simple_string_value_is_empty (ETableModel *etm, + int col, + const void *val, + void *data); +char *e_table_simple_string_value_to_string (ETableModel *etm, + int col, + const void *val, + void *data); + +END_GNOME_DECLS #endif /* _E_TABLE_SIMPLE_H_ */ -- cgit