From 46f211579d1dfd60147099942b40c9697796e7c8 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Fri, 19 May 2000 18:47:16 +0000 Subject: Added initialize_value and value_is_empty callbacks. 2000-05-19 Christopher James Lahey * e-table-example-1.c, e-table-example-2.c, e-table-simple.c, e-table-simple.h, e-table-size-test.c, test-check.c, test-cols.c, test-table.c: Added initialize_value and value_is_empty callbacks. * e-table-model.c, e-table-model.h: Added initialize_value and value_is_callback virtual functions to the ETableModel class. * e-table-subset.c: Perpetuate the initialize_value and value_is_empty methods. svn path=/trunk/; revision=3138 --- widgets/e-table/test-cols.c | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) (limited to 'widgets/e-table/test-cols.c') diff --git a/widgets/e-table/test-cols.c b/widgets/e-table/test-cols.c index 6756511fb4..e34e477dae 100644 --- a/widgets/e-table/test-cols.c +++ b/widgets/e-table/test-cols.c @@ -1,3 +1,4 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * Test code for the ETable package * @@ -84,19 +85,37 @@ is_cell_editable (ETableModel *etc, int col, int row, void *data) static void * duplicate_value (ETableModel *etc, int col, const void *value, void *data) { - if (col == 0){ - return (void *)value; - } else { - return g_strdup (value); - } + if (col == 0){ + return (void *)value; + } else { + return g_strdup (value); + } } static void free_value (ETableModel *etc, int col, void *value, void *data) { - if (col != 0){ - g_free (value); - } + if (col != 0){ + g_free (value); + } +} + +static void * +initialize_value (ETableModel *etc, int col, void *data) +{ + if (col == 0) + return NULL; + else + return g_strdup (""); +} + +static gboolean +value_is_empty (ETableModel *etc, int col, const void *value, void *data) +{ + if (col == 0) + return value == NULL; + else + return !(value && *(char *)value); } static void @@ -128,6 +147,7 @@ multi_cols_test (void) col_count, row_count, value_at, set_value_at, is_cell_editable, duplicate_value, free_value, + initialize_value, value_is_empty, thaw, NULL); /* -- cgit v1.2.3