aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-item.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2002-03-16 07:16:01 +0800
committerChris Lahey <clahey@src.gnome.org>2002-03-16 07:16:01 +0800
commit88a322f15d8ce9c152cce75630b302b8b3ca1c08 (patch)
tree6aaa3c7ba15024c4f3e1fe1d47aea1c3f6746484 /widgets/table/e-table-item.c
parentf8f95421a6e00884da54c9da66d6c0b0edc00e29 (diff)
downloadgsoc2013-evolution-88a322f15d8ce9c152cce75630b302b8b3ca1c08.tar.gz
gsoc2013-evolution-88a322f15d8ce9c152cce75630b302b8b3ca1c08.tar.zst
gsoc2013-evolution-88a322f15d8ce9c152cce75630b302b8b3ca1c08.zip
Check for a style_set signal on all the contained GnomeCanvasItems.
2002-03-15 Christopher James Lahey <clahey@ximian.com> * gal/widgets/e-canvas.c (e_canvas_style_set): Check for a style_set signal on all the contained GnomeCanvasItems. From gal/e-table/ChangeLog: 2002-03-15 Christopher James Lahey <clahey@ximian.com> * e-cell-toggle.c: Clear the pixmap cache in e_cell_style_set. * e-cell.c, e-cell.h (e_cell_style_set): Added this virtual method. * e-table-item.c, e-table-item.h: Call e_cell_style_set in out style_set signal. svn path=/trunk/; revision=16180
Diffstat (limited to 'widgets/table/e-table-item.c')
-rw-r--r--widgets/table/e-table-item.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/widgets/table/e-table-item.c b/widgets/table/e-table-item.c
index 3ecc547a04..754234868e 100644
--- a/widgets/table/e-table-item.c
+++ b/widgets/table/e-table-item.c
@@ -69,6 +69,7 @@ enum {
CLICK,
KEY_PRESS,
START_DRAG,
+ STYLE_SET,
LAST_SIGNAL
};
@@ -2756,6 +2757,19 @@ eti_event (GnomeCanvasItem *item, GdkEvent *e)
}
static void
+eti_style_set (ETableItem *eti, GtkStyle *previous_style)
+{
+ if (eti->cell_views_realized) {
+ int i;
+ int n_cells = eti->n_cells;
+
+ for (i = 0; i < n_cells; i++) {
+ e_cell_style_set (eti->cell_views[i], previous_style);
+ }
+ }
+}
+
+static void
eti_class_init (GtkObjectClass *object_class)
{
GnomeCanvasItemClass *item_class = (GnomeCanvasItemClass *) object_class;
@@ -2781,6 +2795,7 @@ eti_class_init (GtkObjectClass *object_class)
eti_class->click = NULL;
eti_class->key_press = NULL;
eti_class->start_drag = NULL;
+ eti_class->style_set = eti_style_set;
gtk_object_add_arg_type ("ETableItem::ETableHeader", E_TABLE_HEADER_TYPE,
GTK_ARG_WRITABLE, ARG_TABLE_HEADER);
@@ -2868,6 +2883,14 @@ eti_class_init (GtkObjectClass *object_class)
e_marshal_INT__INT_INT_POINTER,
GTK_TYPE_INT, 3, GTK_TYPE_INT, GTK_TYPE_INT, GTK_TYPE_GDK_EVENT);
+ eti_signals [STYLE_SET] =
+ gtk_signal_new ("style_set",
+ GTK_RUN_LAST,
+ E_OBJECT_CLASS_TYPE (object_class),
+ GTK_SIGNAL_OFFSET (ETableItemClass, style_set),
+ gtk_marshal_NONE__POINTER,
+ GTK_TYPE_NONE, 1, GTK_TYPE_STYLE);
+
E_OBJECT_CLASS_ADD_SIGNALS (object_class, eti_signals, LAST_SIGNAL);
}