Benjamin Otte
78024504aa
reftests: Add a test comparing inherit and initial
...
One test has all properties set to 'inherit', the other to 'initial'.
This should result in the same result, as inherit will ensure every
widget inherits the same value, and for the toplevel 'inherit' is
defined as being identical to 'initial'.
2012-01-09 18:37:51 +01:00
Benjamin Otte
53bb230e12
reftests: Add a test for a parent in a different state
...
inherit in those cases should inherit from that different state, not
from this state.
2012-01-09 18:37:51 +01:00
Benjamin Otte
e9dfb8d5b8
tests: Add tests for 'inherit' and 'initial'
2012-01-09 18:37:51 +01:00
Benjamin Otte
57379adb3c
css: Add generic support for 'inherit' and 'initial'
...
CSS3 says they work for every property, so here we go.
2012-01-09 18:37:51 +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
Benjamin Otte
a3225fdd42
cssprovider: Remove has_inherit flag from rulesets
...
It's not used anymore
2012-01-09 18:37:50 +01:00
Benjamin Otte
40a7618d2a
cssprovider: Don't do inheritance anymore
...
Its' done in GtkCssLookup with the help of GtkStyleContext::parent now.
2012-01-09 18:37:50 +01:00
Benjamin Otte
fbedcdaf7d
css: Make CSS resolving work according to spec
...
See inline code comments taken from
http://dev.w3.org/csswg/css3-cascade/#cascade
This now respects the special values "inherit" and "initial" properly.
Note that those values cannot be parsed yet. This will be added in a
future commit.
2012-01-09 18:37:50 +01:00
Benjamin Otte
5a815e2159
styleproperty: Add _gtk_style_property_get_initial_value()
2012-01-09 18:37:50 +01:00
Benjamin Otte
242893a031
css: Pass the parent context to _gtk_css_lookup_resolve()
...
This way, we can resolve inherit properties.
2012-01-09 18:37:50 +01:00
Benjamin Otte
0ac519e8a1
widget: Set parent style context
2012-01-09 18:37:50 +01:00
Benjamin Otte
b50d2b74d7
API: Add GtkStyleContext::parent
...
We need this for proper support of CSS inherit.
2012-01-09 18:37:50 +01:00
Benjamin Otte
aa4925480d
styleproperty: Pass initial value explicitly
2012-01-09 18:37:50 +01:00
Benjamin Otte
4d15186e67
css: Add GtkCssSpecialValue
2012-01-09 18:37:50 +01:00
Benjamin Otte
6dd50c6cca
css: Add some docs to GtkCssLookup
...
In particular, document which parts of the CSS value querying we're
doing here.
2012-01-09 18:37:50 +01:00
Benjamin Otte
821f9b478f
reftests: Add test for pseudo-class matching
...
Previous GTK matched pseudoclasses not based on CSS rules, but based on
their value in the enumeration. This is now fixed.
2012-01-09 18:37:50 +01:00
Benjamin Otte
ba5e7012b1
css: Redo StyleProvider interface
...
We now use the GtkStleProviderPrivate interface, which hopefully is
faster and more conformant to CSS. Long term, it definitely should be
both.
I would have liked to split this up into multiple commits, but couldn't
find a way.
2012-01-09 18:37:50 +01:00
Benjamin Otte
38a9b28a0e
styleproperties: Add a hacky function to redirect color lookups
...
This will soon be necessary.
FIXME: Make sure this gets removed again.
2012-01-09 18:37:49 +01:00
Benjamin Otte
c048aac1d9
symboliccolor: Add _gtk_symbolic_color_resolve_full()
2012-01-09 18:37:49 +01:00
Benjamin Otte
899a381d31
stylecontext: Separate properties by states
...
We don't want to mix states the wrong way. And the current approach does
that.
2012-01-09 18:37:49 +01:00
Benjamin Otte
a488d2184a
stylecontext: Pass state to style data lookup function
2012-01-09 18:37:49 +01:00
Benjamin Otte
cdb3f05bf1
css: Add _gtk_style_property_get_count()
2012-01-09 18:37:49 +01:00
Benjamin Otte
54d2b9dbc2
cssprovider: Keep a bitmask for the properties
...
That way we can easily tell wich properties are in use.
2012-01-09 18:37:49 +01:00
Benjamin Otte
eb38591c91
css: Add _gtk_style_property_get_id()
2012-01-09 18:37:49 +01:00
Benjamin Otte
f6cf447cad
styleproperty: Assign a unique id to every styleproperty
2012-01-09 18:37:49 +01:00
Benjamin Otte
eddd36d1d9
tests: Add tests for GtkBitmask
2012-01-09 18:37:49 +01:00
Benjamin Otte
45b9193290
gtk: Add GtkBitmask
...
The CSS code likes to have that very much.
2012-01-09 18:37:49 +01:00
Stefan Sauer
f7d3ca46f7
gtkscale: fix bogus compare func
...
The GtkScaleMark values are gdouble, a simple a-b compare func would fail for
values with the same integer value. This breaks the sorting and causes random
marker label placement.
2012-01-09 18:33:11 +01:00
Rob Bradford
1f023cd2b1
wayland: Constrain the window configure requests to the window's geometry
...
When we receive a configure event from Wayland telling us to resize our
surface we check against the geometry constraints for the window to ensure we
do not resize below the minimum and maximum limits.
2012-01-09 17:19:34 +00:00
Rob Bradford
4107ef0b93
wayland: Implement set_geometry_hints vfunc
...
Our trivial implementation simply saves the passed in parameters into the
Wayland private data structure.
2012-01-09 17:19:34 +00:00
Rui Matos
052c6e0681
scrolledwindow: Render the background so that it can be styled
2012-01-09 16:45:44 +00:00
Rui Matos
09979513b2
window: Stop setting state flags on the style context for drawing
...
This also removes setting the FOCUSED state flag when
gtk_window_has_toplevel_focus() since this effect can now be done with the new
WINDOW_UNFOCUSED flag instead which actually works better regarding X grabs
and modal windows.
2012-01-09 16:45:44 +00:00
Rui Matos
440663f3fe
treeview: Use the widget state flags as a base for drawing expanders
2012-01-09 16:45:44 +00:00
Rui Matos
2972236fdb
treeview: Stop setting state flags on the style context for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
76485b8670
trayicon-x11: Stop setting state flags on the style context for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
8bb0773535
toolitemgroup: Use the widget state flags as a base for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
4011326388
toolbar: Stop setting state flags on the style context for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
a1f72eb06c
Revert "button: Stop setting state flags on the style context for drawing"
...
Setting state flags is actually needed here since this function is called by
GtkButton subclasses which add their specific state flags as a parameter.
This reverts commit e868b8d6ea
.
2012-01-09 16:45:44 +00:00
Rui Matos
2efa658a41
textdisplay: Use the widget state flags as a base for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
b203ea2f93
spinner: Stop setting state flags on the style context for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
e9549a7514
spinbutton: Use the widget state flags as a base for drawing
2012-01-09 16:45:43 +00:00
Rui Matos
9118ccb02d
separator: Stop setting state flags on the style context for drawing
2012-01-09 16:31:11 +00:00
Rui Matos
95caabac03
scale: Stop setting state flags on the style context for drawing
2012-01-09 16:31:11 +00:00
Rui Matos
b2f5959147
range: Use the widget state flags as a base for drawing
2012-01-09 16:31:11 +00:00
Rui Matos
6dd0bd5536
radiobutton: Use the widget state flags as a base for drawing
2012-01-09 16:31:11 +00:00
Rui Matos
c98e9c94e7
widget-factory: Make the second spin button insensitive
2012-01-09 16:31:11 +00:00
Rob Bradford
eedd1ec92f
wayland: Make the resize and move functions use gdk_device_ungrab
...
Now that grab and ungrab vfuncs are implemented on GdkDevice then we can use
gdk_device_ungrab to break the implicit grab created by the button press that
triggered the resize and move.
2012-01-09 16:00:14 +00:00
Kristian Høgsberg
e5283122fd
wayland: Add implementations for the device_grab / device_ungrab vfuncs
...
This allows the correct implementation of breaking the grab in pointer driven
resize and move.
Signed-off-by: Rob Bradford <rob@linux.intel.com>
2012-01-09 15:59:02 +00:00
Rob Bradford
4007449a58
application: Correct the fallback definition for gtk_application_end_session
...
The function definition used a pointer to the enum value rather than the enum
itself.
This broke the build on platforms that don't have an implmentation of these
functions.
2012-01-09 15:09:27 +00:00
Ryan Lortie
cf2590d673
GtkButton: do not allow both types of actions
...
Only allow one of 'action-name' or 'related-action' to be set.
https://bugzilla.gnome.org/show_bug.cgi?id=667394
2012-01-09 15:02:10 +01:00