diff options
author | Paolo Borelli <pborelli@gnome.org> | 2011-01-09 00:16:20 +0100 |
---|---|---|
committer | Paolo Borelli <pborelli@gnome.org> | 2011-01-09 21:59:50 +0100 |
commit | 12c4730e6f65bcd72c3335deab798a08b439a410 (patch) | |
tree | 6482d784042a356033fdf3d6ed91344827272a6f /modules | |
parent | 89c8e2af2d6f2c36273d1cadc48653be0a51fe62 (diff) | |
download | gtk+-12c4730e6f65bcd72c3335deab798a08b439a410.tar.gz |
Small cleanup in gailtextview code.
Fold gail_misc_add_to_attr_set into the only function calling it, which
avoids a useless big "switch" and results in much less code.
https://bugzilla.gnome.org/show_bug.cgi?id=639030
Diffstat (limited to 'modules')
-rw-r--r-- | modules/other/gail/gailtextview.c | 133 | ||||
-rw-r--r-- | modules/other/gail/libgail-util/gailmisc.c | 113 | ||||
-rw-r--r-- | modules/other/gail/libgail-util/gailmisc.h | 4 | ||||
-rw-r--r-- | modules/other/gail/libgail-util/gailutil.def | 1 |
4 files changed, 63 insertions, 188 deletions
diff --git a/modules/other/gail/gailtextview.c b/modules/other/gail/gailtextview.c index 873509cb5d..776ce8b687 100644 --- a/modules/other/gail/gailtextview.c +++ b/modules/other/gail/gailtextview.c @@ -641,6 +641,16 @@ gail_text_view_get_run_attributes (AtkText *text, } static AtkAttributeSet* +add_text_attribute (AtkAttributeSet *attrib_set, AtkTextAttribute attr, gint i) +{ + const gchar *value; + + value = atk_text_attribute_get_value (attr, i); + + return gail_misc_add_attribute (attrib_set, i, g_strdup (value)); +} + +static AtkAttributeSet* gail_text_view_get_default_attributes (AtkText *text) { GtkTextView *view; @@ -648,6 +658,7 @@ gail_text_view_get_default_attributes (AtkText *text) GtkTextAttributes *text_attrs; AtkAttributeSet *attrib_set = NULL; PangoFontDescription *font; + gchar *value; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) @@ -661,96 +672,78 @@ gail_text_view_get_default_attributes (AtkText *text) if (font) { - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_STYLE); - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_VARIANT); - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_STRETCH); - } - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_JUSTIFICATION); - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_DIRECTION); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_STYLE, + pango_font_description_get_style (font)); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_WRAP_MODE); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_VARIANT, + pango_font_description_get_variant (font)); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_FG_STIPPLE); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_STRETCH, + pango_font_description_get_stretch (font)); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_BG_STIPPLE); + value = g_strdup (pango_font_description_get_family (font)); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_FAMILY_NAME, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_FG_COLOR); + value = g_strdup_printf ("%d", pango_font_description_get_weight (font)); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_WEIGHT, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_BG_COLOR); - - if (font) - { - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_FAMILY_NAME); + value = g_strdup_printf ("%i", pango_font_description_get_size (font) / PANGO_SCALE); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_SIZE, value); } - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_LANGUAGE); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_JUSTIFICATION, text_attrs->justification); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_DIRECTION, text_attrs->direction); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_WRAP_MODE, text_attrs->wrap_mode); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_EDITABLE, text_attrs->editable); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_INVISIBLE, text_attrs->invisible); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_BG_FULL_HEIGHT, text_attrs->bg_full_height); - if (font) - { - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_WEIGHT); - } + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_FG_STIPPLE, NULL); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_BG_STIPPLE, NULL); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_SCALE); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_STRIKETHROUGH, + text_attrs->appearance.strikethrough); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_UNDERLINE, + text_attrs->appearance.underline); - if (font) - { - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_SIZE); - } + value = g_strdup_printf ("%u,%u,%u", + text_attrs->appearance.bg_color.red, + text_attrs->appearance.bg_color.green, + text_attrs->appearance.bg_color.blue); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_BG_COLOR, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_STRIKETHROUGH); + value = g_strdup_printf ("%u,%u,%u", + text_attrs->appearance.fg_color.red, + text_attrs->appearance.fg_color.green, + text_attrs->appearance.fg_color.blue); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_FG_COLOR, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_UNDERLINE); + value = g_strdup_printf ("%g", text_attrs->font_scale); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_SCALE, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_RISE); + value = g_strdup ((gchar *)(text_attrs->language)); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_LANGUAGE, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_BG_FULL_HEIGHT); + value = g_strdup_printf ("%i", text_attrs->appearance.rise); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_RISE, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP); + value = g_strdup_printf ("%i", text_attrs->pixels_inside_wrap); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_PIXELS_BELOW_LINES); + value = g_strdup_printf ("%i", text_attrs->pixels_below_lines); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_PIXELS_BELOW_LINES, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_PIXELS_ABOVE_LINES); - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_EDITABLE); - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_INVISIBLE); + value = g_strdup_printf ("%i", text_attrs->pixels_above_lines); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_PIXELS_ABOVE_LINES, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_INDENT); + value = g_strdup_printf ("%i", text_attrs->indent); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_INDENT, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_RIGHT_MARGIN); + value = g_strdup_printf ("%i", text_attrs->left_margin); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_LEFT_MARGIN, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_LEFT_MARGIN); + value = g_strdup_printf ("%i", text_attrs->right_margin); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_RIGHT_MARGIN, value); gtk_text_attributes_unref (text_attrs); return attrib_set; diff --git a/modules/other/gail/libgail-util/gailmisc.c b/modules/other/gail/libgail-util/gailmisc.c index a9291e4d46..7b9cfb5de2 100644 --- a/modules/other/gail/libgail-util/gailmisc.c +++ b/modules/other/gail/libgail-util/gailmisc.c @@ -561,119 +561,6 @@ gail_misc_get_origins (GtkWidget *widget, } /** - * gail_misc_add_to_attr_set: - * @attrib_set: An #AtkAttributeSet - * @attrs: The #GtkTextAttributes containing the attribute value - * @attr: The #AtkTextAttribute to be added - * - * Gets the value for the AtkTextAttribute from the GtkTextAttributes - * and adds it to the AttributeSet. - * - * Returns: A pointer to the updated #AtkAttributeSet. - **/ -AtkAttributeSet* -gail_misc_add_to_attr_set (AtkAttributeSet *attrib_set, - GtkTextAttributes *attrs, - AtkTextAttribute attr) -{ - gchar *value; - - switch (attr) - { - case ATK_TEXT_ATTR_LEFT_MARGIN: - value = g_strdup_printf ("%i", attrs->left_margin); - break; - case ATK_TEXT_ATTR_RIGHT_MARGIN: - value = g_strdup_printf ("%i", attrs->right_margin); - break; - case ATK_TEXT_ATTR_INDENT: - value = g_strdup_printf ("%i", attrs->indent); - break; - case ATK_TEXT_ATTR_INVISIBLE: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->invisible)); - break; - case ATK_TEXT_ATTR_EDITABLE: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->editable)); - break; - case ATK_TEXT_ATTR_PIXELS_ABOVE_LINES: - value = g_strdup_printf ("%i", attrs->pixels_above_lines); - break; - case ATK_TEXT_ATTR_PIXELS_BELOW_LINES: - value = g_strdup_printf ("%i", attrs->pixels_below_lines); - break; - case ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP: - value = g_strdup_printf ("%i", attrs->pixels_inside_wrap); - break; - case ATK_TEXT_ATTR_BG_FULL_HEIGHT: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->bg_full_height)); - break; - case ATK_TEXT_ATTR_RISE: - value = g_strdup_printf ("%i", attrs->appearance.rise); - break; - case ATK_TEXT_ATTR_UNDERLINE: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->appearance.underline)); - break; - case ATK_TEXT_ATTR_STRIKETHROUGH: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->appearance.strikethrough)); - break; - case ATK_TEXT_ATTR_SIZE: - value = g_strdup_printf ("%i", - pango_font_description_get_size (attrs->font) / PANGO_SCALE); - break; - case ATK_TEXT_ATTR_SCALE: - value = g_strdup_printf ("%g", attrs->font_scale); - break; - case ATK_TEXT_ATTR_WEIGHT: - value = g_strdup_printf ("%d", - pango_font_description_get_weight (attrs->font)); - break; - case ATK_TEXT_ATTR_LANGUAGE: - value = g_strdup ((gchar *)(attrs->language)); - break; - case ATK_TEXT_ATTR_FAMILY_NAME: - value = g_strdup (pango_font_description_get_family (attrs->font)); - break; - case ATK_TEXT_ATTR_BG_COLOR: - value = g_strdup_printf ("%u,%u,%u", - attrs->appearance.bg_color.red, - attrs->appearance.bg_color.green, - attrs->appearance.bg_color.blue); - break; - case ATK_TEXT_ATTR_FG_COLOR: - value = g_strdup_printf ("%u,%u,%u", - attrs->appearance.fg_color.red, - attrs->appearance.fg_color.green, - attrs->appearance.fg_color.blue); - break; - case ATK_TEXT_ATTR_WRAP_MODE: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->wrap_mode)); - break; - case ATK_TEXT_ATTR_DIRECTION: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->direction)); - break; - case ATK_TEXT_ATTR_JUSTIFICATION: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->justification)); - break; - case ATK_TEXT_ATTR_STRETCH: - value = g_strdup (atk_text_attribute_get_value (attr, - pango_font_description_get_stretch (attrs->font))); - break; - case ATK_TEXT_ATTR_VARIANT: - value = g_strdup (atk_text_attribute_get_value (attr, - pango_font_description_get_variant (attrs->font))); - break; - case ATK_TEXT_ATTR_STYLE: - value = g_strdup (atk_text_attribute_get_value (attr, - pango_font_description_get_style (attrs->font))); - break; - default: - value = NULL; - break; - } - return gail_misc_add_attribute (attrib_set, attr, value); -} - -/** * gail_misc_buffer_get_run_attributes: * @buffer: The #GtkTextBuffer for which the attributes will be obtained * @offset: The offset at which the attributes are required diff --git a/modules/other/gail/libgail-util/gailmisc.h b/modules/other/gail/libgail-util/gailmisc.h index f430b3c334..9483755c7b 100644 --- a/modules/other/gail/libgail-util/gailmisc.h +++ b/modules/other/gail/libgail-util/gailmisc.h @@ -67,10 +67,6 @@ void gail_misc_get_origins (GtkWidget *widget, gint *x_toplevel, gint *y_toplevel); -AtkAttributeSet* gail_misc_add_to_attr_set (AtkAttributeSet *attrib_set, - GtkTextAttributes *attrs, - AtkTextAttribute attr); - AtkAttributeSet* gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, gint offset, diff --git a/modules/other/gail/libgail-util/gailutil.def b/modules/other/gail/libgail-util/gailutil.def index 2077be15f4..5c74915cb1 100644 --- a/modules/other/gail/libgail-util/gailutil.def +++ b/modules/other/gail/libgail-util/gailutil.def @@ -1,6 +1,5 @@ EXPORTS gail_misc_add_attribute - gail_misc_add_to_attr_set gail_misc_buffer_get_run_attributes gail_misc_get_default_attributes gail_misc_get_extents_from_pango_rectangle |