Commit e876d9fe authored by Benjamin Otte's avatar Benjamin Otte

styleproperty: Make parse_value() a vfunc

parent 4821e52c
......@@ -119,6 +119,12 @@ gtk_style_property_get_property (GObject *object,
}
}
static gboolean
gtk_style_property_real_parse_value (GtkStyleProperty *property,
GValue *value,
GtkCssParser *parser,
GFile *base);
static void
_gtk_style_property_class_init (GtkStylePropertyClass *klass)
{
......@@ -143,6 +149,8 @@ _gtk_style_property_class_init (GtkStylePropertyClass *klass)
G_TYPE_NONE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
klass->parse_value = gtk_style_property_real_parse_value;
klass->properties = g_hash_table_new (g_str_hash, g_str_equal);
}
......@@ -385,10 +393,23 @@ _gtk_style_property_parse_value (GtkStyleProperty *property,
GtkCssParser *parser,
GFile *base)
{
GtkStylePropertyClass *klass;
g_return_val_if_fail (GTK_IS_STYLE_PROPERTY (property), FALSE);
g_return_val_if_fail (value != NULL, FALSE);
g_return_val_if_fail (parser != NULL, FALSE);
klass = GTK_STYLE_PROPERTY_GET_CLASS (property);
return klass->parse_value (property, value, parser, base);
}
static gboolean
gtk_style_property_real_parse_value (GtkStyleProperty *property,
GValue *value,
GtkCssParser *parser,
GFile *base)
{
if (_gtk_css_parser_try (parser, "initial", TRUE))
{
/* the initial value can be explicitly specified with the
......
......@@ -78,6 +78,10 @@ struct _GtkStylePropertyClass
GtkStateFlags state,
GtkStylePropertyContext *context,
GValue *value);
gboolean (* parse_value) (GtkStyleProperty * property,
GValue *value,
GtkCssParser *parser,
GFile *base);
GHashTable *properties;
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment