summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Stebbins <[email protected]>2019-06-19 14:03:53 -0700
committerJohn Stebbins <[email protected]>2019-06-19 14:03:53 -0700
commit4d3f9d86784fc612587a868f6aa5588d6104d8d1 (patch)
treea4ae8bc7999e9fbc71c6ddb621aae888154ff1a3
parent5351c1f6194f8e12d30bc693c0dfe75c87b21410 (diff)
LinGui: remove use of deprecated g_type_class_add_private
-rw-r--r--gtk/src/ghbcellrenderertext.c356
-rw-r--r--gtk/src/ghbcellrenderertext.h37
2 files changed, 201 insertions, 192 deletions
diff --git a/gtk/src/ghbcellrenderertext.c b/gtk/src/ghbcellrenderertext.c
index b8c804ed7..8355f795f 100644
--- a/gtk/src/ghbcellrenderertext.c
+++ b/gtk/src/ghbcellrenderertext.c
@@ -147,11 +147,40 @@ static guint text_cell_renderer_signals [LAST_SIGNAL];
#define GHB_CELL_RENDERER_TEXT_PATH "gtk-cell-renderer-text-path"
-#define GHB_CELL_RENDERER_TEXT_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GHB_TYPE_CELL_RENDERER_TEXT, GhbCellRendererTextPrivate))
-
typedef struct _GhbCellRendererTextPrivate GhbCellRendererTextPrivate;
struct _GhbCellRendererTextPrivate
{
+
+ gchar *text;
+ PangoFontDescription *font;
+ gdouble font_scale;
+ GdkRGBA foreground;
+ GdkRGBA background;
+
+ PangoAttrList *extra_attrs;
+
+ PangoUnderline underline_style;
+
+ gint rise;
+ gint fixed_height_rows;
+
+ 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;
@@ -174,22 +203,24 @@ struct _GhbCellRendererTextPrivate
GtkWidget *entry;
};
-G_DEFINE_TYPE (GhbCellRendererText, ghb_cell_renderer_text, GTK_TYPE_CELL_RENDERER)
+G_DEFINE_TYPE_WITH_CODE (GhbCellRendererText, ghb_cell_renderer_text,
+ GTK_TYPE_CELL_RENDERER,
+ G_ADD_PRIVATE(GhbCellRendererText))
static void
ghb_cell_renderer_text_init (GhbCellRendererText *celltext)
{
GhbCellRendererTextPrivate *priv;
- priv = GHB_CELL_RENDERER_TEXT_GET_PRIVATE (celltext);
+ priv = ghb_cell_renderer_text_get_instance_private (celltext);
g_object_set(celltext, "xalign", 0.0, NULL);
g_object_set(celltext, "yalign", 0.5, NULL);
g_object_set(celltext, "xpad", 2, NULL);
g_object_set(celltext, "ypad", 2, NULL);
- 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;
@@ -621,8 +652,6 @@ ghb_cell_renderer_text_class_init (GhbCellRendererTextClass *class)
ghb_marshal_BOOLEAN__BOXED,
G_TYPE_BOOLEAN, 1,
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
-
- g_type_class_add_private (object_class, sizeof (GhbCellRendererTextPrivate));
}
static void
@@ -631,14 +660,14 @@ ghb_cell_renderer_text_finalize (GObject *object)
GhbCellRendererText *celltext = GHB_CELL_RENDERER_TEXT (object);
GhbCellRendererTextPrivate *priv;
- priv = GHB_CELL_RENDERER_TEXT_GET_PRIVATE (object);
+ priv = ghb_cell_renderer_text_get_instance_private (celltext);
- 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);
@@ -677,16 +706,16 @@ ghb_cell_renderer_text_get_property (GObject *object,
GhbCellRendererText *celltext = GHB_CELL_RENDERER_TEXT (object);
GhbCellRendererTextPrivate *priv;
- priv = GHB_CELL_RENDERER_TEXT_GET_PRIVATE (object);
+ priv = ghb_cell_renderer_text_get_instance_private (celltext);
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:
@@ -695,70 +724,70 @@ ghb_cell_renderer_text_get_property (GObject *object,
case PROP_BACKGROUND_RGBA:
{
- g_value_set_boxed(value, &celltext->background);
+ g_value_set_boxed(value, &priv->background);
}
break;
case PROP_FOREGROUND_RGBA:
{
- g_value_set_boxed(value, &celltext->foreground);
+ g_value_set_boxed(value, &priv->foreground);
}
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:
@@ -782,11 +811,11 @@ ghb_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:
@@ -797,29 +826,29 @@ ghb_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:
@@ -852,21 +881,24 @@ static void
set_bg_color (GhbCellRendererText *celltext,
GdkRGBA *rgba)
{
+ GhbCellRendererTextPrivate *priv;
+
+ priv = ghb_cell_renderer_text_get_instance_private (celltext);
if (rgba)
{
- 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 = *rgba;
+ priv->background = *rgba;
}
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");
}
}
@@ -877,21 +909,24 @@ static void
set_fg_color (GhbCellRendererText *celltext,
GdkRGBA *rgba)
{
+ GhbCellRendererTextPrivate *priv;
+
+ priv = ghb_cell_renderer_text_get_instance_private (celltext);
if (rgba)
{
- 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 = *rgba;
+ priv->foreground = *rgba;
}
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");
}
}
@@ -980,20 +1015,23 @@ set_font_description (GhbCellRendererText *celltext,
GObject *object = G_OBJECT (celltext);
PangoFontDescription *new_font_desc;
PangoFontMask old_mask, new_mask, changed_mask, set_changed_mask;
+ GhbCellRendererTextPrivate *priv;
+
+ priv = ghb_cell_renderer_text_get_instance_private (celltext);
if (font_desc)
new_font_desc = pango_font_description_copy (font_desc);
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);
@@ -1030,32 +1068,32 @@ ghb_cell_renderer_text_set_property (GObject *object,
GhbCellRendererText *celltext = GHB_CELL_RENDERER_TEXT (object);
GhbCellRendererTextPrivate *priv;
- priv = GHB_CELL_RENDERER_TEXT_GET_PRIVATE (object);
+ priv = ghb_cell_renderer_text_get_instance_private (celltext);
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_strdup (g_value_get_string (value));
+ priv->text = g_strdup (g_value_get_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:
{
@@ -1079,13 +1117,13 @@ ghb_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;
@@ -1148,16 +1186,16 @@ ghb_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:
@@ -1168,46 +1206,46 @@ ghb_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");
@@ -1215,17 +1253,17 @@ ghb_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);
@@ -1233,24 +1271,24 @@ ghb_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:
@@ -1286,11 +1324,11 @@ ghb_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:
@@ -1301,37 +1339,37 @@ ghb_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:
@@ -1392,12 +1430,12 @@ get_layout (GhbCellRendererText *celltext,
PangoUnderline uline;
GhbCellRendererTextPrivate *priv;
- priv = GHB_CELL_RENDERER_TEXT_GET_PRIVATE (celltext);
+ priv = ghb_cell_renderer_text_get_instance_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 ();
@@ -1411,28 +1449,28 @@ get_layout (GhbCellRendererText *celltext,
* background_area not the PangoLayout area
*/
- if (celltext->foreground_set
+ if (priv->foreground_set
&& (flags & GTK_CELL_RENDERER_SELECTED) == 0)
{
add_attr(attr_list,
- pango_attr_foreground_new(celltext->foreground.red,
- celltext->foreground.green,
- celltext->foreground.blue));
+ pango_attr_foreground_new(priv->foreground.red,
+ priv->foreground.green,
+ priv->foreground.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;
@@ -1457,10 +1495,10 @@ get_layout (GhbCellRendererText *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);
@@ -1513,7 +1551,7 @@ get_size (GtkCellRenderer *cell,
PangoRectangle rect;
GhbCellRendererTextPrivate *priv;
- priv = GHB_CELL_RENDERER_TEXT_GET_PRIVATE (cell);
+ priv = ghb_cell_renderer_text_get_instance_private (celltext);
gint cell_width, cell_height, cell_xpad, cell_ypad;
gfloat cell_xalign, cell_yalign;
@@ -1522,7 +1560,7 @@ get_size (GtkCellRenderer *cell,
gtk_cell_renderer_get_alignment(cell, &cell_xalign, &cell_yalign);
gtk_cell_renderer_get_padding(cell, &cell_xpad, &cell_ypad);
- if (celltext->calc_fixed_height)
+ if (priv->calc_fixed_height)
{
PangoContext *context;
PangoFontMetrics *metrics;
@@ -1530,11 +1568,11 @@ get_size (GtkCellRenderer *cell,
gint row_height;
font_desc = pango_font_description_copy_static(ghb_widget_get_font(widget));
- 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);
@@ -1549,14 +1587,14 @@ get_size (GtkCellRenderer *cell,
gtk_cell_renderer_set_fixed_size (cell,
cell_width, 2*cell_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;
}
@@ -1636,16 +1674,16 @@ static void ghb_cell_renderer_text_snapshot(
gint xpad, ypad;
PangoRectangle rect;
- priv = GHB_CELL_RENDERER_TEXT_GET_PRIVATE (cell);
+ priv = ghb_cell_renderer_text_get_instance_private (celltext);
layout = get_layout (celltext, widget, TRUE, flags);
get_size(cell, widget, cell_area, layout, &x_offset, &y_offset, NULL, NULL);
context = gtk_widget_get_style_context(widget);
- if (celltext->background_set && (flags & GTK_CELL_RENDERER_SELECTED) == 0)
+ if (priv->background_set && (flags & GTK_CELL_RENDERER_SELECTED) == 0)
{
gtk_snapshot_append_color(snapshot,
- &celltext->background,
+ &priv->background,
&GRAPHENE_RECT_INIT(
background_area->x, background_area->y,
background_area->width,
@@ -1694,7 +1732,7 @@ static void ghb_cell_renderer_text_render(
gint y_offset = 0;
GhbCellRendererTextPrivate *priv;
- priv = GHB_CELL_RENDERER_TEXT_GET_PRIVATE (cell);
+ priv = ghb_cell_renderer_text_get_instance_private (celltext);
layout = get_layout (celltext, widget, TRUE, flags);
get_size(cell, widget, cell_area, layout, &x_offset, &y_offset, NULL, NULL);
@@ -1732,14 +1770,14 @@ static void ghb_cell_renderer_text_render(
gtk_cell_renderer_get_padding(cell, &xpad, &ypad);
- if (celltext->background_set &&
+ if (priv->background_set &&
(flags & GTK_CELL_RENDERER_SELECTED) == 0)
{
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);
}
@@ -1779,7 +1817,7 @@ ghb_cell_renderer_text_editing_done (GtkCellEditable *entry,
const gchar *new_text;
GhbCellRendererTextPrivate *priv;
- priv = GHB_CELL_RENDERER_TEXT_GET_PRIVATE (data);
+ priv = ghb_cell_renderer_text_get_instance_private(GHB_CELL_RENDERER_TEXT(data));
priv->entry = NULL;
@@ -1819,7 +1857,7 @@ popdown_timeout (gpointer data)
{
GhbCellRendererTextPrivate *priv;
- priv = GHB_CELL_RENDERER_TEXT_GET_PRIVATE (data);
+ priv = ghb_cell_renderer_text_get_instance_private(GHB_CELL_RENDERER_TEXT(data));
priv->entry_menu_popdown_timeout = 0;
@@ -1835,7 +1873,7 @@ ghb_cell_renderer_text_popup_unmap (GtkMenu *menu,
{
GhbCellRendererTextPrivate *priv;
- priv = GHB_CELL_RENDERER_TEXT_GET_PRIVATE (data);
+ priv = ghb_cell_renderer_text_get_instance_private(GHB_CELL_RENDERER_TEXT(data));
priv->in_entry_menu = FALSE;
@@ -1853,7 +1891,7 @@ ghb_cell_renderer_text_populate_popup (GtkEntry *entry,
{
GhbCellRendererTextPrivate *priv;
- priv = GHB_CELL_RENDERER_TEXT_GET_PRIVATE (data);
+ priv = ghb_cell_renderer_text_get_instance_private(GHB_CELL_RENDERER_TEXT(data));
if (priv->entry_menu_popdown_timeout)
{
@@ -1874,7 +1912,7 @@ ghb_cell_renderer_text_focus_out_event (GtkWidget *entry,
{
GhbCellRendererTextPrivate *priv;
- priv = GHB_CELL_RENDERER_TEXT_GET_PRIVATE (data);
+ priv = ghb_cell_renderer_text_get_instance_private(GHB_CELL_RENDERER_TEXT(data));
if (priv->in_entry_menu)
return FALSE;
@@ -1900,10 +1938,10 @@ ghb_cell_renderer_text_start_editing (GtkCellRenderer *cell,
GhbCellRendererTextPrivate *priv;
celltext = GHB_CELL_RENDERER_TEXT (cell);
- priv = GHB_CELL_RENDERER_TEXT_GET_PRIVATE (cell);
+ priv = ghb_cell_renderer_text_get_instance_private (celltext);
/* If the cell isn't editable we return NULL. */
- if (celltext->editable == FALSE)
+ if (priv->editable == FALSE)
return NULL;
gint xalign;
@@ -1913,8 +1951,8 @@ ghb_cell_renderer_text_start_editing (GtkCellRenderer *cell,
"xalign", xalign,
NULL);
- 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_(GHB_CELL_RENDERER_TEXT_PATH), g_strdup (path), g_free);
@@ -1962,24 +2000,26 @@ ghb_cell_renderer_text_start_editing (GtkCellRenderer *cell,
* the height is determined by the properties again.
**/
void
-ghb_cell_renderer_text_set_fixed_height_from_font (GhbCellRendererText *renderer,
+ghb_cell_renderer_text_set_fixed_height_from_font (GhbCellRendererText *celltext,
gint number_of_rows)
{
- g_return_if_fail (GHB_IS_CELL_RENDERER_TEXT (renderer));
+ g_return_if_fail (GHB_IS_CELL_RENDERER_TEXT (celltext));
g_return_if_fail (number_of_rows == -1 || number_of_rows > 0);
+ GhbCellRendererTextPrivate *priv;
+ priv = ghb_cell_renderer_text_get_instance_private (celltext);
if (number_of_rows == -1)
{
gint width;
- g_object_get(renderer, "width", &width, NULL);
- gtk_cell_renderer_set_fixed_size (GTK_CELL_RENDERER (renderer),
+ g_object_get(celltext, "width", &width, NULL);
+ gtk_cell_renderer_set_fixed_size (GTK_CELL_RENDERER (celltext),
width,
-1);
}
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/src/ghbcellrenderertext.h b/gtk/src/ghbcellrenderertext.h
index a00a41d69..6c24030d2 100644
--- a/gtk/src/ghbcellrenderertext.h
+++ b/gtk/src/ghbcellrenderertext.h
@@ -38,44 +38,13 @@ G_BEGIN_DECLS
#define GHB_IS_CELL_RENDERER_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GHB_TYPE_CELL_RENDERER_TEXT))
#define GHB_CELL_RENDERER_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GHB_TYPE_CELL_RENDERER_TEXT, GhbCellRendererTextClass))
-typedef struct _GhbCellRendererText GhbCellRendererText;
-typedef struct _GhbCellRendererTextClass GhbCellRendererTextClass;
+typedef struct _GhbCellRendererText GhbCellRendererText;
+typedef struct _GhbCellRendererTextPrivate GhbCellRendererTextPrivate;
+typedef struct _GhbCellRendererTextClass GhbCellRendererTextClass;
struct _GhbCellRendererText
{
GtkCellRenderer parent;
-
- /*< private >*/
- gchar *text;
- PangoFontDescription *font;
- gdouble font_scale;
- GdkRGBA foreground;
- GdkRGBA background;
-
- PangoAttrList *extra_attrs;
-
- PangoUnderline underline_style;
-
- gint rise;
- gint fixed_height_rows;
-
- 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;
};
struct _GhbCellRendererTextClass