aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/test-check.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2000-05-20 02:47:16 +0800
committerChris Lahey <clahey@src.gnome.org>2000-05-20 02:47:16 +0800
commit46f211579d1dfd60147099942b40c9697796e7c8 (patch)
tree5f8e8027e3e378bd2c8061ecf10061f4609ab02e /widgets/table/test-check.c
parentae208c7e8ff0463666c52392553af2572a8ee9b5 (diff)
downloadgsoc2013-evolution-46f211579d1dfd60147099942b40c9697796e7c8.tar
gsoc2013-evolution-46f211579d1dfd60147099942b40c9697796e7c8.tar.gz
gsoc2013-evolution-46f211579d1dfd60147099942b40c9697796e7c8.tar.bz2
gsoc2013-evolution-46f211579d1dfd60147099942b40c9697796e7c8.tar.lz
gsoc2013-evolution-46f211579d1dfd60147099942b40c9697796e7c8.tar.xz
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.c41
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