]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkcssmatcherprivate.h
filechooserbutton: When the combo box changes, set the *file*, not the current folder
[~andy/gtk] / gtk / gtkcssmatcherprivate.h
index b562127eaf041baebf07b9c01e480ea75ee76b44..1b2108c3870b5f9ef04c830f4eaa89c6a7b7766f 100644 (file)
@@ -36,10 +36,10 @@ struct _GtkCssMatcherClass {
                                                    const GtkCssMatcher    *next);
 
   GtkStateFlags   (* get_state)                   (const GtkCssMatcher   *matcher);
-  gboolean        (* has_name)                    (const GtkCssMatcher   *matcher,
-                                                   const char            *name);
+  gboolean        (* has_type)                    (const GtkCssMatcher   *matcher,
+                                                   GType                  type);
   gboolean        (* has_class)                   (const GtkCssMatcher   *matcher,
-                                                   const char            *class_name);
+                                                   GQuark                 class_name);
   gboolean        (* has_id)                      (const GtkCssMatcher   *matcher,
                                                    const char            *id);
   gboolean        (* has_regions)                 (const GtkCssMatcher   *matcher);
@@ -50,6 +50,7 @@ struct _GtkCssMatcherClass {
                                                    gboolean               forward,
                                                    int                    a,
                                                    int                    b);
+  gboolean is_any;
 };
 
 struct _GtkCssMatcherWidgetPath {
@@ -72,9 +73,9 @@ union _GtkCssMatcher {
   GtkCssMatcherSuperset     superset;
 };
 
-void              _gtk_css_matcher_init           (GtkCssMatcher          *matcher,
+gboolean          _gtk_css_matcher_init           (GtkCssMatcher          *matcher,
                                                    const GtkWidgetPath    *path,
-                                                   GtkStateFlags           state);
+                                                   GtkStateFlags           state) G_GNUC_WARN_UNUSED_RESULT;
 void              _gtk_css_matcher_any_init       (GtkCssMatcher          *matcher);
 void              _gtk_css_matcher_superset_init  (GtkCssMatcher          *matcher,
                                                    const GtkCssMatcher    *subset,
@@ -102,15 +103,15 @@ _gtk_css_matcher_get_state (const GtkCssMatcher *matcher)
 }
 
 static inline gboolean
-_gtk_css_matcher_has_name (const GtkCssMatcher *matcher,
-                           const char          *name)
+_gtk_css_matcher_has_type (const GtkCssMatcher *matcher,
+                           GType type)
 {
-  return matcher->klass->has_name (matcher, name);
+  return matcher->klass->has_type (matcher, type);
 }
 
 static inline gboolean
 _gtk_css_matcher_has_class (const GtkCssMatcher *matcher,
-                            const char          *class_name)
+                            GQuark               class_name)
 {
   return matcher->klass->has_class (matcher, class_name);
 }
@@ -146,6 +147,12 @@ _gtk_css_matcher_has_position (const GtkCssMatcher *matcher,
   return matcher->klass->has_position (matcher, forward, a, b);
 }
 
+static inline gboolean
+_gtk_css_matcher_matches_any (const GtkCssMatcher *matcher)
+{
+  return matcher->klass->is_any;
+}
+
 
 G_END_DECLS