[gtk+/wip/cssvalue: 189/218] customproperty: Add our own query_value function



commit 370f46084df54939e9c8fea9cbde80fbe87324cb
Author: Benjamin Otte <otte redhat com>
Date:   Tue Mar 27 23:23:11 2012 +0200

    customproperty: Add our own query_value function
    
    I'm about to change the CssStyleProperty one, so better copy things
    here.

 gtk/gtkcsscustomproperty.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkcsscustomproperty.c b/gtk/gtkcsscustomproperty.c
index ca7df8b..dd183ae 100644
--- a/gtk/gtkcsscustomproperty.c
+++ b/gtk/gtkcsscustomproperty.c
@@ -84,11 +84,29 @@ gtk_css_custom_property_parse_value (GtkStyleProperty *property,
 }
 
 static void
+gtk_css_custom_property_query (GtkStyleProperty   *property,
+                               GValue             *value,
+                               GtkStyleQueryFunc   query_func,
+                               gpointer            query_data)
+{
+  GtkCssStyleProperty *style = GTK_CSS_STYLE_PROPERTY (property);
+  GtkCssValue *css_value;
+  
+  css_value = (* query_func) (_gtk_css_style_property_get_id (style), query_data);
+  if (css_value == NULL)
+    css_value =_gtk_css_style_property_get_initial_value (style);
+
+  _gtk_css_value_init_gvalue (css_value, value);
+  g_assert (GTK_CSS_CUSTOM_PROPERTY (property)->pspec->value_type == G_VALUE_TYPE (value));
+}
+
+static void
 _gtk_css_custom_property_class_init (GtkCssCustomPropertyClass *klass)
 {
   GtkStylePropertyClass *property_class = GTK_STYLE_PROPERTY_CLASS (klass);
 
   property_class->parse_value = gtk_css_custom_property_parse_value;
+  property_class->query = gtk_css_custom_property_query;
 }
 
 static GtkCssValue *



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]