aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-col.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2002-06-15 06:26:43 +0800
committerChris Lahey <clahey@src.gnome.org>2002-06-15 06:26:43 +0800
commitbfccd5b470c3bcc0d23d619e9c0d93f0fdc80cce (patch)
treef420e29e4a0140d0728511a2979c927978d2e0e7 /widgets/table/e-table-col.c
parentc397a95d08f8c2b9ce1dd2830324e3cc14a13926 (diff)
downloadgsoc2013-evolution-bfccd5b470c3bcc0d23d619e9c0d93f0fdc80cce.tar.gz
gsoc2013-evolution-bfccd5b470c3bcc0d23d619e9c0d93f0fdc80cce.tar.zst
gsoc2013-evolution-bfccd5b470c3bcc0d23d619e9c0d93f0fdc80cce.zip
Don't draw or interact with the popup button if a cell isn't editable
2002-06-14 Christopher James Lahey <clahey@ximian.com> * 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
Diffstat (limited to 'widgets/table/e-table-col.c')
-rw-r--r--widgets/table/e-table-col.c13
1 files changed, 12 insertions, 1 deletions
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;