diff options
author | Kristian Rietveld <kris@gtk.org> | 2003-12-18 00:06:43 +0000 |
---|---|---|
committer | Kristian Rietveld <kristian@src.gnome.org> | 2003-12-18 00:06:43 +0000 |
commit | c43efa516fb4dfbed2fe210959d930523965a26a (patch) | |
tree | b4d3743ba8c0954f26fb3f6daeac384ce29ad396 /gtk/gtkcellrenderertoggle.c | |
parent | 62a15f2ae1dd4cec4511775429cd97c99ead303b (diff) | |
download | gtk+-c43efa516fb4dfbed2fe210959d930523965a26a.tar.gz |
Migrating all cell renderers to use the new instance private data
Thu Dec 18 00:57:18 2003 Kristian Rietveld <kris@gtk.org>
Migrating all cell renderers to use the new instance private data
construction.
* gtk/gtktreeprivate.h: remove GtkCellRendererInfo, as it is no
longer being used.
* gtk/gtkcellrenderer.c (gtk_cell_renderer_init),
(gtk_cell_renderer_class_init), (gtk_cell_renderer_get_property),
(set_cell_bg_color), (gtk_cell_renderer_render): remove old
GtkCellRendererInfo handling, migrate to instance private data.
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done),
(gtk_cell_renderer_text_start_editing): moved focus_out_id
from GtkCellRendererInfo to text renderer private data.
* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_init),
(gtk_cell_renderer_pixbuf_class_init),
(gtk_cell_renderer_pixbuf_finalize),
(gtk_cell_renderer_pixbuf_get_property),
(gtk_cell_renderer_pixbuf_set_property),
(gtk_cell_renderer_pixbuf_create_stock_pixbuf),
(gtk_cell_renderer_pixbuf_get_size), (gtk_cell_renderer_pixbuf_render):
migrate to instance private data.
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init),
(gtk_cell_renderer_toggle_get_property),
(gtk_cell_renderer_toggle_set_property),
(gtk_cell_renderer_toggle_render): migrate to instance private data.
Diffstat (limited to 'gtk/gtkcellrenderertoggle.c')
-rw-r--r-- | gtk/gtkcellrenderertoggle.c | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/gtk/gtkcellrenderertoggle.c b/gtk/gtkcellrenderertoggle.c index f05c69e62a..8353486843 100644 --- a/gtk/gtkcellrenderertoggle.c +++ b/gtk/gtkcellrenderertoggle.c @@ -73,6 +73,14 @@ enum { static guint toggle_cell_signals[LAST_SIGNAL] = { 0 }; +#define GTK_CELL_RENDERER_TOGGLE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_CELL_RENDERER_TOGGLE, GtkCellRendererTogglePrivate)) + +typedef struct _GtkCellRendererTogglePrivate GtkCellRendererTogglePrivate; +struct _GtkCellRendererTogglePrivate +{ + guint inconsistent : 1; +}; + GType gtk_cell_renderer_toggle_get_type (void) @@ -172,6 +180,8 @@ gtk_cell_renderer_toggle_class_init (GtkCellRendererToggleClass *class) _gtk_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); + + g_type_class_add_private (object_class, sizeof (GtkCellRendererTogglePrivate)); } static void @@ -181,6 +191,9 @@ gtk_cell_renderer_toggle_get_property (GObject *object, GParamSpec *pspec) { GtkCellRendererToggle *celltoggle = GTK_CELL_RENDERER_TOGGLE (object); + GtkCellRendererTogglePrivate *priv; + + priv = GTK_CELL_RENDERER_TOGGLE_GET_PRIVATE (object); switch (param_id) { @@ -188,16 +201,7 @@ gtk_cell_renderer_toggle_get_property (GObject *object, g_value_set_boolean (value, celltoggle->active); break; case PROP_INCONSISTENT: - { - /* Move out of here when more properties start to use the info - * thing. I put it here to not affect performance, this property - * is not going to be used much. - */ - GtkCellRendererInfo *cellinfo; - cellinfo = g_object_get_data (object, GTK_CELL_RENDERER_INFO_KEY); - - g_value_set_boolean (value, cellinfo->inconsistent); - } + g_value_set_boolean (value, priv->inconsistent); break; case PROP_ACTIVATABLE: g_value_set_boolean (value, celltoggle->activatable); @@ -219,6 +223,9 @@ gtk_cell_renderer_toggle_set_property (GObject *object, GParamSpec *pspec) { GtkCellRendererToggle *celltoggle = GTK_CELL_RENDERER_TOGGLE (object); + GtkCellRendererTogglePrivate *priv; + + priv = GTK_CELL_RENDERER_TOGGLE_GET_PRIVATE (object); switch (param_id) { @@ -227,14 +234,8 @@ gtk_cell_renderer_toggle_set_property (GObject *object, g_object_notify (G_OBJECT(object), "active"); break; case PROP_INCONSISTENT: - { - /* read comment in _get_property */ - GtkCellRendererInfo *cellinfo; - cellinfo = g_object_get_data (object, GTK_CELL_RENDERER_INFO_KEY); - - cellinfo->inconsistent = g_value_get_boolean (value); - g_object_notify (G_OBJECT (object), "inconsistent"); - } + priv->inconsistent = g_value_get_boolean (value); + g_object_notify (G_OBJECT (object), "inconsistent"); break; case PROP_ACTIVATABLE: celltoggle->activatable = g_value_get_boolean (value); @@ -316,12 +317,14 @@ gtk_cell_renderer_toggle_render (GtkCellRenderer *cell, GtkCellRendererState flags) { GtkCellRendererToggle *celltoggle = (GtkCellRendererToggle *) cell; - GtkCellRendererInfo *cellinfo; + GtkCellRendererTogglePrivate *priv; gint width, height; gint x_offset, y_offset; GtkShadowType shadow; GtkStateType state = 0; + priv = GTK_CELL_RENDERER_TOGGLE_GET_PRIVATE (cell); + gtk_cell_renderer_toggle_get_size (cell, widget, cell_area, &x_offset, &y_offset, &width, &height); @@ -331,9 +334,7 @@ gtk_cell_renderer_toggle_render (GtkCellRenderer *cell, if (width <= 0 || height <= 0) return; - cellinfo = g_object_get_data (G_OBJECT (cell), GTK_CELL_RENDERER_INFO_KEY); - - if (cellinfo->inconsistent) + if (priv->inconsistent) shadow = GTK_SHADOW_ETCHED_IN; else shadow = celltoggle->active ? GTK_SHADOW_IN : GTK_SHADOW_OUT; |