From 385ccbd512c4c43305dee900f86d0f51f94b1200 Mon Sep 17 00:00:00 2001 From: Miguel de Icaza Date: Thu, 25 Nov 1999 08:02:13 +0000 Subject: Realize cells. 1999-11-25 Miguel de Icaza * e-table-header-item.c (ethi_realize): Realize cells. * e-table-item.c (eti_header_dim_changed): redraw before and after. * e-table-header-item.c (ethi_event): Add continuous resizing. 1999-11-24 Miguel de Icaza * e-table-subset.h, e-table-subset.c: New files, used to implement subset tables. * e-table-sorted.h, e-table-sorted.c: Now they derive from e-table-subset. * e-cell.c, e-cell.h: realize method now return per view instance data. svn path=/trunk/; revision=1434 --- widgets/table/e-table-model.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 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 de7bc67c51..1176b33ec7 100644 --- a/widgets/table/e-table-model.c +++ b/widgets/table/e-table-model.c @@ -16,6 +16,7 @@ static GtkObjectClass *e_table_model_parent_class; enum { MODEL_CHANGED, + ROW_SELECTION, LAST_SIGNAL }; @@ -88,6 +89,14 @@ e_table_model_class_init (GtkObjectClass *object_class) GTK_SIGNAL_OFFSET (ETableModelClass, model_changed), gtk_marshal_NONE__NONE, GTK_TYPE_NONE, 0); + + etm_signals [ROW_SELECTION] = + gtk_signal_new ("row_selection", + GTK_RUN_LAST, + object_class->type, + GTK_SIGNAL_OFFSET (ETableModelClass, row_selection), + gtk_marshal_NONE__INT_INT, + GTK_TYPE_NONE, 2, GTK_TYPE_INT, GTK_TYPE_INT); gtk_object_class_add_signals (object_class, etm_signals, LAST_SIGNAL); } @@ -158,3 +167,29 @@ e_table_model_max_col_width (ETableModel *etm, int col) return max; } #endif + +void +e_table_model_select_row (ETableModel *etm, int row) +{ + gtk_signal_emit (GTK_OBJECT (etm), etm_signals [ROW_SELECTION], row, 1); + etm->row_selected = row; +} + +void +e_table_model_unselect_row (ETableModel *etm, int row) +{ + if (etm->row_selected != -1){ + gtk_signal_emit ( + GTK_OBJECT (etm), etm_signals [ROW_SELECTION], + etm->row_selected, 0); + } + + etm->row_selected = -1; +} + +gint +e_table_model_get_selected_row (ETableModel *etm) +{ + return etm->row_selected; +} + -- cgit