static void gm_cell_renderer_bitext_render (GtkCellRenderer *cell, GdkWindow *window, GtkWidget *widget, GdkRectangle *background_area, GdkRectangle *cell_area, GdkRectangle *expose_area, GtkCellRendererState flags) { GmCellRendererBitext *renderer = NULL; renderer = (GmCellRendererBitext *)cell; gm_cell_renderer_bitext_update_text (renderer, widget, (flags & GTK_CELL_RENDERER_SELECTED)); ((GtkCellRendererClass *)parent_class)->render (cell, window, widget, background_area, cell_area, expose_area, flags); }
static void gm_cell_renderer_bitext_get_size (GtkCellRenderer *cell, GtkWidget *widget, GdkRectangle *cell_area, gint *x_offset, gint *y_offset, gint *width, gint *height) { GmCellRendererBitext *renderer = NULL; renderer = (GmCellRendererBitext *)cell; gm_cell_renderer_bitext_update_text (renderer, widget, renderer->priv->is_selected); ((GtkCellRendererClass *)parent_class)->get_size (cell, widget, cell_area, x_offset, y_offset, width, height); }
static void gm_cell_renderer_bitext_set_property (GObject *obj, guint prop_id, const GValue *value, GParamSpec *spec) { GmCellRendererBitext *renderer = NULL; const gchar *str = NULL; gboolean needs_update = FALSE; renderer = (GmCellRendererBitext *)obj; switch (prop_id) { case GM_CELL_RENDERER_BITEXT_PROP_PRIMARY_TEXT: g_free (renderer->priv->primary_text); str = g_value_get_string (value); renderer->priv->primary_text = g_strdup (str ? str : ""); (void) g_strdelimit (renderer->priv->primary_text, "\n\r\t", ' '); needs_update = TRUE; break; case GM_CELL_RENDERER_BITEXT_PROP_SECONDARY_TEXT: g_free (renderer->priv->secondary_text); str = g_value_get_string (value); renderer->priv->secondary_text = g_strdup (str ? str : ""); (void) g_strdelimit (renderer->priv->secondary_text, "\n\r\t", ' '); needs_update = TRUE; break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, spec); break; } if (needs_update) gm_cell_renderer_bitext_update_text (renderer); }