aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-cell-toggle.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-cell-toggle.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-cell-toggle.c')
-rw-r--r--widgets/table/e-cell-toggle.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/widgets/table/e-cell-toggle.c b/widgets/table/e-cell-toggle.c
index a42d7dbd1a..0961b077ba 100644
--- a/widgets/table/e-cell-toggle.c
+++ b/widgets/table/e-cell-toggle.c
@@ -322,6 +322,21 @@ etog_max_width (ECellView *ecell_view, int model_col, int view_col)
}
static void
+etog_style_set (ECellView *ecell_view, GtkStyle *previous_style)
+{
+ ECellToggle *toggle = E_CELL_TOGGLE (ecell_view->ecell);
+ ECellToggleView *toggle_view = (ECellToggleView *) ecell_view;
+ int i;
+
+ for (i = 0; i < toggle->n_states * CACHE_SEQ_COUNT; i++) {
+ if (toggle_view->pixmap_cache[i]) {
+ gdk_pixmap_unref (toggle_view->pixmap_cache[i]);
+ toggle_view->pixmap_cache[i] = NULL;
+ }
+ }
+}
+
+static void
etog_destroy (GtkObject *object)
{
ECellToggle *etog = E_CELL_TOGGLE (object);
@@ -353,6 +368,7 @@ e_cell_toggle_class_init (GtkObjectClass *object_class)
ecc->event = etog_event;
ecc->height = etog_height;
ecc->max_width = etog_max_width;
+ ecc->style_set = etog_style_set;
parent_class = gtk_type_class (PARENT_TYPE);
}