aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/e-table/e-table-model.h
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/e-table/e-table-model.h')
-rw-r--r--widgets/e-table/e-table-model.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/widgets/e-table/e-table-model.h b/widgets/e-table/e-table-model.h
index e542754f22..0c8d51b882 100644
--- a/widgets/e-table/e-table-model.h
+++ b/widgets/e-table/e-table-model.h
@@ -28,8 +28,14 @@ typedef struct {
void (*set_value_at) (ETableModel *etm, int col, int row, const void *value);
gboolean (*is_cell_editable) (ETableModel *etm, int col, int row);
- void *(*duplicate_value) (ETableModel *etm, int col, const void *value);
- void (*free_value) (ETableModel *etm, int col, void *value);
+ /* Allocate a copy of the given value. */
+ void *(*duplicate_value) (ETableModel *etm, int col, const void *value);
+ /* Free an allocated value. */
+ void (*free_value) (ETableModel *etm, int col, void *value);
+ /* Return an allocated empty value. */
+ void *(*initialize_value) (ETableModel *etm, int col);
+ /* Return TRUE if value is equivalent to an empty cell. */
+ gboolean (*value_is_empty) (ETableModel *etm, int col, const void *value);
void (*thaw) (ETableModel *etm);
/*
@@ -62,6 +68,8 @@ gboolean e_table_model_is_cell_editable (ETableModel *e_table_model, int col,
void *e_table_model_duplicate_value (ETableModel *e_table_model, int col, const void *value);
void e_table_model_free_value (ETableModel *e_table_model, int col, void *value);
+void *e_table_model_initialize_value (ETableModel *e_table_model, int col);
+gboolean e_table_model_value_is_empty (ETableModel *e_table_model, int col, const void *value);
void e_table_model_freeze (ETableModel *e_table_model);
void e_table_model_thaw (ETableModel *e_table_model);