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);
}
Beispiel #3
0
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);
}