- 26 Jul, 2020 30 commits
-
-
Emmanuele Bassi authored
Since we split relation attributes from the generic properties, we need to add API for setting and retrieving their values.
-
Emmanuele Bassi authored
Reduce the amount of subclassing, by handling collection of fundamental types directly from the generic code paths. We now handle boolean, tristate, integer, number, string, and relation values in the generic code path; if an attribute supports the "undefined" value, we return the undefined value singleton.
-
Emmanuele Bassi authored
Drop roles and properties that were deprecated in WAI-ARIA 1.1, and add new roles and properties defined in WAI-ARIA 1.2 and later. We also split the relationship properties into their own enumeration, so we can keep the GtkAccessibleProperty type more compact.
-
Emmanuele Bassi authored
It's pointless, we can use an explicit value of `-1` everywhere. Additionally, it complicates all code that uses the state enumeration as an array index, since now we need to guard against a negative offset.
-
Emmanuele Bassi authored
Matching the one for the accessible state.
-
Emmanuele Bassi authored
Some properties that take a reference to an accessible haven't been updated to collect the correct type.
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
Add an accessible role, and update the orientation state.
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
-
Emmanuele Bassi authored
We propagate the accessible state and properties to each ATContext in the same virtual function, since they are functionally similar.
-
Emmanuele Bassi authored
Like GtkAccessibleStateSet, the PropertySet is a set for accessible properties.
-
Emmanuele Bassi authored
Similarly to how we deal with GtkAccessibleState.
-
Emmanuele Bassi authored
Some widgets have different accessible roles depending on some parameter, so we cannot set the role at class init time. For those widgets, we add an "accessible-role" property to GtkAccessible, and we allow setting it (only) at construction time.
-
Emmanuele Bassi authored
Add the introductory text from #2833, and the various types to the API reference.
-
Emmanuele Bassi authored
The GTK_ACCESSIBLE_STATE_HIDDEN has the opposite meaning of the GtkWidget:visible property.
-
Emmanuele Bassi authored
Each widget type has an accessible role associated to its class, as roles cannot change during the life time of a widget instance. Each widget is also responsible for creating an ATContext, to proxy state changes to the underlying accessibility infrastructure.
-
Emmanuele Bassi authored
An Accessible implementation must create an ATContext object. UI elements are supposed to interact with the GtkAccessible API, but we expose GtkATContext to allow patterns like delegation.
-
Emmanuele Bassi authored
The ATContext type is meant to be used as the base class for implementations of the assistive technology API—the actual mechanism needed to communicate to components like the screen reader, or any other AT. Every time the widget state changes, the ATContext is meant to broadcast the state change; and every time the AT queries the state of a UI element, the ATContext is meant to provide that information. We also have a "test" ATContext implementation, which is meant to be used to write tests to verify that changes are propagated without requiring a whole desktop session.
-
Emmanuele Bassi authored
Since states can be set or unset, we need a container type that has all the possible states, and a bitmask that tells us which ones are set.
-
Emmanuele Bassi authored
All accessible properties and states may have one of the following types: - true/false - true/false/undefined - true/false/mixed/undefined - reference (to another UI element) - reference list - integer - number (real numerical value) - string - token (one of a limited set of allowed values) - token list See: https://www.w3.org/WAI/PF/aria/states_and_properties#propcharacteristic_value The GtkAccessibleValue is a simple reference counted type that can be "subclassed" to implement each value type. This initial commit adds GtkAccessibleValue and the basic subclasses for plain boolean, tristate (true/false/undefined), and token types, including statically allocated values that can be shared instead of allocated.
-
Emmanuele Bassi authored
GtkAccessible is an interface for accessible UI elements. Currently, it doesn't do much except exist as a type; in the future, it will be the entry point for all accessible state in GTK.
-
Emmanuele Bassi authored
The list of roles is taken from the WAI-ARIA 1.2 specification: https://w3c.github.io/aria/ Some of these roles do not make entirely sense from a GTK application perspective, but we can remove them before finalizing the API.
-
Emmanuele Bassi authored
To build a better world sometimes means having to tear the old one down. -- Alexander Pierce, "Captain America: The Winter Soldier" ATK served us well for nearly 20 years, but the world has changed, and GTK has changed with it. Now ATK is mostly a hindrance towards improving the accessibility stack: - it maps to a very specific implementation, AT-SPI, which is Linux and Unix specific - it requires implementing the same functionality in three different layers of the stack: AT-SPI, ATK, and GTK - only GTK uses it; every other Linux and Unix toolkit and application talks to AT-SPI directly, including assistive technologies Sadly, we cannot incrementally port GTK to a new accessibility stack; since ATK insulates us entirely from the underlying implementation, we cannot replace it piecemeal. Instead, we're going to remove everything and then incrementally build on a clean slate: - add an "accessible" interface, implemented by GTK objects directly, which describe the acces...
-
Benjamin Otte authored
Add GtkBoolFilter See merge request !2288
-
Jordi Mas authored
-
Benjamin Otte authored
Takes a boolean GtkExpression (like a boolean object property) to run a filter with.
-
Matthias Clasen authored
overlaylayout: Document minimally See merge request !2285
-
- 25 Jul, 2020 9 commits
-
-
Matthias Clasen authored
This layout manager is not reusable, but we still need to make its layout properties show up in the docs.
-
Matthias Clasen authored
Matthiasc/for master See merge request !2284
-
Matthias Clasen authored
Plug some holes in our structs by rearranging a few fields. This is was done looking at pahole output.
-
Matthias Clasen authored
Plug some holes in our structs by rearranging a few fields. This is was done looking at pahole output.
-
Matthias Clasen authored
The radius fields are never used.
-
Matthias Clasen authored
We are using floats for rgb, and we don't need more precision for hsl colors either. We use hsl for computing color expressions like shade(), lighter() and darker(), which are not precisely specified anyway. This commit updates the one test where the output changes a tiny bit due to this.
-
Matthias Clasen authored
-
Matthias Clasen authored
-
Matthias Clasen authored
Matthiasc/for master See merge request !2283
-
- 24 Jul, 2020 1 commit
-
-
Matthias Clasen authored
Get rid of unneeded glib types See merge request !2282
-