From 88a322f15d8ce9c152cce75630b302b8b3ca1c08 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Fri, 15 Mar 2002 23:16:01 +0000 Subject: Check for a style_set signal on all the contained GnomeCanvasItems. 2002-03-15 Christopher James Lahey * 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 * 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 --- widgets/table/e-table-item.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'widgets/table/e-table-item.c') 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 }; @@ -2755,6 +2756,19 @@ eti_event (GnomeCanvasItem *item, GdkEvent *e) return return_val; } +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) { @@ -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); } -- cgit v1.2.3