From 5fbcc4828efb084344e9c5fd42ebccb288ee492f Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Wed, 2 Aug 2000 16:56:26 +0000 Subject: Add a handler for "model_pre_change" and properly stop editing. 2000-08-02 Christopher James Lahey * e-table-item.c, e-table-item.h: Add a handler for "model_pre_change" and properly stop editing. * e-table-model.c, e-table-model.h: Added a "model_pre_change" signal that gets sent before any row numbers are changed. * e-table-sorted-variable.c, e-table-subset-variable.c: Emit "model_pre_change" signals as appropriate. * e-table-subset.c, e-table-subset.h: Proxy "model_pre_changed" signals. svn path=/trunk/; revision=4472 --- widgets/table/e-table-model.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'widgets/table/e-table-model.c') diff --git a/widgets/table/e-table-model.c b/widgets/table/e-table-model.c index 7f07bd9787..f47fb7afb2 100644 --- a/widgets/table/e-table-model.c +++ b/widgets/table/e-table-model.c @@ -20,6 +20,7 @@ static GtkObjectClass *e_table_model_parent_class; enum { MODEL_CHANGED, + MODEL_PRE_CHANGE, MODEL_ROW_CHANGED, MODEL_CELL_CHANGED, MODEL_ROW_INSERTED, @@ -176,6 +177,14 @@ e_table_model_class_init (GtkObjectClass *object_class) gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0); + e_table_model_signals [MODEL_PRE_CHANGE] = + gtk_signal_new ("model_pre_change", + GTK_RUN_LAST, + object_class->type, + GTK_SIGNAL_OFFSET (ETableModelClass, model_pre_change), + gtk_marshal_NONE__NONE, + GTK_TYPE_NONE, 0); + e_table_model_signals [MODEL_ROW_CHANGED] = gtk_signal_new ("model_row_changed", GTK_RUN_LAST, @@ -255,6 +264,16 @@ e_table_model_get_type (void) return type; } +void +e_table_model_pre_change (ETableModel *e_table_model) +{ + g_return_if_fail (e_table_model != NULL); + g_return_if_fail (E_IS_TABLE_MODEL (e_table_model)); + + gtk_signal_emit (GTK_OBJECT (e_table_model), + e_table_model_signals [MODEL_PRE_CHANGE]); +} + void e_table_model_changed (ETableModel *e_table_model) { -- cgit v1.2.3