[gtk+/wip/css: 127/154] API Add an updated signal for the stylecontext



commit ede2e0720c75a88eb42b27c44869ad3733023be7
Author: Benjamin Otte <otte redhat com>
Date:   Wed Jan 4 03:29:00 2012 +0100

    API Add an updated signal for the stylecontext
    
    I want this signal to be private. Does that work?

 gtk/gtkstylecontext.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c
index b53f82c..e51b989 100644
--- a/gtk/gtkstylecontext.c
+++ b/gtk/gtkstylecontext.c
@@ -395,6 +395,7 @@ enum {
 
 enum {
   CHANGED,
+  UPDATED,
   LAST_SIGNAL
 };
 
@@ -437,6 +438,15 @@ gtk_style_context_class_init (GtkStyleContextClass *klass)
                   g_cclosure_marshal_VOID__VOID,
                   G_TYPE_NONE, 0);
 
+  signals[UPDATED] =
+    g_signal_new (I_("updated"),
+                  G_TYPE_FROM_CLASS (object_class),
+                  G_SIGNAL_RUN_FIRST,
+                  0,
+                  NULL, NULL,
+                  g_cclosure_marshal_VOID__POINTER,
+                  G_TYPE_NONE, 1, G_TYPE_POINTER);
+
   g_object_class_install_property (object_class,
                                    PROP_SCREEN,
                                    g_param_spec_object ("screen",
@@ -1127,6 +1137,12 @@ style_data_lookup (GtkStyleContext *context,
   if (G_UNLIKELY (state_mismatch))
     gtk_style_context_restore (context);
 
+  priv->invalidating_context = TRUE;
+
+  g_signal_emit (context, signals[UPDATED], 0, NULL);
+
+  priv->invalidating_context = FALSE;
+
   return data;
 }
 



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