Benjamin Otte
bea4ee0a2c
css: Fix * selector to also match regions
...
Fixes css-match-region-matches-star.ui reftest.
2012-03-07 03:47:19 +01:00
Benjamin Otte
1d58bf4bef
selector: Add sibling seletors
...
"a + b" and "a ~ b" selectors now work, provided the widget supports
siblings.
2012-03-02 02:17:10 +01:00
Benjamin Otte
89a2dc4db8
selector: Pass the sibling id around all the time
...
The reason for this will become apparent with the followup patches.
2012-03-02 02:17:10 +01:00
Benjamin Otte
0a5b42c4fc
selector: Redo from list to array
...
Should save ~30% of memory
2012-03-02 02:17:09 +01:00
Benjamin Otte
ae1cd1b354
selector: Introduce gtk_css_selector_previous()
2012-03-02 02:17:09 +01:00
Benjamin Otte
35a0fb09ac
css: Rewrite selectors
...
Previously we kept a Selector object for every "simple selector" (term
from CSS spec). Now we keep one for every match operation. So given the
selector
".a b:focus"
we will have 4 elements:
- pseudoclass ":focus"
- element "b"
- match any desendant (the space)
- class ".a"
Each of those is represented by a "selector class" which is basically
the collection of vfuncs for this selector.
2012-03-02 02:17:09 +01:00
Benjamin Otte
eb013767bb
selector: Remove a misleading error message
...
Duplicate selectors are indeed fine and shouldn't cause errors.
You want to use them to up specificity.
2012-03-02 02:17:09 +01:00
Benjamin Otte
67d0b8195d
css: Move selector parsing code into a custom function
2012-03-02 02:17:09 +01:00
Javier Jardón
9d0febc9a6
Change FSF Address
2012-02-27 17:06:11 +00:00
Rui Matos
e9adaabc5e
Rename 'window-unfocused' to 'backdrop'
...
'window-unfocused' is too long and mentions "focus" which is historically
loaded with the meaning "input focus".
'backdrop' isn't generally used in GUI speak and still conveys the state the
widgets in an unfocused or background toplevel window are in.
2012-01-09 18:38:00 +01:00
Benjamin Otte
a6ac53e2a9
css: Change prototype of _gtk_css_selector_matches()
...
Passing the length of the widget path that is relevant is not necessary
anymore, it was only useful for inheritance. Instead, we now pass the
state flags and let the selector do the state matching for us.
2012-01-09 18:37:50 +01:00
Rui Matos
70f87b8bd5
gtk: Add a GTK_STATE_FLAG_WINDOW_UNFOCUSED widget state flag
...
This allows themes to style widgets differently according to whether the
toplevel window they are in is presented as focused.
https://bugzilla.gnome.org/show_bug.cgi?id=661428
2011-11-08 19:33:22 +00:00
Cosimo Cecchi
1f2cfb5619
all: add an 'only-child' pseudo-class selector
...
Add an :only-child pseudo-class selector, which selects single children
of a parent container.
https://bugzilla.gnome.org/show_bug.cgi?id=660833
2011-10-04 11:47:47 -04:00
Benjamin Otte
0d69d9558e
css: Match pseudo-classes for siblings
2011-06-02 02:03:51 +02:00
Benjamin Otte
d1a8d73871
css: Constify path argument to _css_selector_matches()
...
It should have been const all the time, but I assumed widgetpath code
wasn't properly const. PEBKAC.
2011-05-27 16:11:09 +02:00
Benjamin Otte
d6f0042773
css: Make _gtk_css_selector_matches() take a path length
...
This will be necessary when handling inherit.
2011-05-18 22:17:57 +02:00
Benjamin Otte
d3c60cc89c
css: Don't query type for regions
...
Regions are regions and don't match by type.
2011-05-18 22:17:57 +02:00
Benjamin Otte
fc88b0f47c
css: Rewrite selectors
...
Selectors now go into their own C file. The new selectors are modeled a
lot closer to the CSS spec. In particular the specificity computation
matches CSS 2.1 exactly.
For details about the why, see also:
http://mail.gnome.org/archives/gtk-devel-list/2011-May/msg00061.html
https://bugzilla.gnome.org/show_bug.cgi?id=649798
2011-05-18 22:17:55 +02:00