[gtk+/nth-child: 11/22] styleproperty: Change _css_value_to_string()
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/nth-child: 11/22] styleproperty: Change _css_value_to_string()
- Date: Thu, 26 May 2011 03:31:29 +0000 (UTC)
commit fb9ff4ee01c1f6843adf00e99a32a450a16e628d
Author: Benjamin Otte <otte redhat com>
Date: Mon May 23 07:16:17 2011 +0200
styleproperty: Change _css_value_to_string()
Name it _gtk_style_property_print_value() and actually pass it the style
property. This way, we can later change it to use custom print functions
for different style properties.
gtk/gtkcssprovider.c | 5 +----
gtk/gtkstyleproperty.c | 19 +++++++++++--------
gtk/gtkstylepropertyprivate.h | 4 +++-
3 files changed, 15 insertions(+), 13 deletions(-)
---
diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c
index d433573..0abd075 100644
--- a/gtk/gtkcssprovider.c
+++ b/gtk/gtkcssprovider.c
@@ -2966,7 +2966,6 @@ gtk_css_ruleset_print (const GtkCssRuleset *ruleset,
GString *str)
{
GList *keys, *walk;
- char *s;
_gtk_css_selector_print (ruleset->selector, str);
@@ -2986,9 +2985,7 @@ gtk_css_ruleset_print (const GtkCssRuleset *ruleset,
g_string_append (str, " ");
g_string_append (str, prop->pspec->name);
g_string_append (str, ": ");
- s = _gtk_css_value_to_string (value);
- g_string_append (str, s);
- g_free (s);
+ _gtk_style_property_print_value (prop, value, str);
g_string_append (str, ";\n");
}
diff --git a/gtk/gtkstyleproperty.c b/gtk/gtkstyleproperty.c
index 2bcb394..4df79d2 100644
--- a/gtk/gtkstyleproperty.c
+++ b/gtk/gtkstyleproperty.c
@@ -1402,8 +1402,10 @@ _gtk_css_value_parse (GValue *value,
return (*func) (parser, base, value);
}
-char *
-_gtk_css_value_to_string (const GValue *value)
+void
+_gtk_style_property_print_value (GtkStyleProperty *property,
+ const GValue *value,
+ GString *string)
{
PrintFunc func;
@@ -1415,14 +1417,15 @@ _gtk_css_value_to_string (const GValue *value)
func = g_hash_table_lookup (print_funcs,
GSIZE_TO_POINTER (g_type_fundamental (G_VALUE_TYPE (value))));
- if (func)
+ if (func == NULL)
{
- GString *string = g_string_new (NULL);
- func (value, string);
- return g_string_free (string, FALSE);
+ char *s = g_strdup_value_contents (value);
+ g_string_append (string, s);
+ g_free (s);
+ return;
}
-
- return g_strdup_value_contents (value);
+
+ func (value, string);
}
gboolean
diff --git a/gtk/gtkstylepropertyprivate.h b/gtk/gtkstylepropertyprivate.h
index a1d222e..b532b5f 100644
--- a/gtk/gtkstylepropertyprivate.h
+++ b/gtk/gtkstylepropertyprivate.h
@@ -59,7 +59,9 @@ void _gtk_style_property_pack (const GtkStyleProper
gboolean _gtk_css_value_parse (GValue *value,
GtkCssParser *parser,
GFile *base);
-char * _gtk_css_value_to_string (const GValue *value);
+void _gtk_style_property_print_value (GtkStyleProperty *property,
+ const GValue *value,
+ GString *string);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]