forked from AuroraMiddleware/gtk
css: Add a matcher type enum
For now, this just replaces the is_any boolean by a type field in the class. It will be used in future commits.
This commit is contained in:
parent
f0c1c3349f
commit
007713c0ba
@ -159,14 +159,14 @@ gtk_css_matcher_widget_path_has_position (const GtkCssMatcher *matcher,
|
||||
}
|
||||
|
||||
static const GtkCssMatcherClass GTK_CSS_MATCHER_WIDGET_PATH = {
|
||||
GTK_CSS_MATCHER_TYPE_WIDGET_PATH,
|
||||
gtk_css_matcher_widget_path_get_parent,
|
||||
gtk_css_matcher_widget_path_get_previous,
|
||||
gtk_css_matcher_widget_path_get_state,
|
||||
gtk_css_matcher_widget_path_has_name,
|
||||
gtk_css_matcher_widget_path_has_class,
|
||||
gtk_css_matcher_widget_path_has_id,
|
||||
gtk_css_matcher_widget_path_has_position,
|
||||
FALSE
|
||||
gtk_css_matcher_widget_path_has_position
|
||||
};
|
||||
|
||||
gboolean
|
||||
@ -335,14 +335,14 @@ gtk_css_matcher_node_has_position (const GtkCssMatcher *matcher,
|
||||
}
|
||||
|
||||
static const GtkCssMatcherClass GTK_CSS_MATCHER_NODE = {
|
||||
GTK_CSS_MATCHER_TYPE_NODE,
|
||||
gtk_css_matcher_node_get_parent,
|
||||
gtk_css_matcher_node_get_previous,
|
||||
gtk_css_matcher_node_get_state,
|
||||
gtk_css_matcher_node_has_name,
|
||||
gtk_css_matcher_node_has_class,
|
||||
gtk_css_matcher_node_has_id,
|
||||
gtk_css_matcher_node_has_position,
|
||||
FALSE
|
||||
gtk_css_matcher_node_has_position
|
||||
};
|
||||
|
||||
void
|
||||
@ -430,14 +430,14 @@ gtk_css_matcher_any_has_position (const GtkCssMatcher *matcher,
|
||||
}
|
||||
|
||||
static const GtkCssMatcherClass GTK_CSS_MATCHER_ANY = {
|
||||
GTK_CSS_MATCHER_TYPE_ANY,
|
||||
gtk_css_matcher_any_get_parent,
|
||||
gtk_css_matcher_any_get_previous,
|
||||
gtk_css_matcher_any_get_state,
|
||||
gtk_css_matcher_any_has_name,
|
||||
gtk_css_matcher_any_has_class,
|
||||
gtk_css_matcher_any_has_id,
|
||||
gtk_css_matcher_any_has_position,
|
||||
TRUE
|
||||
gtk_css_matcher_any_has_position
|
||||
};
|
||||
|
||||
void
|
||||
@ -518,14 +518,14 @@ gtk_css_matcher_superset_has_position (const GtkCssMatcher *matcher,
|
||||
}
|
||||
|
||||
static const GtkCssMatcherClass GTK_CSS_MATCHER_SUPERSET = {
|
||||
GTK_CSS_MATCHER_TYPE_SUPERSET,
|
||||
gtk_css_matcher_superset_get_parent,
|
||||
gtk_css_matcher_superset_get_previous,
|
||||
gtk_css_matcher_superset_get_state,
|
||||
gtk_css_matcher_superset_has_name,
|
||||
gtk_css_matcher_superset_has_class,
|
||||
gtk_css_matcher_superset_has_id,
|
||||
gtk_css_matcher_superset_has_position,
|
||||
FALSE
|
||||
gtk_css_matcher_superset_has_position
|
||||
};
|
||||
|
||||
void
|
||||
|
@ -29,7 +29,15 @@ typedef struct _GtkCssMatcherSuperset GtkCssMatcherSuperset;
|
||||
typedef struct _GtkCssMatcherWidgetPath GtkCssMatcherWidgetPath;
|
||||
typedef struct _GtkCssMatcherClass GtkCssMatcherClass;
|
||||
|
||||
typedef enum {
|
||||
GTK_CSS_MATCHER_TYPE_NODE,
|
||||
GTK_CSS_MATCHER_TYPE_WIDGET_PATH,
|
||||
GTK_CSS_MATCHER_TYPE_ANY,
|
||||
GTK_CSS_MATCHER_TYPE_SUPERSET
|
||||
} GtkCssMatcherType;
|
||||
|
||||
struct _GtkCssMatcherClass {
|
||||
GtkCssMatcherType type;
|
||||
gboolean (* get_parent) (GtkCssMatcher *matcher,
|
||||
const GtkCssMatcher *child);
|
||||
gboolean (* get_previous) (GtkCssMatcher *matcher,
|
||||
@ -46,7 +54,6 @@ struct _GtkCssMatcherClass {
|
||||
gboolean forward,
|
||||
int a,
|
||||
int b);
|
||||
gboolean is_any;
|
||||
};
|
||||
|
||||
struct _GtkCssMatcherWidgetPath {
|
||||
@ -142,7 +149,7 @@ _gtk_css_matcher_has_position (const GtkCssMatcher *matcher,
|
||||
static inline gboolean
|
||||
_gtk_css_matcher_matches_any (const GtkCssMatcher *matcher)
|
||||
{
|
||||
return matcher->klass->is_any;
|
||||
return matcher->klass->type == GTK_CSS_MATCHER_TYPE_ANY;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user