From bfccd5b470c3bcc0d23d619e9c0d93f0fdc80cce Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Fri, 14 Jun 2002 22:26:43 +0000 Subject: Don't draw or interact with the popup button if a cell isn't editable 2002-06-14 Christopher James Lahey * e-cell-popup.c (ecp_draw, ecp_event): Don't draw or interact with the popup button if a cell isn't editable (based on a patch by JPR.) * e-table-col.c, e-table-col.h: Added the compare_col field to this structure. Added a GtkArg to set it. * e-table-column-specification.c, e-table-column-specification.h: Added the compare_col field here. Made it load properly from xml. * e-table-sorting-utils.c: Sort based on the compare_col in the ETableCol instead of the col_idx. * e-table-utils.c (et_col_spec_to_col): Set the compare_col field in the ETableCol properly. * e-table.c, e-table.h: Removed the drag_get_data_row and drag_get_data_col fields since they're not used any longer. (e_table_construct): If specification loading fails, return a NULL ETable instead of just ignoring it. (e_table_drag_highlight): Only destroy table->drop_highlight if it exists. svn path=/trunk/; revision=17190 --- widgets/table/e-table-col.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'widgets/table/e-table-col.c') diff --git a/widgets/table/e-table-col.c b/widgets/table/e-table-col.c index 7d302f4d80..fa53fb0d0c 100644 --- a/widgets/table/e-table-col.c +++ b/widgets/table/e-table-col.c @@ -34,7 +34,8 @@ static GtkObjectClass *parent_class; enum { ARG_0, - ARG_SORTABLE + ARG_SORTABLE, + ARG_COMPARE_COL }; static void @@ -62,6 +63,9 @@ etc_set_arg (GtkObject *o, GtkArg *arg, guint arg_id) case ARG_SORTABLE: etc->sortable = GTK_VALUE_BOOL(*arg); break; + case ARG_COMPARE_COL: + etc->compare_col = GTK_VALUE_INT(*arg); + break; } } @@ -74,6 +78,9 @@ etc_get_arg (GtkObject *o, GtkArg *arg, guint arg_id) case ARG_SORTABLE: GTK_VALUE_BOOL(*arg) = etc->sortable; break; + case ARG_COMPARE_COL: + GTK_VALUE_INT(*arg) = etc->compare_col; + break; default: arg->type = GTK_TYPE_INVALID; break; @@ -90,6 +97,8 @@ e_table_col_class_init (GtkObjectClass *object_class) gtk_object_add_arg_type ("ETableCol::sortable", GTK_TYPE_BOOL, GTK_ARG_READWRITE, ARG_SORTABLE); + gtk_object_add_arg_type ("ETableCol::compare_col", + GTK_TYPE_INT, GTK_ARG_READWRITE, ARG_COMPARE_COL); } static void @@ -148,6 +157,7 @@ e_table_col_new (int col_idx, const char *text, double expansion, int min_width, etc->is_pixbuf = FALSE; etc->col_idx = col_idx; + etc->compare_col = col_idx; etc->text = g_strdup (text); etc->pixbuf = NULL; etc->expansion = expansion; @@ -208,6 +218,7 @@ e_table_col_new_with_pixbuf (int col_idx, const char *text, GdkPixbuf *pixbuf, d etc->is_pixbuf = TRUE; etc->col_idx = col_idx; + etc->compare_col = col_idx; etc->text = g_strdup(text); etc->pixbuf = pixbuf; etc->expansion = expansion; -- cgit v1.2.3