Commit Graph

12771 Commits

Author SHA1 Message Date
Carlos Garnacho
b0c87faa50 Add GtkModifierStyle as a private object
This object backs up gtk_widget_override_* operations. This object
is not meant to be public because any intention to modify widgets'
style in a themeable way should involve using regions/classes, so
they're modifiable through CSS. As such, the API is really
short-scoped.
2010-12-04 15:39:54 +01:00
Carlos Garnacho
0d2d60cf8a Gtk9Slice: Fix stretch rendering.
"Nearest" filter used when scaling the image, so image borders
aren't blurred.
2010-12-04 15:39:54 +01:00
Carlos Garnacho
afeac82fbd GtkThemingEngine: Add gtk_theming_engine_lookup_color()
It could also be handy for theme engines...
2010-12-04 15:39:53 +01:00
Carlos Garnacho
066f35bf28 Parse user CSS from $XDG_CONFIG_HOME/gtk-3.0/gtk.css 2010-12-04 15:39:53 +01:00
Carlos Garnacho
9bdb7e6945 GtkThemingEngine: Remove unused variables 2010-12-04 15:39:53 +01:00
Carlos Garnacho
901af8fec8 Fix compiler warnings. 2010-12-04 15:39:52 +01:00
Carlos Garnacho
cf0bd12e6c GtkStyleProperties: Turn border-width into a GtkBorder property.
All current users of this CSS property have been updated to deal
with a GtkBorder.

Also a 0 border width has been set in the default CSS to ensure
GtkStyleContext and GtkThemingEngine always provide a non-NULL
pointer for this property.
2010-12-04 15:39:52 +01:00
Carlos Garnacho
f7e7201f11 Fix docs typo. 2010-12-04 15:39:51 +01:00
Carlos Garnacho
daab45565a GtkCssProvider: Fix up state matching when looking up style properties. 2010-12-04 15:39:51 +01:00
Carlos Garnacho
297fa7a3dd GtkStyleProvider: Add GtkStateFlags parameter to get_style_property().
Widget style properties can now have different values depending on the
current state.
2010-12-04 15:39:51 +01:00
Carlos Garnacho
2ca905db5e GtkStyleContext: Handle directionality when picking next provider. 2010-12-04 15:39:50 +01:00
Carlos Garnacho
46de2130d3 GtkWidget: unset NULL properties when overriding style. 2010-12-04 15:39:50 +01:00
Carlos Garnacho
64b7d9e5c1 GtkThemingEngine: Render gradients in tabs.
Background will be actually rotated in tabs, so the "bottom" side coincides
with the junction point, this makes gradients work as expected in rotated tabs.
2010-12-04 15:39:50 +01:00
Carlos Garnacho
32c2b13969 GtkThemingEngine: split background rendering to a private function. 2010-12-04 15:39:50 +01:00
Carlos Garnacho
4c1a2426d4 GtkStyle: Commit a few typos when translating states. 2010-12-04 15:39:49 +01:00
Carlos Garcia Campos
4aaf193602 docs: gtk_style_context_get_screen() always returns a valid screen 2010-12-04 15:39:49 +01:00
Carlos Garcia Campos
7a5a622998 Check screen really changed before notifying it and invalidating the context 2010-12-04 15:39:49 +01:00
Carlos Garcia Campos
7abf76fbc1 Initialize screen of GtkStyleContext to default screen 2010-12-04 15:39:48 +01:00
Matthias Clasen
587c08a151 Add explanation to failing test 2010-12-04 15:39:48 +01:00
Matthias Clasen
12d6b5889d Add a testcase a problem with style property handling 2010-12-04 15:39:48 +01:00
Matthias Clasen
f86e8f7512 Allow images for background-image
In addition to -gtk-gradient(...), allow url(path), and create
a pattern from the image. Still to do: allow stretch/repeat options.
2010-12-04 15:39:48 +01:00
Matthias Clasen
ca143b1303 Add list of classes and regions to the docs 2010-12-04 15:39:48 +01:00
Matthias Clasen
897c370f5f Avoid compiler warnings 2010-12-04 15:39:47 +01:00
Matthias Clasen
5adfe6029d Don't add class "scrollbar" for every trough
Turns out "trough" as a detail string is used in a variety
of widgets, not all of which are scrollbars.
2010-12-04 15:39:47 +01:00
Matthias Clasen
2578f4f4c3 Trivial doc fixes 2010-12-04 15:39:47 +01:00
Matthias Clasen
e598f17871 Some header cleanups
Move GtkGradient to their own files, also move GtkBorder out of
gtkstyle.h, so that header can be all deprecated.
2010-12-04 15:39:47 +01:00
Matthias Clasen
1915a19503 Add deprecation notes 2010-12-04 15:39:46 +01:00
Matthias Clasen
f8a874abb1 Initial attempt at deprecating GtkStyle api
This will probably need some finetuning.
2010-12-04 15:39:46 +01:00
Matthias Clasen
bbca96044e Fix memory handling when dealing with colors 2010-12-04 15:39:45 +01:00
Matthias Clasen
53c2114356 Deprecate gtk_icon_info_load_symbolic_for_style
We might end removing it altogether since it is a bit silly to have
Since: 3.0
Deprecated: 3.0
2010-12-04 15:39:45 +01:00
Carlos Garnacho
e9ef162d4c GtkSpinner: Use style context for rendering.
Animation is now handled by the theming layer, a looping animation
has been defined in the default CSS to handle active spinners.
2010-12-04 15:39:45 +01:00
Carlos Garnacho
3d956b10ee GtkStyleContext: handle prelight transitions 2010-12-04 15:39:44 +01:00
Carlos Garnacho
c90bee16ba GtkThemingEngine: Handle prelight transitions in render_layout() 2010-12-04 15:39:44 +01:00
Carlos Garnacho
e696c24f08 GtkThemingEngine: Also render topright and bottomleft corners if junction sides say so 2010-12-04 15:39:44 +01:00
Carlos Garnacho
11004ef61d Initialize all looping, active state transitions on map()
This allows widgets to gtk_widget_set_state_flags() before mapping
and have animations started anyway when this happens.
2010-12-04 15:39:44 +01:00
Carlos Garnacho
4027dceaa9 Add #define for the "spinner" style class 2010-12-04 15:39:44 +01:00
Carlos Garnacho
62e9188ff3 GtkStyleContext: store layout extents for animation purposes. 2010-12-04 15:39:43 +01:00
Carlos Garnacho
818aca5aee GtkStyleContext: Only allow looping transitions for states being turned on. 2010-12-04 15:39:43 +01:00
Carlos Garnacho
ad6da0cdb8 GtkStyleContext: Stop animations if the window is gone. 2010-12-04 15:39:43 +01:00
Carlos Garnacho
cc18d65986 GtkThemingEngine: render square corner if the gap is too close on render_frame_gap() 2010-12-04 15:39:43 +01:00
Matthias Clasen
f0eed4a5b1 Use gtk_icon_info_load_symbolic_for_context
gtk_icon_info_load_symbolic_for_style is going to be deprecated.
2010-12-04 15:39:43 +01:00
Matthias Clasen
f90881271f Add a GtkStyleContext-variant of symbolic icon loading 2010-12-04 15:39:42 +01:00
Matthias Clasen
0f98b15090 Add illustration to gtk_render_handle docs 2010-12-04 15:39:42 +01:00
Matthias Clasen
3ddee2561b Small doc addition 2010-12-04 15:39:42 +01:00
Matthias Clasen
d1f1af202b Add a frame-gap illustration 2010-12-04 15:39:42 +01:00
Matthias Clasen
1391a61bc5 Improve frame-gap drawing
Instead of overdrawing the gap with bg-color, clip it away.
2010-12-04 15:39:42 +01:00
Matthias Clasen
54eadfcefd Fix another parameter mismatch 2010-12-04 15:39:42 +01:00
Matthias Clasen
b51c0f826a fix parameter name mismatch 2010-12-04 15:39:41 +01:00
Carlos Garnacho
9c0ef02ea5 GtkButton: Remove unneeded gtk_style_context_notify_state_change() calls
There is now code to handle this for one-item widgets (such as GtkButton)
in gtk_widget_set_state_flags()
2010-12-04 15:39:41 +01:00
Carlos Garnacho
2f0b5d8a9d GtkCheckButton: Look active when the pointer button is pressed and hovering 2010-12-04 15:39:41 +01:00
Carlos Garnacho
037c982824 GtkStyleContext: Handle empty areas when coalescing invalidation regions. 2010-12-04 15:39:41 +01:00
Carlos Garnacho
2fb9687f55 GtkToggleButton: Make it able to be prelight and active at the same time. 2010-12-04 15:39:40 +01:00
Carlos Garnacho
1d5a6b687e GtkComboBox: Use style context for rendering 2010-12-04 15:39:40 +01:00
Carlos Garnacho
c6b2e47931 Let gtk_widget_get_path() correct early calls during init(). 2010-12-04 15:39:40 +01:00
Carlos Garnacho
ebd8463007 GtkCssProvider: Handle unfocused label selections in default CSS. 2010-12-04 15:39:40 +01:00
Carlos Garnacho
90dd2eb42b GtkLabel: Use style context for rendering. 2010-12-04 15:39:40 +01:00
Carlos Garnacho
0fce9342ef GtkThemingEngine: Draw 3D-like effects on square frames with lines. 2010-12-04 15:39:40 +01:00
Carlos Garnacho
3138cc7677 GtkThemingEngine: Render rounded frames with light/shadow connections at 45° 2010-12-04 15:39:39 +01:00
Carlos Garnacho
95ae1a0aa6 GtkThemingEngine: don't overshoot when rendering frames. 2010-12-04 15:39:39 +01:00
Carlos Garnacho
e47c8e2490 GtkStyle: Return the default icon set if no context is attached. 2010-12-04 15:39:39 +01:00
Carlos Garnacho
5d496aa7f3 GtkStyle: Do not warn if attach count == 0
This is going go happen more and more often now, as realize handlers start
removing the gtk_widget_style_attach() calls.
2010-12-04 15:39:39 +01:00
Carlos Garnacho
6bf04fbd94 GtkCssProvider: Add a default border color for insensitive elements. 2010-12-04 15:39:39 +01:00
Matthias Clasen
e57e0e978d Illustrate extension rendering 2010-12-04 15:39:39 +01:00
Matthias Clasen
8589c5c65e Add slider illustration 2010-12-04 15:39:38 +01:00
Matthias Clasen
7e96a51953 Add examples for frame rendering 2010-12-04 15:39:38 +01:00
Matthias Clasen
4c04d944e8 Atempt to fix stretched 9slice rendering 2010-12-04 15:39:38 +01:00
Matthias Clasen
30fe448750 Fix handling of junctions in frame drawing code 2010-12-04 15:39:38 +01:00
Matthias Clasen
e522381183 Add a background example to the docs 2010-12-04 15:39:38 +01:00
Matthias Clasen
d532c0e5c2 Test some wilder names for classes, etc 2010-12-04 15:39:37 +01:00
Matthias Clasen
391e445d11 Allow digits in selectors and values, where appropriate 2010-12-04 15:39:37 +01:00
Matthias Clasen
f13f315312 Some more images for gtk_render docs 2010-12-04 15:39:37 +01:00
Matthias Clasen
d4c70f214d Declare transition and border-image properties to be writeonly
We don't make the types of their values public, so getting their
values is useless and will leak.
2010-12-04 15:39:37 +01:00
Matthias Clasen
a5e10e9b26 Improve some gtk_render_ docs
With pictures !!
2010-12-04 15:39:36 +01:00
Matthias Clasen
d7a0fe5bf1 Document predefined style provider priorites
Also, rename GTK_STYLE_PROVIDER_PRIORITY_DEFAULT to _THEME and
use it for themes.
2010-12-04 15:39:35 +01:00
Matthias Clasen
a260059c7f Fix doc formatting 2010-12-04 15:39:35 +01:00
Matthias Clasen
d9b0da5b83 Fix resize grip drawing
There was some confusion about junctions...
2010-12-04 15:39:34 +01:00
Matthias Clasen
be0ed14cce Fix GtkRadioButton drawing 2010-12-04 15:39:34 +01:00
Matthias Clasen
fc10599ac8 Make unfocused selections visible in entries 2010-12-04 15:39:33 +01:00
Matthias Clasen
21a193ad02 Make expanders prelight 2010-12-04 15:39:33 +01:00
Matthias Clasen
8b6112b6e0 Rewrite GtkInfoBar color handling to bypass GtkStyle
This avoids a segfault that was happening due to the recursion
detection not working anymore with the old way of doing things.
2010-12-04 15:39:33 +01:00
Carlos Garnacho
d63615d9cc GtkCssProvider: Render inconsistent toggle buttons differently. 2010-12-04 15:39:32 +01:00
Carlos Garnacho
9b2f878b06 GtkCssProvider: do not use selected fg/bg in sliders or spinbutton buttons. 2010-12-04 15:39:32 +01:00
Carlos Garnacho
bcf1ee4825 GtkCssProvider: Use 1px border width for spinbutton buttons. 2010-12-04 15:39:32 +01:00
Carlos Garnacho
74b032b816 GtkCssProvider: Render radio and check boxes framess in menus. 2010-12-04 15:39:32 +01:00
Carlos Garnacho
b33d48a802 GtkCssProvider: use selected fg/bg for selected menu items in CSS. 2010-12-04 15:39:31 +01:00
Carlos Garnacho
85aa672ff7 GtkCssProvider: Draw frame around menubars and toolbars in default CSS. 2010-12-04 15:39:31 +01:00
Matthias Clasen
fea567bb9f More documentation reshuffling 2010-12-04 15:39:31 +01:00
Matthias Clasen
ace967a042 Tweak wording 2010-12-04 15:39:30 +01:00
Matthias Clasen
3a7f79e814 Document border images better 2010-12-04 15:39:30 +01:00
Matthias Clasen
953ac51fb8 Make url parsing work for slices
The border-image parsing code relies on parse_path_str to return
a meaningful end_ptr in case of success, too.
2010-12-04 15:39:29 +01:00
Matthias Clasen
28e549082c Fix Gtk9Slice creation 2010-12-04 15:39:29 +01:00
Matthias Clasen
69254c552a Allow / in values
Otherwise, using url(path) on the right-hand side of properties
is not going to work.
2010-12-04 15:39:28 +01:00
Matthias Clasen
7d6fb7b7e7 Add some images to the docs
Add graphs for the transition functions and gradient examples.
2010-12-04 15:39:28 +01:00
Matthias Clasen
b2d338d370 GtkWidgetPath documentation tweaks 2010-12-04 15:39:27 +01:00
Matthias Clasen
077270142f GtkStyleContext documentation tweaks 2010-12-04 15:39:27 +01:00
Matthias Clasen
bcf3de095f Document various style-related enums 2010-12-04 15:39:26 +01:00
Carlos Garnacho
11480c57f0 GtkStyleContext: Use correct type for animation duration. 2010-12-04 15:39:26 +01:00
Carlos Garnacho
32ccac94e0 GtkAnimationDescription: parse "loop" correctly.
This sscanf parsing needs to go...
2010-12-04 15:39:25 +01:00
Carlos Garnacho
0c1cfd8a34 GtkStyle: handle scales when translating the detail string. 2010-12-04 15:39:24 +01:00
Carlos Garnacho
71f187a84f GtkCssProvider: Handle progressbars. 2010-12-04 15:39:24 +01:00
Carlos Garnacho
f3445a2430 GtkCssProvider: Do not have border-color the same than active bg-color. 2010-12-04 15:39:24 +01:00
Carlos Garnacho
171157b0e4 GtkMenu: Use GtkStyleContext for rendering. 2010-12-04 15:39:23 +01:00
Carlos Garnacho
6fff76568c GtkMenuBar: Use GtkStyleContext for rendering. 2010-12-04 15:39:23 +01:00
Carlos Garnacho
0df9c70200 Use gtk_render_activity() when rendering progressbars through GtkStyle 2010-12-04 15:39:23 +01:00
Carlos Garnacho
ee37847952 GtkCssProvider: Use default value when handling "none".
This way the default value has a way to override other values in previous
GtkStyleProviders when merged.
2010-12-04 15:39:22 +01:00
Matthias Clasen
5e26fb75a0 Add GtkStyleProperties to the docs 2010-12-04 15:39:22 +01:00
Matthias Clasen
e2f91f7201 Documentation improvements
This patch adds more detail to the explanation of CSS, and also
adds documentation about which files are read.

We also make :focus an alternative to :focused (since :focus is
a standard CSS pseudo-class).
2010-12-04 15:39:22 +01:00
Carlos Garnacho
9567ed01e8 GtkCssProvider: Base prelight foreground on bg color.
Entries are also handled, so base/text colors are used.
2010-12-04 15:39:21 +01:00
Carlos Garnacho
de94d04fea GtkCssProvider: Make prelight a bit less light in default CSS. 2010-12-04 15:39:21 +01:00
Carlos Garnacho
bc3c9ce619 GtkStyle: Fix typo.
GtkStateType was being used in gtk_style_context_get(), instead of
GtkStateFlags, oops.
2010-12-04 15:39:20 +01:00
Carlos Garnacho
ead23cd0ce GtkThemingEngine: Make render_option() depend on border-style and border-color. 2010-12-04 15:39:20 +01:00
Carlos Garnacho
be4a616e6e GtkRadioButton: Use GtkStyleContext for rendering. 2010-12-04 15:39:20 +01:00
Carlos Garnacho
756e20f58c Make "button" class depend on mode for GtkToggleButtons 2010-12-04 15:39:20 +01:00
Carlos Garnacho
84d586043e Fix checkbuttons theming in CSS so it's more similar to 2.x 2010-12-04 15:39:19 +01:00
Carlos Garnacho
7478a77b04 GtkCheckButton: Use GtkStyleContext for rendering. 2010-12-04 15:39:19 +01:00
Carlos Garnacho
04783534ed GtkThemingEngine: Make render_check() depend on border-style and border-color. 2010-12-04 15:39:19 +01:00
Carlos Garnacho
f62583d30c GtkContainer: Also copy permanent container's classes on get_path_for_child()
This makes inheritance work for the simplest cases when style is defined
for classes.
2010-12-04 15:39:18 +01:00
Carlos Garnacho
6d1cf76822 GtkWidgetPath: Make iter API deal with gints.
now gtk_widget_path_iter_* takes gints instead of guints, and also accept
numbers == -1 or > path_length for the path head.
2010-12-04 15:39:18 +01:00
Carlos Garnacho
5f88997297 GtkWidgetPath: Make gtk_widget_path_prepend_type() return nothing.
It's senseless to always return 0
2010-12-04 15:39:18 +01:00
Carlos Garnacho
198bb314c7 GtkStyleContext: preserve state on save(). 2010-12-04 15:39:18 +01:00
Carlos Garnacho
1bfb169ce6 GtkThemingEngine: Documents that engines must only use this API.
It was a bit unclear in the documentation, even if it was from the
API POV.
2010-12-04 15:39:18 +01:00
Matthias Clasen
c5b38121ec Add tests for matching
These tests try to decipher how specificity works for selectors.
2010-12-04 15:39:17 +01:00
Matthias Clasen
e1819055b9 Copy GtkWidgetPaths correctly
The code was forgetting to copy class information.
2010-12-04 15:39:17 +01:00
Matthias Clasen
49fed3d7d7 More css parsing tests 2010-12-04 15:39:17 +01:00
Matthias Clasen
4135fbf4d6 A little closer to css
Declarations are ;-separated, but there is no ; required after
the last declaration. We harmlessly accept either.
2010-12-04 15:39:17 +01:00
Matthias Clasen
933440e1f1 Some css parsing tests 2010-12-04 15:39:16 +01:00
Matthias Clasen
0396550ece Work harder at parsing import statements
Also, turn g_warning() into g_message() for now, so that tests
don't abort. Eventually, this needs to all go into GErrors.
2010-12-04 15:39:16 +01:00
Matthias Clasen
11cd19987b Move import syntax closer to css
Css allows @import url ("foo.css") or @import "foo.css" or
@import url ('foo.css') but not @import url(foo.css) or @immport foo.css.
2010-12-04 15:39:16 +01:00
Matthias Clasen
f92c352f96 Some error reporting
When we take a GError argument, better use it.
2010-12-04 15:39:16 +01:00
Matthias Clasen
5f13b65065 Fix prototype of gtk_css_style_provider_load_from_data
GError arguments must be **.
2010-12-04 15:39:16 +01:00
Matthias Clasen
72f9a7940f Add an outline around menu popups 2010-12-04 15:39:15 +01:00
Matthias Clasen
c8e5d3b07b Transform the 'menu' detail string to the 'popup' class 2010-12-04 15:39:15 +01:00
Matthias Clasen
016a656923 Fix prelighting of inconsistent radio and check buttons 2010-12-04 15:39:15 +01:00
Matthias Clasen
b6776dc116 Fix the resize handle drawing 2010-12-04 15:39:15 +01:00
Matthias Clasen
627b33265b Handle float and uint style properties
These were giving errors in testgtk.
2010-12-04 15:39:15 +01:00
Matthias Clasen
f0eafe60f8 Remove debug output 2010-12-04 15:39:14 +01:00
Matthias Clasen
4e778d7371 Fix a typo 2010-12-04 15:39:14 +01:00
Matthias Clasen
512bc44dbc Make frames visible by default 2010-12-04 15:39:14 +01:00
Matthias Clasen
9ca66efe2c Fix a memory leak 2010-12-04 15:39:14 +01:00
Matthias Clasen
69f91fed94 Translate detail strings for radio buttons 2010-12-04 15:39:14 +01:00
Carlos Garnacho
25b6945971 GtkThemingEngine: remove unused code 2010-12-04 15:39:13 +01:00
Carlos Garnacho
892fe46324 Fix compile warnings 2010-12-04 15:39:13 +01:00
Carlos Garnacho
c9dc09e980 GtkStyleProvider: Pass a GParamSpec in get_style_property().
This is so we can know the owner type of the property, and matching
with the stored strings in GtkCssProvider is direct.
2010-12-04 15:39:13 +01:00
Carlos Garnacho
b613f1f1f2 GtkStyleContext: Also use screen providers for widget style properties. 2010-12-04 15:39:13 +01:00
Carlos Garnacho
13e186bbca Handle menuitem detail string better. 2010-12-04 15:39:13 +01:00
Carlos Garnacho
9a2d1e5433 GtkSettings: install theme CSS with a lower priority.
This is so GtkSettings has an opportunity to modify theme colors.
2010-12-04 15:39:12 +01:00
Carlos Garnacho
0057aa5445 Add corners to GtkJunctionSides, defining sides as 2 corners. 2010-12-04 15:39:12 +01:00
Matthias Clasen
eb8a1c4e33 Don't whine about expander-style missing
This check was lost in the GtkStyleContext porting.
2010-12-04 15:39:12 +01:00
Carlos Garnacho
43cff6f6f7 GtkCssProvider: theme notebooks. 2010-12-04 15:39:11 +01:00
Carlos Garnacho
6099399fa7 GtkThemingEngine: Use border settings on render_extension/frame_gap() 2010-12-04 15:39:11 +01:00
Carlos Garnacho
60a2e90df7 GtkStyle: transform tabs' detail string. 2010-12-04 15:39:10 +01:00
Carlos Garnacho
534942d994 GtkThemingEngine: Do not use possible reserved word. 2010-12-04 15:39:10 +01:00
Carlos Garnacho
d4aade109f Fix gtk_css_provider_get_named() docs. 2010-12-04 15:39:09 +01:00
Carlos Garnacho
c37797a10c GtkSettings: Keep right refcount of the theme provider. 2010-12-04 15:39:08 +01:00
Carlos Garnacho
611cb007b4 GtkSettings: Ensure the theme CSS is loaded on startup. 2010-12-04 15:39:08 +01:00
Carlos Garnacho
8243c3c025 GtkCssProvider: Fix typo in gtk_css_provider_get_named()
provider was being redefined in the inner block, so the loaded
provider didn't get to be returned.
2010-12-04 15:39:08 +01:00
Carlos Garnacho
a185954d7c Hardcode 3.0 version for style files and paths.
It's about time to start using the right paths.
2010-12-04 15:39:07 +01:00
Carlos Garnacho
9ffaf1122d GtkCssProvider: Accept '%' in value strings. 2010-12-04 15:39:06 +01:00
Carlos Garnacho
64e798e190 Do not initialize RC subsystem. 2010-12-04 15:39:06 +01:00
Carlos Garnacho
62ee0956e3 GtkStyleProperties: Use GParamSpec for properties registration. 2010-12-04 15:39:06 +01:00
Carlos Garnacho
1c847d9c21 GtkCssProvider: Docs fix for -gtk-gradient() syntax. 2010-12-04 15:39:06 +01:00
Carlos Garnacho
bcf81a0e23 Handle looping transition animations. 2010-12-04 15:39:05 +01:00
Carlos Garnacho
1123159dc9 GtkCssProvider: Handle better wrong enum/flag values. 2010-12-04 15:39:05 +01:00
Carlos Garnacho
9bb96e271d GtkCssProviders: Parse GTypeFlags based values. 2010-12-04 15:39:05 +01:00
Carlos Garnacho
5cb6fed0bd GtkCssProvider: Add initial unit parsing logic
At the moment only "px" are supported, and such is the default
value when no unit is specified.
2010-12-04 15:39:05 +01:00
Carlos Garnacho
65abcb722e GtkCssProvider: Handle the "none" keyword to unset properties. 2010-12-04 15:39:05 +01:00
Carlos Garnacho
c57fdf4c75 GtkStyleContext: Resolve symbolic colors for widget style properties. 2010-12-04 15:39:04 +01:00
Carlos Garnacho
d865cf4b38 GtkStyleProperties: Handle GdkColor types.
Just in case.
2010-12-04 15:39:04 +01:00
Carlos Garnacho
8b9b9c22e7 GtkCssProvider: Also parse GdkColor values
This is necessary for widget style properties to work.
2010-12-04 15:39:04 +01:00
Carlos Garnacho
815e3499ae GtkCssProvider: Add lighter/darker color functions.
These behave the same than in GtkStyle.
2010-12-04 15:39:04 +01:00
Carlos Garnacho
cb2f9a86e5 GtkCssProvider: allow color names from rgb.txt when parsing colors. 2010-12-04 15:39:03 +01:00
Carlos Garnacho
44b1a6c852 GtkStyleContext: Add #define's for the default properties. 2010-12-04 15:39:03 +01:00
Carlos Garnacho
1be9d6ebc9 Document missing GtkStateType values.
The documentation has also moved to gtkenums.h.
2010-12-04 15:39:02 +01:00
Carlos Garnacho
1487b34679 Remove GTK_STATE_LAST.
It didn't turn out to be that useful, nor widely used.
2010-12-04 15:38:56 +01:00
Carlos Garnacho
1fb6cc8d77 Use the correct cairo-gobject.h include path. 2010-12-04 15:38:56 +01:00
Carlos Garnacho
fb97bd1f0a GtkThemingEngine: Document missing class vmethods. 2010-12-04 15:38:55 +01:00
Carlos Garnacho
4689b63739 GtkButton: Use GtkStyleContext for rendering. 2010-12-04 15:38:55 +01:00
Carlos Garnacho
dc2df7d178 GtkWindow: Use GtkStyleContext for rendering. 2010-12-04 15:38:55 +01:00
Carlos Garnacho
3f12fc2bd8 GtkStyleContext: Add gtk_style_context_set_background().
This function replaces gtk_style_set_background().
2010-12-04 15:38:54 +01:00
Carlos Garnacho
d9664021cc GtkWidget: Update pango context from style context's font description. 2010-12-04 15:38:49 +01:00
Carlos Garnacho
1cfeeadc70 GtkWidget: Ensure the style context always has an screen.
Things like font settings depend on the screen, and widgets
like GtkTextView trigger queries on widgets without screen
when the parent window is being destroyed.
2010-12-04 15:38:48 +01:00
Carlos Garnacho
48f239c1f2 Add CSS class defines for toolbars and docks. 2010-12-04 15:38:48 +01:00
Carlos Garnacho
99879d4a5f GtkStyle: translate a few more detail strings. 2010-12-04 15:38:48 +01:00
Carlos Garnacho
3848a58b17 GtkCssProvider: theme progressbars in default CSS. 2010-12-04 15:38:48 +01:00
Carlos Garnacho
0431239ead GtkThemingEngine: ensure 1px wide frames aren't painted between pixels. 2010-12-04 15:38:48 +01:00
Carlos Garnacho
f66275fa6a GtkThemingEngine: Use square cap for solid frames. 2010-12-04 15:38:47 +01:00
Carlos Garnacho
3d1403e684 GtkThemingEngine: ensure that background isn't rendered past the frame boundaries. 2010-12-04 15:38:47 +01:00
Carlos Garnacho
d6ba3b7d89 GtkThemingEngine: Get rid of obsolete code for tooltips. 2010-12-04 15:38:47 +01:00
Carlos Garnacho
661a13fe4d GtkStyleContext: Fix check for GtkIconSize in render_icon_pixbuf(). 2010-12-04 15:38:46 +01:00
Carlos Garnacho
405f2f306a GtkStyleContext: restore widget state too in restore(). 2010-12-04 15:38:45 +01:00
Carlos Garnacho
8b267a58da GtkCssProvider: Do not miss the last class name in concatenated classes.
Selectors like .menu.check or .entry.progressbar were being misparsed
and attributed to .menu and .entry.
2010-12-04 15:38:45 +01:00
Carlos Garnacho
d321713704 GtkStyle: transform window background detail string. 2010-12-04 15:38:44 +01:00
Carlos Garnacho
1ec47b20db GtkStyle: Transform menubar detail string. 2010-12-04 15:38:43 +01:00
Carlos Garnacho
46b8cc8686 GtkStyle: Transform menu accelerators string 2010-12-04 15:38:42 +01:00
Carlos Garnacho
4c898a3c7e GtkStyleContext: Define some more class names. 2010-12-04 15:38:42 +01:00
Carlos Garnacho
912ad78cc5 Remove GTK_REGION_DEFAULT
GTK_STYLE_CLASS_DEFAULT is preferred to match a default area, as
it doesn't make sense to have a per-region default.
2010-12-04 15:38:41 +01:00
Carlos Garnacho
271145645c GtkThemingEngine: Use GtkSymbolicColor for shades. 2010-12-04 15:38:41 +01:00
Carlos Garnacho
df95a74a27 GtkThemingEngine: Do not require a default value when registering properties
NULL should work for 0 for int/double/enum/... types and NULL for
pointer types, this should be sane enough to not require a default
value.
2010-12-04 15:38:40 +01:00
Carlos Garnacho
765f653df6 GtkSymbolicColor: Only require styleproperties when resolving named colors.
It is not necessary for resolving colors based on literals,
so be a bit less strict here.
2010-12-04 15:38:40 +01:00
Carlos Garnacho
525963d74d GtkSymbolicColor: convert to/from hls when shading.
This makes shading equal to GtkStyle's.
2010-12-04 15:38:39 +01:00
Carlos Garnacho
3ea9568c20 GtkSymbolicColor: Do not clamp shade/mix/alpha factors. 2010-12-04 15:38:39 +01:00
Carlos Garnacho
a23863211b GtkStyleContext: Add gtk_render_icon_pixbuf()
This function is similar to gtk_style_render_icon(), which is now
implemented on top of this one.
2010-12-04 15:38:38 +01:00
Carlos Garnacho
06c8857191 GtkThemingEngine: Fix compile warning. 2010-12-04 15:38:38 +01:00
Carlos Garnacho
605fa03248 Fix compile warning 2010-12-04 15:38:37 +01:00
Carlos Garnacho
f2c6c82ff0 GtkStatusIcon: update to use gtk_widget_override_symbolic_color(). 2010-12-04 15:38:37 +01:00
Carlos Garnacho
f383e6b0a2 GtkWidget: Add new set of methods to override style information.
gtk_widget_override_*() deprecates gtk_widget_modify_*(). There are
only functions to modify fg/bg/font/symbolic color, If anything more
fancy/complex is needed. There is the possibility of adding a
GtkStyleProvider yourself.
2010-12-04 15:38:36 +01:00
Carlos Garnacho
920637abef GtkStyle: Listen to context changes.
This way the GtkStyle is updated to the latest style info, actually
emitting ::style-set must be performed after invalidating the style
context.
2010-12-04 15:38:36 +01:00
Carlos Garnacho
33e95ae65f GtkStyleContext: Add the start of a default set of class names/regions. 2010-12-04 15:38:36 +01:00
Carlos Garnacho
80e74d79bb GtkStyleContext: Fix merging of local and global providers. 2010-12-04 15:38:35 +01:00
Carlos Garnacho
fb8de847df GtkStyleProperties: Merge font descriptions on merge()
This is necessary so incomplete font descriptions are ensured to have
family and size.
2010-12-04 15:38:34 +01:00
Carlos Garnacho
af20ba6103 GtkSymbolicColor: Take const GdkRGBA in new_literal(). 2010-12-04 15:38:34 +01:00
Carlos Garnacho
2efa2947be Document gtk_render_* functions. 2010-12-04 15:38:34 +01:00
Carlos Garnacho
ebf5bd390f Add gtk_render_activity()
This method will render progress bars and spinners, these should
handle active and inconsistent states' animation progress in order
to perform animations.
2010-12-04 15:38:33 +01:00
Carlos Garnacho
af1f8701dc GtkThemingEngine: draw resize grip through render_handle().
GtkJunctionSides is used instead of GdkWindowEdge, GtkStyle
implementation has changed to use GtkStyleContext's.
2010-12-04 15:38:33 +01:00
Carlos Garnacho
227294a6aa GtkWidget: Trigger state change transitions on state flags change.
This makes state transitions automatic for non-complex widgets, complex
widgets such as GtkTreeView still need to notify state updates themselves.
2010-12-04 15:38:33 +01:00
Carlos Garnacho
c0d08ff627 GtkToolItemGroup: Set widget state as state flags. 2010-12-04 15:38:33 +01:00
Carlos Garnacho
1c2f27fe11 GtkToggleButton: Set widget state as state flags. 2010-12-04 15:38:32 +01:00
Carlos Garnacho
80d1ce9f67 GtkRadioButton: Set widget state as state flags. 2010-12-04 15:38:32 +01:00
Carlos Garnacho
517eaa55e5 GtkNotebook: Set widget state as state flags. 2010-12-04 15:38:32 +01:00
Carlos Garnacho
5f0f21aad3 GtkMenuItem: Set widget state as state flags. 2010-12-04 15:38:31 +01:00
Carlos Garnacho
9ae2e29f44 GtkMenu: Set widget state as state flags. 2010-12-04 15:38:31 +01:00
Carlos Garnacho
399499225e GtkExpander: Set widget state as state flags. 2010-12-04 15:38:31 +01:00
Carlos Garnacho
f7f5ac1b09 GtkEntry: Set widget state as state flags. 2010-12-04 15:38:31 +01:00
Carlos Garnacho
0e25b19515 GtkComboBox: Set widget state as state flags. 2010-12-04 15:38:30 +01:00
Carlos Garnacho
401b655307 GtkButton: Set widget state as state flags. 2010-12-04 15:38:30 +01:00
Carlos Garnacho
cd98204619 Implement widget states as a set of flags
gtk_widget_(set|unset|get)_state_flags() has been added, using GtkStateFlags
to represent the widget state. GtkStateType API has been implemented on top
of the new one.
2010-12-04 15:38:30 +01:00
Carlos Garnacho
34b91a74e5 Document missing value in GtkStateFlags 2010-12-04 15:38:30 +01:00
Carlos Garnacho
4acc20abc1 s/GtkStyleSet/GtkStyleProperties/
The former name had oddities such as gtk_style_set_set() and such,
so the new name is nicer in that regard and not much longer.
2010-12-04 15:38:29 +01:00
Carlos Garnacho
1bdd761c3f GtkWidget: Ensure name changes involve a style context update. 2010-12-04 15:38:29 +01:00
Carlos Garnacho
8ea649e0a0 Rely only on fg/bg colors.
"foreground-color" has been renamed to just "color" as in regular CSS,
and the "text-color" and "base-color" properties have been removed. The
default CSS has been changed to have widgets cope with this change.
2010-12-04 15:38:29 +01:00
Carlos Garnacho
7de2cf3286 GtkCssProvider: Fix parsing of concatenated classes.
Now selectors such as:

 GtkWidget#name.class1.class2
 #name.class1.class2
 .class1.class2

are parsed correctly, being meaningful for a widget defining several
classes.
2010-12-04 15:38:29 +01:00
Carlos Garnacho
a8a1d8cd01 GtkThemingEngine: Use ::name when registering style props. 2010-12-04 15:38:29 +01:00
Carlos Garnacho
90de318ab3 GtkThemingEngine: Add ::name construct only property
This property is to be set by theming engines, the name set will be favored
over the object type name when registering custom properties, making possible
something like:

-Clearlooks-border: blah;
2010-12-04 15:38:28 +01:00
Carlos Garnacho
c88e3bfc0c GtkStyleSet: Prevent from possible underflow. 2010-12-04 15:38:28 +01:00
Carlos Garnacho
51b742044a GtkCssProvider: Parse alpha() symbolic colors.
The "alpha" symbolic color modifies a passed color's alpha by a factor,
the syntax would accept things like:

background-color: alpha (@bg_color, 0.8);
foreground-color: alpha (shade (@fg_color, 0.8), 0.5);
2010-12-04 15:38:28 +01:00
Carlos Garnacho
ca44965f33 GtkSymbolicColor: Add gtk_symbolic_color_new_alpha()
This function modifies the alpha channel of a color, multiplying
it by a factor.
2010-12-04 15:38:28 +01:00
Carlos Garnacho
0bd81ef710 GtkCssProvider: Make default style depend more on custom colors. 2010-12-04 15:38:28 +01:00
Carlos Garnacho
5310ad8070 GtkStyle: Get to style GtkCellRendererText text. 2010-12-04 15:38:27 +01:00
Carlos Garnacho
6356f01b06 GtkThemingEngine: render 0-radius frames with 3D-like 45° corner effect 2010-12-04 15:38:27 +01:00
Carlos Garnacho
43f7fb8354 GtkThemingEngine: Clear the background for .background class 2010-12-04 15:38:27 +01:00
Carlos Garnacho
d565e15951 GtkStyle: translate active state in paint_flat_box(). 2010-12-04 15:38:27 +01:00
Carlos Garnacho
087249db07 GtkCssProvider: Update end string when misparsing symbolic colors. 2010-12-04 15:38:26 +01:00
Carlos Garnacho
7d441000f7 GtkCssProvider: Allow '\t' when parsing values. 2010-12-04 15:38:26 +01:00
Carlos Garnacho
4ca3b5071e GtkSymbolicColor: Initialize alpha when resolving shades. 2010-12-04 15:38:26 +01:00
Carlos Garnacho
975f133d63 GtkThemingEngine: Improve rendering of inset/outset borders. 2010-12-04 15:38:26 +01:00
Carlos Garnacho
39ce35dd75 GtkCssProvider: Improve default CSS. 2010-12-04 15:38:26 +01:00
Carlos Garnacho
6bd0865601 GtkStyle: Handle scrollbar buttons. 2010-12-04 15:38:25 +01:00
Carlos Garnacho
490d59f045 Do not shade alpha values. 2010-12-04 15:38:25 +01:00
Carlos Garnacho
3bfc59b9bb GtkStyle: Match "trough" and "slider" detail strings.
This is so scrollbars can be themed throught the "trough" and
"slider" classes.
2010-12-04 15:38:25 +01:00
Carlos Garnacho
4e02218f52 Use GdkRGBA all around in GtkStyleContext. 2010-12-04 15:38:25 +01:00