[gtk+/refactor: 20/106] gtkcellrenderertext: Move public members to private structure
- From: Javier Jardón <jjardon src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/refactor: 20/106] gtkcellrenderertext: Move public members to private structure
- Date: Tue, 13 Jul 2010 17:31:41 +0000 (UTC)
commit 06c12b8ce6acbd7225137e861d6b283f8d523940
Author: Javier Jardón <jjardon gnome org>
Date: Tue Jun 1 20:45:11 2010 +0200
gtkcellrenderertext: Move public members to private structure
gtk/gtkcellrenderertext.c | 407 +++++++++++++++++++++++----------------------
gtk/gtkcellrenderertext.h | 32 +----
2 files changed, 214 insertions(+), 225 deletions(-)
---
diff --git a/gtk/gtkcellrenderertext.c b/gtk/gtkcellrenderertext.c
index 1bca84c..46c5211 100644
--- a/gtk/gtkcellrenderertext.c
+++ b/gtk/gtkcellrenderertext.c
@@ -123,31 +123,50 @@ static guint text_cell_renderer_signals [LAST_SIGNAL];
#define GTK_CELL_RENDERER_TEXT_PATH "gtk-cell-renderer-text-path"
-#define GTK_CELL_RENDERER_TEXT_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_CELL_RENDERER_TEXT, GtkCellRendererTextPrivate))
-
-typedef struct _GtkCellRendererTextPrivate GtkCellRendererTextPrivate;
-struct _GtkCellRendererTextPrivate
+struct _GtkCellRendererTextPriv
{
- guint single_paragraph : 1;
- guint language_set : 1;
- guint markup_set : 1;
- guint ellipsize_set : 1;
- guint align_set : 1;
-
- gulong focus_out_id;
- PangoLanguage *language;
- PangoEllipsizeMode ellipsize;
- PangoWrapMode wrap_mode;
- PangoAlignment align;
-
- gulong populate_popup_id;
- gulong entry_menu_popdown_timeout;
+ GtkWidget *entry;
+
+ PangoAlignment align;
+ PangoAttrList *extra_attrs;
+ PangoColor foreground;
+ PangoColor background;
+ PangoEllipsizeMode ellipsize;
+ PangoFontDescription *font;
+ PangoLanguage *language;
+ PangoUnderline underline_style;
+ PangoWrapMode wrap_mode;
+
gboolean in_entry_menu;
-
+
+ gchar *text;
+
+ gdouble font_scale;
+
+ gint rise;
+ gint fixed_height_rows;
gint width_chars;
gint wrap_width;
-
- GtkWidget *entry;
+
+ guint strikethrough : 1;
+ guint editable : 1;
+ guint scale_set : 1;
+ guint foreground_set : 1;
+ guint background_set : 1;
+ guint underline_set : 1;
+ guint rise_set : 1;
+ guint strikethrough_set : 1;
+ guint editable_set : 1;
+ guint calc_fixed_height : 1;
+ guint single_paragraph : 1;
+ guint language_set : 1;
+ guint markup_set : 1;
+ guint ellipsize_set : 1;
+ guint align_set : 1;
+
+ gulong focus_out_id;
+ gulong populate_popup_id;
+ gulong entry_menu_popdown_timeout;
};
G_DEFINE_TYPE (GtkCellRendererText, gtk_cell_renderer_text, GTK_TYPE_CELL_RENDERER)
@@ -155,16 +174,19 @@ G_DEFINE_TYPE (GtkCellRendererText, gtk_cell_renderer_text, GTK_TYPE_CELL_RENDER
static void
gtk_cell_renderer_text_init (GtkCellRendererText *celltext)
{
- GtkCellRendererTextPrivate *priv;
+ GtkCellRendererTextPriv *priv;
GtkCellRenderer *cell = GTK_CELL_RENDERER (celltext);
- priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (celltext);
+ celltext->priv = G_TYPE_INSTANCE_GET_PRIVATE (celltext,
+ GTK_TYPE_CELL_RENDERER_TEXT,
+ GtkCellRendererTextPriv);
+ priv = celltext->priv;
gtk_cell_renderer_set_alignment (cell, 0.0, 0.5);
gtk_cell_renderer_set_padding (cell, 2, 2);
- celltext->font_scale = 1.0;
- celltext->fixed_height_rows = -1;
- celltext->font = pango_font_description_new ();
+ priv->font_scale = 1.0;
+ priv->fixed_height_rows = -1;
+ priv->font = pango_font_description_new ();
priv->width_chars = -1;
priv->wrap_width = -1;
@@ -583,23 +605,21 @@ gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class)
G_TYPE_STRING,
G_TYPE_STRING);
- g_type_class_add_private (object_class, sizeof (GtkCellRendererTextPrivate));
+ g_type_class_add_private (object_class, sizeof (GtkCellRendererTextPriv));
}
static void
gtk_cell_renderer_text_finalize (GObject *object)
{
GtkCellRendererText *celltext = GTK_CELL_RENDERER_TEXT (object);
- GtkCellRendererTextPrivate *priv;
-
- priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (object);
+ GtkCellRendererTextPriv *priv = celltext->priv;
- pango_font_description_free (celltext->font);
+ pango_font_description_free (priv->font);
- g_free (celltext->text);
+ g_free (priv->text);
- if (celltext->extra_attrs)
- pango_attr_list_unref (celltext->extra_attrs);
+ if (priv->extra_attrs)
+ pango_attr_list_unref (priv->extra_attrs);
if (priv->language)
g_object_unref (priv->language);
@@ -636,18 +656,16 @@ gtk_cell_renderer_text_get_property (GObject *object,
GParamSpec *pspec)
{
GtkCellRendererText *celltext = GTK_CELL_RENDERER_TEXT (object);
- GtkCellRendererTextPrivate *priv;
-
- priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (object);
+ GtkCellRendererTextPriv *priv = celltext->priv;
switch (param_id)
{
case PROP_TEXT:
- g_value_set_string (value, celltext->text);
+ g_value_set_string (value, priv->text);
break;
case PROP_ATTRIBUTES:
- g_value_set_boxed (value, celltext->extra_attrs);
+ g_value_set_boxed (value, priv->extra_attrs);
break;
case PROP_SINGLE_PARAGRAPH_MODE:
@@ -658,9 +676,9 @@ gtk_cell_renderer_text_get_property (GObject *object,
{
GdkColor color;
- color.red = celltext->background.red;
- color.green = celltext->background.green;
- color.blue = celltext->background.blue;
+ color.red = priv->background.red;
+ color.green = priv->background.green;
+ color.blue = priv->background.blue;
g_value_set_boxed (value, &color);
}
@@ -670,68 +688,68 @@ gtk_cell_renderer_text_get_property (GObject *object,
{
GdkColor color;
- color.red = celltext->foreground.red;
- color.green = celltext->foreground.green;
- color.blue = celltext->foreground.blue;
+ color.red = priv->foreground.red;
+ color.green = priv->foreground.green;
+ color.blue = priv->foreground.blue;
g_value_set_boxed (value, &color);
}
break;
case PROP_FONT:
- g_value_take_string (value, pango_font_description_to_string (celltext->font));
+ g_value_take_string (value, pango_font_description_to_string (priv->font));
break;
case PROP_FONT_DESC:
- g_value_set_boxed (value, celltext->font);
+ g_value_set_boxed (value, priv->font);
break;
case PROP_FAMILY:
- g_value_set_string (value, pango_font_description_get_family (celltext->font));
+ g_value_set_string (value, pango_font_description_get_family (priv->font));
break;
case PROP_STYLE:
- g_value_set_enum (value, pango_font_description_get_style (celltext->font));
+ g_value_set_enum (value, pango_font_description_get_style (priv->font));
break;
case PROP_VARIANT:
- g_value_set_enum (value, pango_font_description_get_variant (celltext->font));
+ g_value_set_enum (value, pango_font_description_get_variant (priv->font));
break;
case PROP_WEIGHT:
- g_value_set_int (value, pango_font_description_get_weight (celltext->font));
+ g_value_set_int (value, pango_font_description_get_weight (priv->font));
break;
case PROP_STRETCH:
- g_value_set_enum (value, pango_font_description_get_stretch (celltext->font));
+ g_value_set_enum (value, pango_font_description_get_stretch (priv->font));
break;
case PROP_SIZE:
- g_value_set_int (value, pango_font_description_get_size (celltext->font));
+ g_value_set_int (value, pango_font_description_get_size (priv->font));
break;
case PROP_SIZE_POINTS:
- g_value_set_double (value, ((double)pango_font_description_get_size (celltext->font)) / (double)PANGO_SCALE);
+ g_value_set_double (value, ((double)pango_font_description_get_size (priv->font)) / (double)PANGO_SCALE);
break;
case PROP_SCALE:
- g_value_set_double (value, celltext->font_scale);
+ g_value_set_double (value, priv->font_scale);
break;
case PROP_EDITABLE:
- g_value_set_boolean (value, celltext->editable);
+ g_value_set_boolean (value, priv->editable);
break;
case PROP_STRIKETHROUGH:
- g_value_set_boolean (value, celltext->strikethrough);
+ g_value_set_boolean (value, priv->strikethrough);
break;
case PROP_UNDERLINE:
- g_value_set_enum (value, celltext->underline_style);
+ g_value_set_enum (value, priv->underline_style);
break;
case PROP_RISE:
- g_value_set_int (value, celltext->rise);
+ g_value_set_int (value, priv->rise);
break;
case PROP_LANGUAGE:
@@ -755,11 +773,11 @@ gtk_cell_renderer_text_get_property (GObject *object,
break;
case PROP_BACKGROUND_SET:
- g_value_set_boolean (value, celltext->background_set);
+ g_value_set_boolean (value, priv->background_set);
break;
case PROP_FOREGROUND_SET:
- g_value_set_boolean (value, celltext->foreground_set);
+ g_value_set_boolean (value, priv->foreground_set);
break;
case PROP_FAMILY_SET:
@@ -770,29 +788,29 @@ gtk_cell_renderer_text_get_property (GObject *object,
case PROP_SIZE_SET:
{
PangoFontMask mask = get_property_font_set_mask (param_id);
- g_value_set_boolean (value, (pango_font_description_get_set_fields (celltext->font) & mask) != 0);
+ g_value_set_boolean (value, (pango_font_description_get_set_fields (priv->font) & mask) != 0);
break;
}
case PROP_SCALE_SET:
- g_value_set_boolean (value, celltext->scale_set);
+ g_value_set_boolean (value, priv->scale_set);
break;
case PROP_EDITABLE_SET:
- g_value_set_boolean (value, celltext->editable_set);
+ g_value_set_boolean (value, priv->editable_set);
break;
case PROP_STRIKETHROUGH_SET:
- g_value_set_boolean (value, celltext->strikethrough_set);
+ g_value_set_boolean (value, priv->strikethrough_set);
break;
case PROP_UNDERLINE_SET:
- g_value_set_boolean (value, celltext->underline_set);
+ g_value_set_boolean (value, priv->underline_set);
break;
case PROP_RISE_SET:
- g_value_set_boolean (value, celltext->rise_set);
+ g_value_set_boolean (value, priv->rise_set);
break;
case PROP_LANGUAGE_SET:
@@ -825,23 +843,25 @@ static void
set_bg_color (GtkCellRendererText *celltext,
GdkColor *color)
{
+ GtkCellRendererTextPriv *priv = celltext->priv;
+
if (color)
{
- if (!celltext->background_set)
+ if (!priv->background_set)
{
- celltext->background_set = TRUE;
+ priv->background_set = TRUE;
g_object_notify (G_OBJECT (celltext), "background-set");
}
- celltext->background.red = color->red;
- celltext->background.green = color->green;
- celltext->background.blue = color->blue;
+ priv->background.red = color->red;
+ priv->background.green = color->green;
+ priv->background.blue = color->blue;
}
else
{
- if (celltext->background_set)
+ if (priv->background_set)
{
- celltext->background_set = FALSE;
+ priv->background_set = FALSE;
g_object_notify (G_OBJECT (celltext), "background-set");
}
}
@@ -852,23 +872,25 @@ static void
set_fg_color (GtkCellRendererText *celltext,
GdkColor *color)
{
+ GtkCellRendererTextPriv *priv = celltext->priv;
+
if (color)
{
- if (!celltext->foreground_set)
+ if (!priv->foreground_set)
{
- celltext->foreground_set = TRUE;
+ priv->foreground_set = TRUE;
g_object_notify (G_OBJECT (celltext), "foreground-set");
}
- celltext->foreground.red = color->red;
- celltext->foreground.green = color->green;
- celltext->foreground.blue = color->blue;
+ priv->foreground.red = color->red;
+ priv->foreground.green = color->green;
+ priv->foreground.blue = color->blue;
}
else
{
- if (celltext->foreground_set)
+ if (priv->foreground_set)
{
- celltext->foreground_set = FALSE;
+ priv->foreground_set = FALSE;
g_object_notify (G_OBJECT (celltext), "foreground-set");
}
}
@@ -954,6 +976,7 @@ static void
set_font_description (GtkCellRendererText *celltext,
PangoFontDescription *font_desc)
{
+ GtkCellRendererTextPriv *priv = celltext->priv;
GObject *object = G_OBJECT (celltext);
PangoFontDescription *new_font_desc;
PangoFontMask old_mask, new_mask, changed_mask, set_changed_mask;
@@ -963,14 +986,14 @@ set_font_description (GtkCellRendererText *celltext,
else
new_font_desc = pango_font_description_new ();
- old_mask = pango_font_description_get_set_fields (celltext->font);
+ old_mask = pango_font_description_get_set_fields (priv->font);
new_mask = pango_font_description_get_set_fields (new_font_desc);
changed_mask = old_mask | new_mask;
set_changed_mask = old_mask ^ new_mask;
- pango_font_description_free (celltext->font);
- celltext->font = new_font_desc;
+ pango_font_description_free (priv->font);
+ priv->font = new_font_desc;
g_object_freeze_notify (object);
@@ -1005,34 +1028,32 @@ gtk_cell_renderer_text_set_property (GObject *object,
GParamSpec *pspec)
{
GtkCellRendererText *celltext = GTK_CELL_RENDERER_TEXT (object);
- GtkCellRendererTextPrivate *priv;
-
- priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (object);
+ GtkCellRendererTextPriv *priv = celltext->priv;
switch (param_id)
{
case PROP_TEXT:
- g_free (celltext->text);
+ g_free (priv->text);
if (priv->markup_set)
{
- if (celltext->extra_attrs)
- pango_attr_list_unref (celltext->extra_attrs);
- celltext->extra_attrs = NULL;
+ if (priv->extra_attrs)
+ pango_attr_list_unref (priv->extra_attrs);
+ priv->extra_attrs = NULL;
priv->markup_set = FALSE;
}
- celltext->text = g_value_dup_string (value);
+ priv->text = g_value_dup_string (value);
g_object_notify (object, "text");
break;
case PROP_ATTRIBUTES:
- if (celltext->extra_attrs)
- pango_attr_list_unref (celltext->extra_attrs);
+ if (priv->extra_attrs)
+ pango_attr_list_unref (priv->extra_attrs);
- celltext->extra_attrs = g_value_get_boxed (value);
- if (celltext->extra_attrs)
- pango_attr_list_ref (celltext->extra_attrs);
+ priv->extra_attrs = g_value_get_boxed (value);
+ if (priv->extra_attrs)
+ pango_attr_list_ref (priv->extra_attrs);
break;
case PROP_MARKUP:
{
@@ -1056,13 +1077,13 @@ gtk_cell_renderer_text_set_property (GObject *object,
return;
}
- g_free (celltext->text);
+ g_free (priv->text);
- if (celltext->extra_attrs)
- pango_attr_list_unref (celltext->extra_attrs);
+ if (priv->extra_attrs)
+ pango_attr_list_unref (priv->extra_attrs);
- celltext->text = text;
- celltext->extra_attrs = attrs;
+ priv->text = text;
+ priv->extra_attrs = attrs;
priv->markup_set = TRUE;
}
break;
@@ -1125,16 +1146,16 @@ gtk_cell_renderer_text_set_property (GObject *object,
pango_font_description_free (font_desc);
- if (celltext->fixed_height_rows != -1)
- celltext->calc_fixed_height = TRUE;
+ if (priv->fixed_height_rows != -1)
+ priv->calc_fixed_height = TRUE;
}
break;
case PROP_FONT_DESC:
set_font_description (celltext, g_value_get_boxed (value));
- if (celltext->fixed_height_rows != -1)
- celltext->calc_fixed_height = TRUE;
+ if (priv->fixed_height_rows != -1)
+ priv->calc_fixed_height = TRUE;
break;
case PROP_FAMILY:
@@ -1145,46 +1166,46 @@ gtk_cell_renderer_text_set_property (GObject *object,
case PROP_SIZE:
case PROP_SIZE_POINTS:
{
- PangoFontMask old_set_mask = pango_font_description_get_set_fields (celltext->font);
+ PangoFontMask old_set_mask = pango_font_description_get_set_fields (priv->font);
switch (param_id)
{
case PROP_FAMILY:
- pango_font_description_set_family (celltext->font,
+ pango_font_description_set_family (priv->font,
g_value_get_string (value));
break;
case PROP_STYLE:
- pango_font_description_set_style (celltext->font,
+ pango_font_description_set_style (priv->font,
g_value_get_enum (value));
break;
case PROP_VARIANT:
- pango_font_description_set_variant (celltext->font,
+ pango_font_description_set_variant (priv->font,
g_value_get_enum (value));
break;
case PROP_WEIGHT:
- pango_font_description_set_weight (celltext->font,
+ pango_font_description_set_weight (priv->font,
g_value_get_int (value));
break;
case PROP_STRETCH:
- pango_font_description_set_stretch (celltext->font,
+ pango_font_description_set_stretch (priv->font,
g_value_get_enum (value));
break;
case PROP_SIZE:
- pango_font_description_set_size (celltext->font,
+ pango_font_description_set_size (priv->font,
g_value_get_int (value));
g_object_notify (object, "size-points");
break;
case PROP_SIZE_POINTS:
- pango_font_description_set_size (celltext->font,
+ pango_font_description_set_size (priv->font,
g_value_get_double (value) * PANGO_SCALE);
g_object_notify (object, "size");
break;
}
- if (celltext->fixed_height_rows != -1)
- celltext->calc_fixed_height = TRUE;
+ if (priv->fixed_height_rows != -1)
+ priv->calc_fixed_height = TRUE;
- notify_set_changed (object, old_set_mask & pango_font_description_get_set_fields (celltext->font));
+ notify_set_changed (object, old_set_mask & pango_font_description_get_set_fields (priv->font));
g_object_notify (object, "font-desc");
g_object_notify (object, "font");
@@ -1192,17 +1213,17 @@ gtk_cell_renderer_text_set_property (GObject *object,
}
case PROP_SCALE:
- celltext->font_scale = g_value_get_double (value);
- celltext->scale_set = TRUE;
- if (celltext->fixed_height_rows != -1)
- celltext->calc_fixed_height = TRUE;
+ priv->font_scale = g_value_get_double (value);
+ priv->scale_set = TRUE;
+ if (priv->fixed_height_rows != -1)
+ priv->calc_fixed_height = TRUE;
g_object_notify (object, "scale-set");
break;
case PROP_EDITABLE:
- celltext->editable = g_value_get_boolean (value);
- celltext->editable_set = TRUE;
- if (celltext->editable)
+ priv->editable = g_value_get_boolean (value);
+ priv->editable_set = TRUE;
+ if (priv->editable)
g_object_set (celltext, "mode", GTK_CELL_RENDERER_MODE_EDITABLE, NULL);
else
g_object_set (celltext, "mode", GTK_CELL_RENDERER_MODE_INERT, NULL);
@@ -1210,24 +1231,24 @@ gtk_cell_renderer_text_set_property (GObject *object,
break;
case PROP_STRIKETHROUGH:
- celltext->strikethrough = g_value_get_boolean (value);
- celltext->strikethrough_set = TRUE;
+ priv->strikethrough = g_value_get_boolean (value);
+ priv->strikethrough_set = TRUE;
g_object_notify (object, "strikethrough-set");
break;
case PROP_UNDERLINE:
- celltext->underline_style = g_value_get_enum (value);
- celltext->underline_set = TRUE;
+ priv->underline_style = g_value_get_enum (value);
+ priv->underline_set = TRUE;
g_object_notify (object, "underline-set");
break;
case PROP_RISE:
- celltext->rise = g_value_get_int (value);
- celltext->rise_set = TRUE;
+ priv->rise = g_value_get_int (value);
+ priv->rise_set = TRUE;
g_object_notify (object, "rise-set");
- if (celltext->fixed_height_rows != -1)
- celltext->calc_fixed_height = TRUE;
+ if (priv->fixed_height_rows != -1)
+ priv->calc_fixed_height = TRUE;
break;
case PROP_LANGUAGE:
@@ -1263,11 +1284,11 @@ gtk_cell_renderer_text_set_property (GObject *object,
break;
case PROP_BACKGROUND_SET:
- celltext->background_set = g_value_get_boolean (value);
+ priv->background_set = g_value_get_boolean (value);
break;
case PROP_FOREGROUND_SET:
- celltext->foreground_set = g_value_get_boolean (value);
+ priv->foreground_set = g_value_get_boolean (value);
break;
case PROP_FAMILY_SET:
@@ -1278,37 +1299,37 @@ gtk_cell_renderer_text_set_property (GObject *object,
case PROP_SIZE_SET:
if (!g_value_get_boolean (value))
{
- pango_font_description_unset_fields (celltext->font,
+ pango_font_description_unset_fields (priv->font,
get_property_font_set_mask (param_id));
}
else
{
PangoFontMask changed_mask;
- changed_mask = set_font_desc_fields (celltext->font,
+ changed_mask = set_font_desc_fields (priv->font,
get_property_font_set_mask (param_id));
notify_fields_changed (G_OBJECT (celltext), changed_mask);
}
break;
case PROP_SCALE_SET:
- celltext->scale_set = g_value_get_boolean (value);
+ priv->scale_set = g_value_get_boolean (value);
break;
case PROP_EDITABLE_SET:
- celltext->editable_set = g_value_get_boolean (value);
+ priv->editable_set = g_value_get_boolean (value);
break;
case PROP_STRIKETHROUGH_SET:
- celltext->strikethrough_set = g_value_get_boolean (value);
+ priv->strikethrough_set = g_value_get_boolean (value);
break;
case PROP_UNDERLINE_SET:
- celltext->underline_set = g_value_get_boolean (value);
+ priv->underline_set = g_value_get_boolean (value);
break;
case PROP_RISE_SET:
- celltext->rise_set = g_value_get_boolean (value);
+ priv->rise_set = g_value_get_boolean (value);
break;
case PROP_LANGUAGE_SET:
@@ -1364,17 +1385,15 @@ get_layout (GtkCellRendererText *celltext,
gboolean will_render,
GtkCellRendererState flags)
{
+ GtkCellRendererTextPriv *priv = celltext->priv;
PangoAttrList *attr_list;
PangoLayout *layout;
PangoUnderline uline;
- GtkCellRendererTextPrivate *priv;
- priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (celltext);
-
- layout = gtk_widget_create_pango_layout (widget, celltext->text);
+ layout = gtk_widget_create_pango_layout (widget, priv->text);
- if (celltext->extra_attrs)
- attr_list = pango_attr_list_copy (celltext->extra_attrs);
+ if (priv->extra_attrs)
+ attr_list = pango_attr_list_copy (priv->extra_attrs);
else
attr_list = pango_attr_list_new ();
@@ -1388,30 +1407,30 @@ get_layout (GtkCellRendererText *celltext,
* background_area not the PangoLayout area
*/
- if (celltext->foreground_set
+ if (priv->foreground_set
&& (flags & GTK_CELL_RENDERER_SELECTED) == 0)
{
PangoColor color;
- color = celltext->foreground;
+ color = priv->foreground;
add_attr (attr_list,
pango_attr_foreground_new (color.red, color.green, color.blue));
}
- if (celltext->strikethrough_set)
+ if (priv->strikethrough_set)
add_attr (attr_list,
- pango_attr_strikethrough_new (celltext->strikethrough));
+ pango_attr_strikethrough_new (priv->strikethrough));
}
- add_attr (attr_list, pango_attr_font_desc_new (celltext->font));
+ add_attr (attr_list, pango_attr_font_desc_new (priv->font));
- if (celltext->scale_set &&
- celltext->font_scale != 1.0)
- add_attr (attr_list, pango_attr_scale_new (celltext->font_scale));
+ if (priv->scale_set &&
+ priv->font_scale != 1.0)
+ add_attr (attr_list, pango_attr_scale_new (priv->font_scale));
- if (celltext->underline_set)
- uline = celltext->underline_style;
+ if (priv->underline_set)
+ uline = priv->underline_style;
else
uline = PANGO_UNDERLINE_NONE;
@@ -1436,10 +1455,10 @@ get_layout (GtkCellRendererText *celltext,
}
if (uline != PANGO_UNDERLINE_NONE)
- add_attr (attr_list, pango_attr_underline_new (celltext->underline_style));
+ add_attr (attr_list, pango_attr_underline_new (priv->underline_style));
- if (celltext->rise_set)
- add_attr (attr_list, pango_attr_rise_new (celltext->rise));
+ if (priv->rise_set)
+ add_attr (attr_list, pango_attr_rise_new (priv->rise));
if (priv->ellipsize_set)
pango_layout_set_ellipsize (layout, priv->ellipsize);
@@ -1488,17 +1507,15 @@ get_size (GtkCellRenderer *cell,
gint *width,
gint *height)
{
- GtkCellRendererText *celltext = (GtkCellRendererText *) cell;
+ GtkCellRendererText *celltext = GTK_CELL_RENDERER_TEXT (cell);
+ GtkCellRendererTextPriv *priv = celltext->priv;
PangoRectangle rect;
- GtkCellRendererTextPrivate *priv;
gint xpad, ypad;
gint cell_width, cell_height;
- priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (cell);
-
gtk_cell_renderer_get_padding (cell, &xpad, &ypad);
- if (celltext->calc_fixed_height)
+ if (priv->calc_fixed_height)
{
PangoContext *context;
PangoFontMetrics *metrics;
@@ -1506,11 +1523,11 @@ get_size (GtkCellRenderer *cell,
gint row_height;
font_desc = pango_font_description_copy_static (widget->style->font_desc);
- pango_font_description_merge_static (font_desc, celltext->font, TRUE);
+ pango_font_description_merge_static (font_desc, priv->font, TRUE);
- if (celltext->scale_set)
+ if (priv->scale_set)
pango_font_description_set_size (font_desc,
- celltext->font_scale * pango_font_description_get_size (font_desc));
+ priv->font_scale * pango_font_description_get_size (font_desc));
context = gtk_widget_get_pango_context (widget);
@@ -1527,14 +1544,14 @@ get_size (GtkCellRenderer *cell,
gtk_cell_renderer_set_fixed_size (cell,
cell_width, 2 * ypad +
- celltext->fixed_height_rows * PANGO_PIXELS (row_height));
+ priv->fixed_height_rows * PANGO_PIXELS (row_height));
if (height)
{
*height = cell_height;
height = NULL;
}
- celltext->calc_fixed_height = FALSE;
+ priv->calc_fixed_height = FALSE;
if (width == NULL)
return;
}
@@ -1627,15 +1644,13 @@ gtk_cell_renderer_text_render (GtkCellRenderer *cell,
GtkCellRendererState flags)
{
- GtkCellRendererText *celltext = (GtkCellRendererText *) cell;
+ GtkCellRendererText *celltext = GTK_CELL_RENDERER_TEXT (cell);
+ GtkCellRendererTextPriv *priv = celltext->priv;
PangoLayout *layout;
GtkStateType state;
gint x_offset;
gint y_offset;
gint xpad, ypad;
- GtkCellRendererTextPrivate *priv;
-
- priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (cell);
layout = get_layout (celltext, widget, TRUE, flags);
get_size (cell, widget, cell_area, layout, &x_offset, &y_offset, NULL, NULL);
@@ -1664,7 +1679,7 @@ gtk_cell_renderer_text_render (GtkCellRenderer *cell,
state = GTK_STATE_NORMAL;
}
- if (celltext->background_set &&
+ if (priv->background_set &&
(flags & GTK_CELL_RENDERER_SELECTED) == 0)
{
cairo_t *cr = gdk_cairo_create (window);
@@ -1677,9 +1692,9 @@ gtk_cell_renderer_text_render (GtkCellRenderer *cell,
gdk_cairo_rectangle (cr, background_area);
cairo_set_source_rgb (cr,
- celltext->background.red / 65535.,
- celltext->background.green / 65535.,
- celltext->background.blue / 65535.);
+ priv->background.red / 65535.,
+ priv->background.green / 65535.,
+ priv->background.blue / 65535.);
cairo_fill (cr);
cairo_destroy (cr);
@@ -1711,12 +1726,12 @@ static void
gtk_cell_renderer_text_editing_done (GtkCellEditable *entry,
gpointer data)
{
+ GtkCellRendererTextPriv *priv;
const gchar *path;
const gchar *new_text;
gboolean canceled;
- GtkCellRendererTextPrivate *priv;
- priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (data);
+ priv = GTK_CELL_RENDERER_TEXT (data)->priv;
priv->entry = NULL;
@@ -1755,9 +1770,9 @@ gtk_cell_renderer_text_editing_done (GtkCellEditable *entry,
static gboolean
popdown_timeout (gpointer data)
{
- GtkCellRendererTextPrivate *priv;
+ GtkCellRendererTextPriv *priv;
- priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (data);
+ priv = GTK_CELL_RENDERER_TEXT (data)->priv;
priv->entry_menu_popdown_timeout = 0;
@@ -1771,9 +1786,9 @@ static void
gtk_cell_renderer_text_popup_unmap (GtkMenu *menu,
gpointer data)
{
- GtkCellRendererTextPrivate *priv;
+ GtkCellRendererTextPriv *priv;
- priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (data);
+ priv = GTK_CELL_RENDERER_TEXT (data)->priv;
priv->in_entry_menu = FALSE;
@@ -1789,9 +1804,9 @@ gtk_cell_renderer_text_populate_popup (GtkEntry *entry,
GtkMenu *menu,
gpointer data)
{
- GtkCellRendererTextPrivate *priv;
+ GtkCellRendererTextPriv *priv;
- priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (data);
+ priv = GTK_CELL_RENDERER_TEXT (data)->priv;
if (priv->entry_menu_popdown_timeout)
{
@@ -1810,9 +1825,9 @@ gtk_cell_renderer_text_focus_out_event (GtkWidget *entry,
GdkEvent *event,
gpointer data)
{
- GtkCellRendererTextPrivate *priv;
+ GtkCellRendererTextPriv *priv;
- priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (data);
+ priv = GTK_CELL_RENDERER_TEXT (data)->priv;
if (priv->in_entry_menu)
return FALSE;
@@ -1838,14 +1853,14 @@ gtk_cell_renderer_text_start_editing (GtkCellRenderer *cell,
{
GtkRequisition requisition;
GtkCellRendererText *celltext;
- GtkCellRendererTextPrivate *priv;
+ GtkCellRendererTextPriv *priv;
gfloat xalign, yalign;
celltext = GTK_CELL_RENDERER_TEXT (cell);
- priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (cell);
+ priv = celltext->priv;
/* If the cell isn't editable we return NULL. */
- if (celltext->editable == FALSE)
+ if (priv->editable == FALSE)
return NULL;
gtk_cell_renderer_get_alignment (cell, &xalign, &yalign);
@@ -1854,8 +1869,8 @@ gtk_cell_renderer_text_start_editing (GtkCellRenderer *cell,
gtk_entry_set_has_frame (GTK_ENTRY (priv->entry), FALSE);
gtk_entry_set_alignment (GTK_ENTRY (priv->entry), xalign);
- if (celltext->text)
- gtk_entry_set_text (GTK_ENTRY (priv->entry), celltext->text);
+ if (priv->text)
+ gtk_entry_set_text (GTK_ENTRY (priv->entry), priv->text);
g_object_set_data_full (G_OBJECT (priv->entry), I_(GTK_CELL_RENDERER_TEXT_PATH), g_strdup (path), g_free);
gtk_editable_select_region (GTK_EDITABLE (priv->entry), 0, -1);
@@ -1928,12 +1943,14 @@ void
gtk_cell_renderer_text_set_fixed_height_from_font (GtkCellRendererText *renderer,
gint number_of_rows)
{
+ GtkCellRendererTextPriv *priv;
GtkCellRenderer *cell;
g_return_if_fail (GTK_IS_CELL_RENDERER_TEXT (renderer));
g_return_if_fail (number_of_rows == -1 || number_of_rows > 0);
cell = GTK_CELL_RENDERER (renderer);
+ priv = renderer->priv;
if (number_of_rows == -1)
{
@@ -1944,7 +1961,7 @@ gtk_cell_renderer_text_set_fixed_height_from_font (GtkCellRendererText *renderer
}
else
{
- renderer->fixed_height_rows = number_of_rows;
- renderer->calc_fixed_height = TRUE;
+ priv->fixed_height_rows = number_of_rows;
+ priv->calc_fixed_height = TRUE;
}
}
diff --git a/gtk/gtkcellrenderertext.h b/gtk/gtkcellrenderertext.h
index 5397927..c9f8e63 100644
--- a/gtk/gtkcellrenderertext.h
+++ b/gtk/gtkcellrenderertext.h
@@ -39,6 +39,7 @@ G_BEGIN_DECLS
#define GTK_CELL_RENDERER_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_RENDERER_TEXT, GtkCellRendererTextClass))
typedef struct _GtkCellRendererText GtkCellRendererText;
+typedef struct _GtkCellRendererTextPriv GtkCellRendererTextPriv;
typedef struct _GtkCellRendererTextClass GtkCellRendererTextClass;
struct _GtkCellRendererText
@@ -46,36 +47,7 @@ struct _GtkCellRendererText
GtkCellRenderer parent;
/*< private >*/
- gchar *GSEAL (text);
- PangoFontDescription *GSEAL (font);
- gdouble GSEAL (font_scale);
- PangoColor GSEAL (foreground);
- PangoColor GSEAL (background);
-
- PangoAttrList *GSEAL (extra_attrs);
-
- PangoUnderline GSEAL (underline_style);
-
- gint GSEAL (rise);
- gint GSEAL (fixed_height_rows);
-
- guint GSEAL (strikethrough) : 1;
-
- guint GSEAL (editable) : 1;
-
- guint GSEAL (scale_set) : 1;
-
- guint GSEAL (foreground_set) : 1;
- guint GSEAL (background_set) : 1;
-
- guint GSEAL (underline_set) : 1;
-
- guint GSEAL (rise_set) : 1;
-
- guint GSEAL (strikethrough_set) : 1;
-
- guint GSEAL (editable_set) : 1;
- guint GSEAL (calc_fixed_height) : 1;
+ GtkCellRendererTextPriv *priv;
};
struct _GtkCellRendererTextClass
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]