1772b00e85
GtkCssProvider: Transform custom colors to a @define-color rule.
...
Given there are other rules such as @import (which will be supported),
keep a sane namespace here, so for (re)defining a color name, in the CSS
file it will look like:
@define-color color-name #fff;
@define-color other-color mix (@color-name, #f00, 0.4);
2010-12-04 15:38:18 +01:00
5c2cf1e934
Plug some leaks.
2010-12-04 15:38:18 +01:00
5c8a818671
Fix typo in the Gtk9Slice parser.
2010-12-04 15:38:17 +01:00
20051e02eb
GtkCssProvider: use mapped file to read CSS files.
2010-12-04 15:38:16 +01:00
80cf01c271
GtkCssProvider: unset filename on load_from_data()
2010-12-04 15:38:16 +01:00
7ee564c7cd
GtkCssProvider: Add a parser for 9slice typed properties.
...
The value it parses is similar to the border-image CSS3 property,
so strings like this will be accepted:
border-image: url (foo.png) 4 3 4 3 repeat repeat;
the image path is relative to the parsed CSS file dirname if no
absolute path is provided.
2010-12-04 15:38:16 +01:00
679ff63d5c
GtkCssProvider: Add gtk_css_provider_get_named()
...
This functions loads a CSS file from a installed theme.
2010-12-04 15:38:15 +01:00
3fc5c87bcb
GtkCssProvider: Add a parser for gradients.
2010-12-04 15:38:12 +01:00
c908e263ac
GtkCssProvider: strip whitespaces in symbolic color values.
2010-12-04 15:38:11 +01:00
f12d7409cc
Allow linefeeds in property values.
2010-12-04 15:38:11 +01:00
58a51bca97
GtkStyle: Fill in x/ythickness and font_desc from the style context.
2010-12-04 15:38:11 +01:00
585afafa39
Add basic parser for GtkBorder properties.
...
Different units aren't supported, it takes 1 to 4 integers representing
pixel distances.
2010-12-04 15:38:10 +01:00
c9d626523d
Remove gtkalias from style context code.
2010-12-04 15:38:09 +01:00
9dfba95f09
GtkCssProvider: Add gtk_css_provider_load_from_path()
2010-12-04 15:38:09 +01:00
52baa7d51e
GtkCssProvider: Parse properties of type GtkAnimationDescription.
2010-12-04 15:37:38 +01:00
4781f94de2
Move all theming stack to use GtkStateFlags.
...
This support goes from the theming engines, which are able to retrieve
style for different combined states to the CSS provider, where several
state pseudo-classes may be specified, such as:
GtkButton:active:prelight {}
2010-12-04 15:37:37 +01:00
bccec3ef0c
GtkCssProvider: Use class for tooltips.
2010-12-04 15:37:36 +01:00
74697d91fe
GtkCssProvider: Parse and match class info.
2010-12-04 15:37:36 +01:00
a3637ec60d
s/child class/region/ everywhere.
...
"Child class" is an invented term anyway, and it conceptually defines
identifiable regions in widgets.
2010-12-04 15:37:35 +01:00
e04dfd4d6d
GtkThemingEngine: Add gtk_theming_engine_register_property().
...
This function may be used for custom property registration from
theming engines. The property names will have the
-${engine-type-name}-${prop-name} format, the parser has been
modified to allow properties with '-' as the first char.
2010-12-04 15:37:35 +01:00
355f0d69ab
GtkStyleSet: Allow custom parsers on registered properties.
2010-12-04 15:37:35 +01:00
99224c9eec
GtkCssProvider: Parse correctly widget types with a name.
...
There's now a distinction between:
GtkLabel#label-name: Label with name "label-name"
GtkWindow #label-name: Window containing a widget named "label-name"
2010-12-04 15:37:34 +01:00
56e4ffabea
Compare widget names as GQuarks in style matching.
2010-12-04 15:37:34 +01:00
09d8592b5b
GtkWidgetPath: Make API more consistent.
2010-12-04 15:37:34 +01:00
ad08330fae
Compare region names as quarks in style matching.
2010-12-04 15:37:34 +01:00
d47d3d0200
GtkCssProvider: Set child combinators in default CSS.
2010-12-04 15:37:34 +01:00
5f77ead9c6
GtkCssProvider: Parse and compare widget names.
2010-12-04 15:37:33 +01:00
52878c45b5
GtkCssProvider: Don't jump too eagerly to the next element when comparing selectors.
2010-12-04 15:37:33 +01:00
85dbc71921
GtkCssProvider: Immediately bail out if GType couldn't be resolved.
2010-12-04 15:37:33 +01:00
9ebbc7b5c5
GtkCssProvider: Small optimization.
2010-12-04 15:37:33 +01:00
c001833ed1
GtkCssProvider: don't ignore custom attributes
...
* gtk/gtkcssprovider.c: don't ignore custom attribites (which can be
added by theme engines)
2010-12-04 15:37:33 +01:00
85398fc05f
GtkCssProvider: Add gtk_css_provider_get_default().
...
This method returns a GtkCssProvider with the default style information
loaded.
2010-12-04 15:37:26 +01:00
0813a2283e
GtkCssProvider: Allow '_' in the middle of symbolic color names.
2010-12-04 15:37:22 +01:00
875237187c
GtkCssProvider: Add priv pointer to object struct.
2010-12-04 15:37:17 +01:00
be5d4adf6b
GtkCssProvider: Allow symbolic colors when parsing style rules.
2010-12-04 15:37:15 +01:00
1de8f75517
GtkCssProvider: Parse color mappings.
...
These are of the form:
@color-a: #fff;
@color-b: mix (@color-a, #000 , 0.5)
@color-c: shade (@color-b, 0.7)
In the stylesheet, arbitrary nesting of these commands is handled.
2010-12-04 15:37:15 +01:00
b50c88d170
GtkCssProvider: Plug memory leak.
2010-12-04 15:37:14 +01:00
2cd4ff4215
GtkCssProvider: Fix compile warning.
2010-12-04 15:37:14 +01:00
1d4687675f
GtkCssProvider: set scanner->input_name.
2010-12-04 15:37:13 +01:00
bf12227435
GtkCssProvider: Implement GtkStyleProvider->get_style_property
...
Style properties in the resource files are something like:
-GtkComboBox-appears-as-string
-GtkEntry-icon-prelight
Following the usual naming spec for extensions to CSS.
2010-12-04 15:37:13 +01:00
eaddc9f254
GtkCssProvider: refactor out selector matching.
2010-12-04 15:37:12 +01:00
eec75f1f59
GtkCssProvider: Ensure each scope has its parser config.
2010-12-04 15:37:12 +01:00
ff05cc4849
GtkCssProvider: Parse boolean values.
2010-12-04 15:37:12 +01:00
aa5ec97cac
GtkCssProvider: Make additions to parse_value() less error prone.
2010-12-04 15:37:11 +01:00
66d1cb8054
GtkStyleSet: Register GtkThemingEngine type.
...
This has been also hooked up to the CSS provider, which parses the "engine"
value to load the corresponding module.
2010-12-04 15:37:11 +01:00
6906138e45
GtkStyleSet: Remove default value for registered properties.
...
This should be handled at a higher level, a single default value for all
states isn't that useful...
2010-12-04 15:37:10 +01:00
e899fdd973
GtkCssProvider: Set default value if no state pseudo-class is specified.
2010-12-04 15:37:10 +01:00
67c4f8d02e
GtkCssProvider: Compare GtkWidgetPath regions with css.
2010-12-04 15:37:08 +01:00
977a972358
GtkCssProvider: fix parsing of consecutive pseudo-classes.
...
Now either of foo{}, foo:first-child{}, foo:nth-child(even):insensitive or
foo:active{} will be correctly parsed.
2010-12-04 15:37:08 +01:00
0be4659c5d
GtkCssProvider: move to next selector element on match or child combinator.
2010-12-04 15:37:08 +01:00