summaryrefslogtreecommitdiff
path: root/gtk/gtkcssmatcherprivate.h
Commit message (Collapse)AuthorAgeFilesLines
* css: Get rid of GtkCssMatcherBenjamin Otte2020-01-281-131/+0
|
* Remove GtkWidgetPathBenjamin Otte2020-01-281-12/+0
| | | | ... and all associated demos and tests.
* Revert "cssmatcher: Inline node values into matcher"Benjamin Otte2020-01-281-5/+0
| | | | | | | This reverts commit a75529f3c00736856fa20f19e920614be5a48fbb. It just complicates code and there are no performance numbers that would warrant such a commit.
* Remove no longer needed codeMatthias Clasen2020-01-171-18/+1
| | | | We no longer use superset or any matchers to find changes.
* cssmatcher: Change get_state to has_stateMatthias Clasen2020-01-161-4/+6
| | | | | | | | This matches all the other vfuncs, and it gets us out of keeping several big state flag enumerations in sync. Update all callers.
* Allow printing css matchersMatthias Clasen2020-01-161-1/+6
| | | | This can help in debugging css matching.
* css: Add a matcher type enumMatthias Clasen2020-01-161-2/+9
| | | | | | For now, this just replaces the is_any boolean by a type field in the class. It will be used in future commits.
* css: Simplify the superset matcherMatthias Clasen2020-01-161-3/+1
| | | | | | | | We use the superset matcher in exactly one place, so there is no need for the generality of allowing to ignore different aspects. Just hardcode the one case we need: ignoring everything except for name, id and class.
* cssmatcher: Inline node values into matcherTimm Bäder2019-09-091-0/+5
| | | | So we don't have to go through the matcher->node->decl every time
* cssmatcher: Remove type argument from name matcherBenjamin Otte2016-02-051-5/+3
| | | | We no longer use types when matching names.
* cssmatcher: Remove matching API for regionsBenjamin Otte2015-10-221-19/+0
|
* cssmatcher: Marshal name to matcherBenjamin Otte2015-10-221-4/+6
| | | | | | | ... and use it in the node matcher. Also rename function from _gtk_css_matcher_get_type() to _gtk_css_matcher_get_name().
* cssnode: Add a matcher for nodesBenjamin Otte2015-03-181-0/+9
| | | | ... and use that matcher by default - ie for transient nodes.
* cssmatcher: Allow widget path matcher to take a node declarationBenjamin Otte2015-03-181-1/+3
| | | | | | | The node declaration has the same functionality as gtk_css_node_declaration_add_to_widget_path(). So instead of using that function on a path, you can use the original path and the declaration in a matcher.
* cssnode: Split out a functionBenjamin Otte2015-03-181-1/+0
| | | | | | So far the vfunc is kinda quirky (the path argument is an out argument for something you have to free when you're done with the matcher), but I'm about to change that.
* cssmatcher: Use widget path's stateBenjamin Otte2014-07-191-3/+1
| | | | | | | | Don't take a state when constructing the CSS matcher. Instead, rely on the newly introduced state in the widget path. This way, the state can be queried not only on the first element, but on all elements of the widget path.
* css: Speed up name matchingAlexander Larsson2012-12-101-5/+5
| | | | | | | | | We use the new g_type_get_type_registration_serial() so that we can cache and properly invalidate the result of g_type_from_name(). This bumps the glib requirement to 2.35.3 to get the new function. https://bugzilla.gnome.org/show_bug.cgi?id=689847
* css: Add _gtk_css_matcher_matches_any()Alexander Larsson2012-11-301-0/+7
| | | | | | | This returns true if the matcher matches *anything*. We need to check this later, because such matchers are dangerous in loops that iterate over all parents/siblings since such loops would not terminate.
* cssmatcher: Handle case of empty widget pathBenjamin Otte2012-05-011-2/+2
| | | | This is tested by the stylecontext test, but doesn't appear in practice.
* cssmatcher: Use quarks for classesBenjamin Otte2012-04-171-2/+2
|
* matcher: Add a superset matcherBenjamin Otte2012-04-171-0/+13
| | | | | | This matcher always matches only on some relvant things and ignores the rest. This allows you to match only on name and class, but ignore state and parents/siblings for example.
* matcher: Add a matcher that matches anythingBenjamin Otte2012-04-171-0/+1
| | | | | Lesson learned: Adwaita uses all possible selector types and all of those for parents, too. But so far no siblings.
* selector: Rewrite position trackingBenjamin Otte2012-04-171-10/+9
| | | | | | | | | We now track the position as a (type,a,b) tuple where the numbers make up the an + b formula from CSS3 nth-child. Also, the get_sibling() and get_sibling_index() vfuncs were replaced by a has_position() vfunc. This is mostly so that the matcher can always return TRUE. And I need that for the everything matcher.
* matcher: Turn GtkCssMatcher into a unionBenjamin Otte2012-04-171-2/+8
| | | | That way, we can add more matchers as we need them.
* matcher: Use a vtableBenjamin Otte2012-04-171-21/+94
| | | | Now we can do lots of fancy matchers, yay!
* css: Make the style provider take a matcher as an input argumentBenjamin Otte2012-04-171-2/+1
|
* css: Add GtkCssMatcherBenjamin Otte2012-04-171-0/+61
This is so we can later do matching with other things than GtkWidgetPath. In particular, this is a requirement for getting rid of GtkWidgetPath.