summaryrefslogtreecommitdiff
path: root/gtk/gtkaccessiblevalueprivate.h
Commit message (Collapse)AuthorAgeFilesLines
* a11y: Add GValue initializers for accessible attributesEmmanuele Bassi2020-11-101-0/+4
| | | | | Consumers of the GValue-based API for GtkAccessible need to have a way to initialize the GValue with the correct type for the given attribute.
* a11y: Add parsing code for accessible valuesEmmanuele Bassi2020-10-211-0/+24
| | | | | We need to be able to go from a string representation of an accessible value to its GtkAccessibleValue instance.
* a11y: Add proper error reporting to value collectionEmmanuele Bassi2020-07-281-3/+9
| | | | | | | | | | | | | We're currently overloading NULL to mean both "this value is undefined, and should be reset to its default" and "the value collection failed". Let's do error reporting right, by using GError to mean "the collection failed, for this specific reason"; then, we can use a NULL return value to signal that the accessible attribute should be reset to its default value. This is only relevant for pointer-sized attribute values: strings, references, and reference lists; numeric, boolean, tristate, and token values either cannot be undefined, or have a specific "undefined" value.
* a11y: Allow storing list of references in GtkAccessibleValueEmmanuele Bassi2020-07-261-1/+5
| | | | It's one of the fundamental accessible value types in ARIA.
* a11y: Add relations APIEmmanuele Bassi2020-07-261-0/+6
| | | | | Since we split relation attributes from the generic properties, we need to add API for setting and retrieving their values.
* a11y: Simplify GtkAccessibleValueEmmanuele Bassi2020-07-261-16/+21
| | | | | | | | 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.
* a11y: Resync with the ARIA specEmmanuele Bassi2020-07-261-38/+2
| | | | | | | | 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.
* Add accessible properties to GtkAccessibleEmmanuele Bassi2020-07-261-0/+4
| | | | | We propagate the accessible state and properties to each ATContext in the same virtual function, since they are functionally similar.
* Plumb all the GtkAccessibleProperty values into GtkAccessibleValueEmmanuele Bassi2020-07-261-17/+49
| | | | Similarly to how we deal with GtkAccessibleState.
* Add GtkAccessibleValueEmmanuele Bassi2020-07-261-0/+135
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.