diff options
author | Christopher James Lahey <clahey@helixcode.com> | 2000-05-20 02:47:16 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2000-05-20 02:47:16 +0800 |
commit | 46f211579d1dfd60147099942b40c9697796e7c8 (patch) | |
tree | 5f8e8027e3e378bd2c8061ecf10061f4609ab02e /widgets/table/test-check.c | |
parent | ae208c7e8ff0463666c52392553af2572a8ee9b5 (diff) | |
download | gsoc2013-evolution-46f211579d1dfd60147099942b40c9697796e7c8.tar.gz gsoc2013-evolution-46f211579d1dfd60147099942b40c9697796e7c8.tar.zst gsoc2013-evolution-46f211579d1dfd60147099942b40c9697796e7c8.zip |
Added initialize_value and value_is_empty callbacks.
2000-05-19 Christopher James Lahey <clahey@helixcode.com>
* 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
Diffstat (limited to 'widgets/table/test-check.c')
-rw-r--r-- | widgets/table/test-check.c | 41 |
1 files changed, 31 insertions, 10 deletions
diff --git a/widgets/table/test-check.c b/widgets/table/test-check.c index 3a32098245..300ebf7a7e 100644 --- a/widgets/table/test-check.c +++ b/widgets/table/test-check.c @@ -1,3 +1,4 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * Test code for the ETable package * @@ -66,7 +67,7 @@ set_value_at (ETableModel *etc, int col, int row, const void *val, void *data) g_assert (col < 2); g_assert (row < LINES); - if (col == 0){ + if (col == 0) { my_table [row].value = GPOINTER_TO_INT (val); printf ("Value at %d,%d set to %d\n", col, row, GPOINTER_TO_INT (val)); } else { @@ -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,7 +147,9 @@ check_test (void) e_table_model = e_table_simple_new ( col_count, row_count, value_at, set_value_at, is_cell_editable, - duplicate_value, free_value, thaw, NULL); + duplicate_value, free_value, + initialize_value, value_is_empty, + thaw, NULL); /* * Header |