summaryrefslogtreecommitdiff
path: root/src/imported
diff options
context:
space:
mode:
authorLukasz Stanislawski <lukasz.stanislawski@gmail.com>2014-06-10 16:18:17 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2014-06-10 16:18:17 +0900
commit0c5c00ee68bb0c4cf7f4ecea7912ff14025129c8 (patch)
tree50310cfed27456024574d6f7b23f487f61c1819a /src/imported
parent8993fa265537070ab873c52a6335c463c8f15721 (diff)
atspi: add AtspiText and AtspiEditableText interface support.
Summary: Added reference interface implementation for elm_entry widget. Tests added. Updated at-spi-constants.h header to version 2.12.0. Reviewers: raster, seoz CC: raster Differential Revision: https://phab.enlightenment.org/D806
Diffstat (limited to 'src/imported')
-rw-r--r--src/imported/atspi/atspi-constants.h296
1 files changed, 194 insertions, 102 deletions
diff --git a/src/imported/atspi/atspi-constants.h b/src/imported/atspi/atspi-constants.h
index 6e0551b31..3675bcca1 100644
--- a/src/imported/atspi/atspi-constants.h
+++ b/src/imported/atspi/atspi-constants.h
@@ -91,13 +91,13 @@ extern "C" {
91/** 91/**
92 * AtspiLocaleType: 92 * AtspiLocaleType:
93 * @ATSPI_LOCALE_TYPE_MESSAGES: For localizable natural-language messages. 93 * @ATSPI_LOCALE_TYPE_MESSAGES: For localizable natural-language messages.
94 * @ATSPI_LOCALE_TYPE_COLLATE: For regular expression matching and string 94 * @ATSPI_LOCALE_TYPE_COLLATE: For regular expression matching and string
95 * collation. 95 * collation.
96 * @ATSPI_LOCALE_TYPE_CTYPE: For regular expression matching, character 96 * @ATSPI_LOCALE_TYPE_CTYPE: For regular expression matching, character
97 * classification, conversion, case-sensitive comparison, and wide character 97 * classification, conversion, case-sensitive comparison, and wide character
98 * functions. 98 * functions.
99 * @ATSPI_LOCALE_TYPE_MONETARY: For monetary formatting. 99 * @ATSPI_LOCALE_TYPE_MONETARY: For monetary formatting.
100 * @ATSPI_LOCALE_TYPE_NUMERIC: For number formatting (such as the decimal 100 * @ATSPI_LOCALE_TYPE_NUMERIC: For number formatting (such as the decimal
101 * point and the thousands separator). 101 * point and the thousands separator).
102 * @ATSPI_LOCALE_TYPE_TIME: For time and date formatting. 102 * @ATSPI_LOCALE_TYPE_TIME: For time and date formatting.
103 * 103 *
@@ -124,7 +124,7 @@ typedef enum {
124/** 124/**
125 * AtspiCoordType: 125 * AtspiCoordType:
126 * @ATSPI_COORD_TYPE_SCREEN: Specifies xy coordinates relative to the screen. 126 * @ATSPI_COORD_TYPE_SCREEN: Specifies xy coordinates relative to the screen.
127 * @ATSPI_COORD_TYPE_WINDOW: Specifies xy coordinates relative to the widget's 127 * @ATSPI_COORD_TYPE_WINDOW: Specifies xy coordinates relative to the widget's
128 * top-level window. 128 * top-level window.
129 * 129 *
130 * Enumeration used by #AtspiComponent, #AtspiImage, and #AtspiText interfaces 130 * Enumeration used by #AtspiComponent, #AtspiImage, and #AtspiText interfaces
@@ -178,19 +178,19 @@ typedef enum {
178 178
179/** 179/**
180 * AtspiCollectionMatchType: 180 * AtspiCollectionMatchType:
181 * @ATSPI_Collection_MATCH_INVALID: Indicates an error condition or 181 * @ATSPI_Collection_MATCH_INVALID: Indicates an error condition or
182 * uninitialized value. 182 * uninitialized value.
183 * @ATSPI_Collection_MATCH_ALL: #TRUE if all of the criteria are met. 183 * @ATSPI_Collection_MATCH_ALL: #TRUE if all of the criteria are met.
184 * @ATSPI_Collection_MATCH_ANY: #TRUE if any of the criteria are met. 184 * @ATSPI_Collection_MATCH_ANY: #TRUE if any of the criteria are met.
185 * @ATSPI_Collection_MATCH_NONE: #TRUE if none of the criteria are met. 185 * @ATSPI_Collection_MATCH_NONE: #TRUE if none of the criteria are met.
186 * @ATSPI_Collection_MATCH_EMPTY: Same as @ATSPI_Collection_MATCH_ALL if 186 * @ATSPI_Collection_MATCH_EMPTY: Same as @ATSPI_Collection_MATCH_ALL if
187 * the criteria is non-empty; for empty criteria this rule requires returned 187 * the criteria is non-empty; for empty criteria this rule requires returned
188 * value to also have empty set. 188 * value to also have empty set.
189 * @ATSPI_Collection_MATCH_LAST_DEFINED: Used only to determine the end of the 189 * @ATSPI_Collection_MATCH_LAST_DEFINED: Used only to determine the end of the
190 * enumeration. 190 * enumeration.
191 * 191 *
192 * Enumeration used by #AtspiMatchRule to specify 192 * Enumeration used by #AtspiMatchRule to specify
193 * how to interpret #AtspiAccesible objects. 193 * how to interpret #AtspiAccessible objects.
194 * 194 *
195 **/ 195 **/
196typedef enum { 196typedef enum {
@@ -244,9 +244,9 @@ typedef enum {
244 * UI #AtspiComponent containers. 244 * UI #AtspiComponent containers.
245 * @ATSPI_LAYER_WIDGET: The layer in which the majority of ordinary 245 * @ATSPI_LAYER_WIDGET: The layer in which the majority of ordinary
246 * 'foreground' widgets reside. 246 * 'foreground' widgets reside.
247 * @ATSPI_LAYER_MDI: A special layer between @ATSPI_LAYER_CANVAS and 247 * @ATSPI_LAYER_MDI: A special layer between @ATSPI_LAYER_CANVAS and
248 * @ATSPI_LAYER_WIDGET, in which the 'pseudo windows' (e.g. the MDI frames) 248 * @ATSPI_LAYER_WIDGET, in which the 'pseudo windows' (e.g. the MDI frames)
249 * reside. See #atspi_component_get_mdi_z_order. 249 * reside. See #atspi_component_get_mdi_z_order.
250 * @ATSPI_LAYER_POPUP: A layer for popup window content, above 250 * @ATSPI_LAYER_POPUP: A layer for popup window content, above
251 * @ATSPI_LAYER_WIDGET. 251 * @ATSPI_LAYER_WIDGET.
252 * @ATSPI_LAYER_OVERLAY: The topmost layer. 252 * @ATSPI_LAYER_OVERLAY: The topmost layer.
@@ -255,23 +255,23 @@ typedef enum {
255 * @ATSPI_LAYER_LAST_DEFINED: Used only to determine the end of the 255 * @ATSPI_LAYER_LAST_DEFINED: Used only to determine the end of the
256 * enumeration. 256 * enumeration.
257 * 257 *
258 * The #AtspiComponentLayer of an #AtspiComponent instance indicates its 258 * The #AtspiComponentLayer of an #AtspiComponent instance indicates its
259 * relative stacking order with respect to the onscreen visual representation 259 * relative stacking order with respect to the onscreen visual representation
260 * of the UI. #AtspiComponentLayer, in combination with #AtspiComponent bounds 260 * of the UI. #AtspiComponentLayer, in combination with #AtspiComponent bounds
261 * information, can be used to compute the visibility of all or part of a 261 * information, can be used to compute the visibility of all or part of a
262 * component. This is important in programmatic determination of 262 * component. This is important in programmatic determination of
263 * region-of-interest for magnification, and in 263 * region-of-interest for magnification, and in
264 * flat screen review models of the screen, as well as 264 * flat screen review models of the screen, as well as
265 * for other uses. Objects residing in two of the #AtspiComponentLayer 265 * for other uses. Objects residing in two of the #AtspiComponentLayer
266 * categories support further z-ordering information, with respect to their 266 * categories support further z-ordering information, with respect to their
267 * peers in the same layer: namely, @ATSPI_LAYER_WINDOW and 267 * peers in the same layer: namely, @ATSPI_LAYER_WINDOW and
268 * @ATSPI_LAYER_MDI. Relative stacking order for other objects within the 268 * @ATSPI_LAYER_MDI. Relative stacking order for other objects within the
269 * same layer is not available; the recommended heuristic is 269 * same layer is not available; the recommended heuristic is
270 * first child paints first. In other words, assume that the 270 * first child paints first. In other words, assume that the
271 * first siblings in the child list are subject to being overpainted by later 271 * first siblings in the child list are subject to being overpainted by later
272 * siblings if their bounds intersect. The order of layers, from bottom to top, 272 * siblings if their bounds intersect. The order of layers, from bottom to top,
273 * is: @ATSPI_LAYER_BACKGROUND, @ATSPI_LAYER_WINDOW, @ATSPI_LAYER_MDI, 273 * is: @ATSPI_LAYER_BACKGROUND, @ATSPI_LAYER_WINDOW, @ATSPI_LAYER_MDI,
274 * @ATSPI_LAYER_CANVAS, @ATSPI_LAYER_WIDGET, @ATSPI_LAYER_POPUP, and 274 * @ATSPI_LAYER_CANVAS, @ATSPI_LAYER_WIDGET, @ATSPI_LAYER_POPUP, and
275 * @ATSPI_LAYER_OVERLAY. 275 * @ATSPI_LAYER_OVERLAY.
276 * 276 *
277 */ 277 */
@@ -296,15 +296,15 @@ typedef enum {
296 296
297/** 297/**
298 * AtspiTextBoundaryType: 298 * AtspiTextBoundaryType:
299 * @ATSPI_TEXT_BOUNDARY_CHAR: An #AtspiText instance is bounded by this 299 * @ATSPI_TEXT_BOUNDARY_CHAR: An #AtspiText instance is bounded by this
300 * character only. Start and end offsets differ by one, by definition, 300 * character only. Start and end offsets differ by one, by definition,
301 * for this value. 301 * for this value.
302 * @ATSPI_TEXT_BOUNDARY_WORD_START: Boundary condition is start of a word; i.e. 302 * @ATSPI_TEXT_BOUNDARY_WORD_START: Boundary condition is start of a word; i.e.
303 * range is from start of one word to the start of another word. 303 * range is from start of one word to the start of another word.
304 * @ATSPI_TEXT_BOUNDARY_WORD_END: Boundary condition is the end of a word; i.e. 304 * @ATSPI_TEXT_BOUNDARY_WORD_END: Boundary condition is the end of a word; i.e.
305 * range is from the end of one word to the end of another. Some locales 305 * range is from the end of one word to the end of another. Some locales
306 * may not distinguish between words and characters or glyphs. In particular, 306 * may not distinguish between words and characters or glyphs. In particular,
307 * those locales which use wholly or partially ideographic character sets. 307 * those locales which use wholly or partially ideographic character sets.
308 * In these cases, characters may be returned in lieu of multi-character 308 * In these cases, characters may be returned in lieu of multi-character
309 * substrings. 309 * substrings.
310 * @ATSPI_TEXT_BOUNDARY_SENTENCE_START: Boundary condition is start of a 310 * @ATSPI_TEXT_BOUNDARY_SENTENCE_START: Boundary condition is start of a
@@ -323,7 +323,7 @@ typedef enum {
323 * generally means that an end-of-line character will appear at the end of 323 * generally means that an end-of-line character will appear at the end of
324 * the range. 324 * the range.
325 * @ATSPI_TEXT_BOUNDARY_LINE_END: Boundary condition is the end of a line; i.e. 325 * @ATSPI_TEXT_BOUNDARY_LINE_END: Boundary condition is the end of a line; i.e.
326 * range is from start of one line to the start of another. This generally 326 * range is from start of one line to the start of another. This generally
327 * means that an end-of-line character will be the first character of the 327 * means that an end-of-line character will be the first character of the
328 * range. 328 * range.
329 * 329 *
@@ -331,6 +331,8 @@ typedef enum {
331 * #atspi_text_get_text_at_offset, #atspi_text_get_text_after_offset, and 331 * #atspi_text_get_text_at_offset, #atspi_text_get_text_after_offset, and
332 * #atspi_text_get_text_before_offset. 332 * #atspi_text_get_text_before_offset.
333 * 333 *
334 * This enumerationis deprecated since 2.9.90 and should not be used. Use
335 * AtspiTextGranularity with #atspi_text_get_string_at_offset instead.
334 **/ 336 **/
335typedef enum { 337typedef enum {
336 ATSPI_TEXT_BOUNDARY_CHAR, 338 ATSPI_TEXT_BOUNDARY_CHAR,
@@ -343,6 +345,34 @@ typedef enum {
343} AtspiTextBoundaryType; 345} AtspiTextBoundaryType;
344 346
345/** 347/**
348 *AtspiTextGranularity:
349 *@ATSPI_TEXT_GRANULARITY_CHAR: Granularity is defined by the boundaries between characters
350 * (including non-printing characters)
351 *@ATSPI_TEXT_GRANULARITY_WORD: Granularity is defined by the boundaries of a word,
352 * starting at the beginning of the current word and finishing at the beginning of
353 * the following one, if present.
354 *@ATSPI_TEXT_GRANULARITY_SENTENCE: Granularity is defined by the boundaries of a sentence,
355 * starting at the beginning of the current sentence and finishing at the beginning of
356 * the following one, if present.
357 *@ATSPI_TEXT_GRANULARITY_LINE: Granularity is defined by the boundaries of a line,
358 * starting at the beginning of the current line and finishing at the beginning of
359 * the following one, if present.
360 *@ATSPI_TEXT_GRANULARITY_PARAGRAPH: Granularity is defined by the boundaries of a paragraph,
361 * starting at the beginning of the current paragraph and finishing at the beginning of
362 * the following one, if present.
363 *
364 * Text granularity types used for specifying the granularity of the region of
365 * text we are interested in.
366 **/
367typedef enum {
368 ATSPI_TEXT_GRANULARITY_CHAR,
369 ATSPI_TEXT_GRANULARITY_WORD,
370 ATSPI_TEXT_GRANULARITY_SENTENCE,
371 ATSPI_TEXT_GRANULARITY_LINE,
372 ATSPI_TEXT_GRANULARITY_PARAGRAPH
373} AtspiTextGranularity;
374
375/**
346 * ATSPI_TEXT_BOUNDARY_TYPE_COUNT: 376 * ATSPI_TEXT_BOUNDARY_TYPE_COUNT:
347 * 377 *
348 * One higher than the highest valid value of #AtspiTextBoundaryType. 378 * One higher than the highest valid value of #AtspiTextBoundaryType.
@@ -379,7 +409,7 @@ typedef enum {
379 409
380/** 410/**
381 * AtspiStateType: 411 * AtspiStateType:
382 * @ATSPI_STATE_INVALID: Indicates an invalid state - probably an error 412 * @ATSPI_STATE_INVALID: Indicates an invalid state - probably an error
383 * condition. 413 * condition.
384 * @ATSPI_STATE_ACTIVE: Indicates a window is currently the active window, or 414 * @ATSPI_STATE_ACTIVE: Indicates a window is currently the active window, or
385 * is an active subelement within a container or table. 415 * is an active subelement within a container or table.
@@ -396,7 +426,7 @@ typedef enum {
396 * @ATSPI_STATE_ENABLED: Indicates that this object is enabled, i.e. that it 426 * @ATSPI_STATE_ENABLED: Indicates that this object is enabled, i.e. that it
397 * currently reflects some application state. Objects that are "greyed out" 427 * currently reflects some application state. Objects that are "greyed out"
398 * may lack this state, and may lack the @ATSPI_STATE_SENSITIVE if direct 428 * may lack this state, and may lack the @ATSPI_STATE_SENSITIVE if direct
399 * user interaction cannot cause them to acquire @ATSPI_STATE_ENABLED. 429 * user interaction cannot cause them to acquire @ATSPI_STATE_ENABLED.
400 * See @ATSPI_STATE_SENSITIVE. 430 * See @ATSPI_STATE_SENSITIVE.
401 * @ATSPI_STATE_EXPANDABLE: Indicates this object allows progressive 431 * @ATSPI_STATE_EXPANDABLE: Indicates this object allows progressive
402 * disclosure of its children. 432 * disclosure of its children.
@@ -433,10 +463,10 @@ typedef enum {
433 * children that has been selected. 463 * children that has been selected.
434 * @ATSPI_STATE_SENSITIVE: Indicates this object is sensitive, e.g. to user 464 * @ATSPI_STATE_SENSITIVE: Indicates this object is sensitive, e.g. to user
435 * interaction. @ATSPI_STATE_SENSITIVE usually accompanies. 465 * interaction. @ATSPI_STATE_SENSITIVE usually accompanies.
436 * @ATSPI_STATE_ENABLED for user-actionable controls, but may be found in the 466 * @ATSPI_STATE_ENABLED for user-actionable controls, but may be found in the
437 * absence of @ATSPI_STATE_ENABLED if the current visible state of the control 467 * absence of @ATSPI_STATE_ENABLED if the current visible state of the control
438 * is "disconnected" from the application state. In such cases, direct user 468 * is "disconnected" from the application state. In such cases, direct user
439 * interaction can often result in the object gaining @ATSPI_STATE_SENSITIVE, 469 * interaction can often result in the object gaining @ATSPI_STATE_SENSITIVE,
440 * for instance if a user makes an explicit selection using an object whose 470 * for instance if a user makes an explicit selection using an object whose
441 * current state is ambiguous or undefined. See @ATSPI_STATE_ENABLED, 471 * current state is ambiguous or undefined. See @ATSPI_STATE_ENABLED,
442 * @ATSPI_STATE_INDETERMINATE. 472 * @ATSPI_STATE_INDETERMINATE.
@@ -448,19 +478,19 @@ typedef enum {
448 * single line of text. 478 * single line of text.
449 * @ATSPI_STATE_STALE: Indicates that the information returned for this object 479 * @ATSPI_STATE_STALE: Indicates that the information returned for this object
450 * may no longer be synchronized with the application state. This can occur 480 * may no longer be synchronized with the application state. This can occur
451 * if the object has @ATSPI_STATE_TRANSIENT, and can also occur towards the 481 * if the object has @ATSPI_STATE_TRANSIENT, and can also occur towards the
452 * end of the object peer's lifecycle. 482 * end of the object peer's lifecycle.
453 * @ATSPI_STATE_TRANSIENT: Indicates this object is transient. 483 * @ATSPI_STATE_TRANSIENT: Indicates this object is transient.
454 * @ATSPI_STATE_VERTICAL: Indicates the orientation of this object is vertical; 484 * @ATSPI_STATE_VERTICAL: Indicates the orientation of this object is vertical;
455 * for example this state may appear on such objects as scrollbars, text 485 * for example this state may appear on such objects as scrollbars, text
456 * objects (with vertical text flow), separators, etc. 486 * objects (with vertical text flow), separators, etc.
457 * @ATSPI_STATE_VISIBLE: Indicates this object is visible, e.g. has been 487 * @ATSPI_STATE_VISIBLE: Indicates this object is visible, e.g. has been
458 * explicitly marked for exposure to the user. @ATSPI_STATE_VISIBLE is no 488 * explicitly marked for exposure to the user. @ATSPI_STATE_VISIBLE is no
459 * guarantee that the object is actually unobscured on the screen, only that 489 * guarantee that the object is actually unobscured on the screen, only that
460 * it is 'potentially' visible, barring obstruction, being scrolled or clipped 490 * it is 'potentially' visible, barring obstruction, being scrolled or clipped
461 * out of the field of view, or having an ancestor container that has not yet 491 * out of the field of view, or having an ancestor container that has not yet
462 * made visible. A widget is potentially onscreen if it has both 492 * made visible. A widget is potentially onscreen if it has both
463 * @ATSPI_STATE_VISIBLE and @ATSPI_STATE_SHOWING. The absence of 493 * @ATSPI_STATE_VISIBLE and @ATSPI_STATE_SHOWING. The absence of
464 * @ATSPI_STATE_VISIBLE and @ATSPI_STATE_SHOWING is 494 * @ATSPI_STATE_VISIBLE and @ATSPI_STATE_SHOWING is
465 * semantically equivalent to saying that an object is 'hidden'. 495 * semantically equivalent to saying that an object is 'hidden'.
466 * @ATSPI_STATE_MANAGES_DESCENDANTS: Indicates that "active-descendant-changed" 496 * @ATSPI_STATE_MANAGES_DESCENDANTS: Indicates that "active-descendant-changed"
@@ -469,14 +499,14 @@ typedef enum {
469 * in very large containers, like tables. The presence of 499 * in very large containers, like tables. The presence of
470 * @ATSPI_STATE_MANAGES_DESCENDANTS is an indication to the client that the 500 * @ATSPI_STATE_MANAGES_DESCENDANTS is an indication to the client that the
471 * children should not, and need not, be enumerated by the client. 501 * children should not, and need not, be enumerated by the client.
472 * Objects implementing this state are expected to provide relevant state 502 * Objects implementing this state are expected to provide relevant state
473 * notifications to listening clients, for instance notifications of 503 * notifications to listening clients, for instance notifications of
474 * visibility changes and activation of their contained child objects, without 504 * visibility changes and activation of their contained child objects, without
475 * the client having previously requested references to those children. 505 * the client having previously requested references to those children.
476 * @ATSPI_STATE_INDETERMINATE: Indicates that a check box or other boolean 506 * @ATSPI_STATE_INDETERMINATE: Indicates that a check box or other boolean
477 * indicator is in a state other than checked or not checked. This 507 * indicator is in a state other than checked or not checked. This
478 * usually means that the boolean value reflected or controlled by the 508 * usually means that the boolean value reflected or controlled by the
479 * object does not apply consistently to the entire current context. 509 * object does not apply consistently to the entire current context.
480 * For example, a checkbox for the "Bold" attribute of text may have 510 * For example, a checkbox for the "Bold" attribute of text may have
481 * @ATSPI_STATE_INDETERMINATE if the currently selected text contains a mixture 511 * @ATSPI_STATE_INDETERMINATE if the currently selected text contains a mixture
482 * of weight attributes. In many cases interacting with a 512 * of weight attributes. In many cases interacting with a
@@ -495,13 +525,13 @@ typedef enum {
495 * representation becomes static. Some applications, notably content viewers, 525 * representation becomes static. Some applications, notably content viewers,
496 * may not be able to detect all kinds of animated content. Therefore the 526 * may not be able to detect all kinds of animated content. Therefore the
497 * absence of this state should not be taken as 527 * absence of this state should not be taken as
498 * definitive evidence that the object's visual representation is 528 * definitive evidence that the object's visual representation is
499 * static; this state is advisory. 529 * static; this state is advisory.
500 * @ATSPI_STATE_INVALID_ENTRY: This object has indicated an error condition 530 * @ATSPI_STATE_INVALID_ENTRY: This object has indicated an error condition
501 * due to failure of input validation. For instance, a form control may 531 * due to failure of input validation. For instance, a form control may
502 * acquire this state in response to invalid or malformed user input. 532 * acquire this state in response to invalid or malformed user input.
503 * @ATSPI_STATE_SUPPORTS_AUTOCOMPLETION: This state indicates that the object 533 * @ATSPI_STATE_SUPPORTS_AUTOCOMPLETION: This state indicates that the object
504 * in question implements some form of typeahead or 534 * in question implements some form of typeahead or
505 * pre-selection behavior whereby entering the first character of one or more 535 * pre-selection behavior whereby entering the first character of one or more
506 * sub-elements causes those elements to scroll into view or become 536 * sub-elements causes those elements to scroll into view or become
507 * selected. Subsequent character input may narrow the selection further as 537 * selected. Subsequent character input may narrow the selection further as
@@ -514,7 +544,7 @@ typedef enum {
514 * question supports text selection. It should only be exposed on objects 544 * question supports text selection. It should only be exposed on objects
515 * which implement the #AtspiText interface, in order to distinguish this state 545 * which implement the #AtspiText interface, in order to distinguish this state
516 * from @ATSPI_STATE_SELECTABLE, which infers that the object in question is a 546 * from @ATSPI_STATE_SELECTABLE, which infers that the object in question is a
517 * selectable child of an object which implements #AtspiSelection. While 547 * selectable child of an object which implements #AtspiSelection. While
518 * similar, text selection and subelement selection are distinct operations. 548 * similar, text selection and subelement selection are distinct operations.
519 * @ATSPI_STATE_IS_DEFAULT: This state indicates that the object in question is 549 * @ATSPI_STATE_IS_DEFAULT: This state indicates that the object in question is
520 * the 'default' interaction object in a dialog, i.e. the one that gets 550 * the 'default' interaction object in a dialog, i.e. the one that gets
@@ -523,12 +553,20 @@ typedef enum {
523 * @ATSPI_STATE_VISITED: This state indicates that the object (typically a 553 * @ATSPI_STATE_VISITED: This state indicates that the object (typically a
524 * hyperlink) has already been activated or invoked, with the result that 554 * hyperlink) has already been activated or invoked, with the result that
525 * some backing data has been downloaded or rendered. 555 * some backing data has been downloaded or rendered.
556 *@ATSPI_STATE_CHECKABLE: Indicates this object has the potential to
557 * be checked, such as a checkbox or toggle-able table cell. @Since:
558 * 2.12
559 *@ATSPI_STATE_HAS_POPUP: Indicates that the object has a popup
560 * context menu or sub-level menu which may or may not be
561 * showing. This means that activation renders conditional content.
562 * Note that ordinary tooltips are not considered popups in this
563 * context. @Since: 2.12
526 * @ATSPI_STATE_LAST_DEFINED: This value of the enumeration should not be used 564 * @ATSPI_STATE_LAST_DEFINED: This value of the enumeration should not be used
527 * as a parameter, it indicates the number of items in the #AtspiStateType 565 * as a parameter, it indicates the number of items in the #AtspiStateType
528 * enumeration. 566 * enumeration.
529 * 567 *
530 * 568 *
531 * Enumeration used by various interfaces indicating every possible state 569 * Enumeration used by various interfaces indicating every possible state
532 * an #AtspiAccesible object can assume. 570 * an #AtspiAccesible object can assume.
533 * 571 *
534 **/ 572 **/
@@ -574,6 +612,8 @@ typedef enum {
574 ATSPI_STATE_SELECTABLE_TEXT, 612 ATSPI_STATE_SELECTABLE_TEXT,
575 ATSPI_STATE_IS_DEFAULT, 613 ATSPI_STATE_IS_DEFAULT,
576 ATSPI_STATE_VISITED, 614 ATSPI_STATE_VISITED,
615 ATSPI_STATE_CHECKABLE,
616 ATSPI_STATE_HAS_POPUP,
577 ATSPI_STATE_LAST_DEFINED, 617 ATSPI_STATE_LAST_DEFINED,
578} AtspiStateType; 618} AtspiStateType;
579 619
@@ -606,18 +646,18 @@ typedef enum {
606 646
607/** 647/**
608 * AtspiEventType: 648 * AtspiEventType:
609 * @ATSPI_KEY_PRESSED_EVENT: Indicates that a key on a keyboard device was 649 * @ATSPI_KEY_PRESSED_EVENT: Indicates that a key on a keyboard device was
610 * pressed. 650 * pressed.
611 * @ATSPI_KEY_RELEASED_EVENT: Indicates that a key on a keyboard device was 651 * @ATSPI_KEY_RELEASED_EVENT: Indicates that a key on a keyboard device was
612 * released. 652 * released.
613 * @ATSPI_BUTTON_PRESSED_EVENT: Indicates that a button on a non-keyboard 653 * @ATSPI_BUTTON_PRESSED_EVENT: Indicates that a button on a non-keyboard
614 * human interface device (HID) was pressed. 654 * human interface device (HID) was pressed.
615 * @ATSPI_BUTTON_RELEASED_EVENT: Indicates that a button on a non-keyboard 655 * @ATSPI_BUTTON_RELEASED_EVENT: Indicates that a button on a non-keyboard
616 * human interface device (HID) was released. 656 * human interface device (HID) was released.
617 * 657 *
618 * Enumeration used to specify the event types of interest to an 658 * Enumeration used to specify the event types of interest to an
619 * #AtspiEventListener, or 659 * #AtspiEventListener, or
620 * to identify the type of an event for which notification has been sent. 660 * to identify the type of an event for which notification has been sent.
621 * 661 *
622 **/ 662 **/
623typedef enum { 663typedef enum {
@@ -639,19 +679,20 @@ typedef enum {
639 * @ATSPI_KEY_PRESS: Emulates the pressing of a hardware keyboard key. 679 * @ATSPI_KEY_PRESS: Emulates the pressing of a hardware keyboard key.
640 * @ATSPI_KEY_RELEASE: Emulates the release of a hardware keyboard key. 680 * @ATSPI_KEY_RELEASE: Emulates the release of a hardware keyboard key.
641 * @ATSPI_KEY_PRESSRELEASE: Emulates the pressing and immediate releasing 681 * @ATSPI_KEY_PRESSRELEASE: Emulates the pressing and immediate releasing
642 * ofa hardware keyboard key. 682 * of a hardware keyboard key.
643 * @ATSPI_KEY_SYM: A symbolic key event is generated, without specifying a 683 * @ATSPI_KEY_SYM: A symbolic key event is generated, without specifying a
644 * hardware key. Note: if the keysym is not present in the current keyboard 684 * hardware key. Note: if the keysym is not present in the current keyboard
645 * map, the #AtspiDeviceEventController instance has a limited ability to 685 * map, the #AtspiDeviceEventController instance has a limited ability to
646 * generate such keysyms on-the-fly. Reliability of GenerateKeyboardEvent 686 * generate such keysyms on-the-fly. Reliability of GenerateKeyboardEvent
647 * calls using out-of-keymap keysyms will vary from system to system, and on 687 * calls using out-of-keymap keysyms will vary from system to system, and on
648 * the number of different out-of-keymap being generated in quick succession. 688 * the number of different out-of-keymap keysyms being generated in quick
649 * In practice this is rarely significant, since the keysyms of interest to 689 * succession.
650 * AT clients and keyboard emulators are usually part of the current keymap, 690 * In practice this is rarely significant, since the keysyms of interest to
651 * i.e. present on the system keyboard for the current locale (even if a 691 * AT clients and keyboard emulators are usually part of the current keymap,
652 * physical hardware keyboard is not connected. 692 * i.e., present on the system keyboard for the current locale (even if a
693 * physical hardware keyboard is not connected).
653 * @ATSPI_KEY_STRING: A string is converted to its equivalent keyboard events 694 * @ATSPI_KEY_STRING: A string is converted to its equivalent keyboard events
654 * and emitted. If the string consists of complex character or composed 695 * and emitted. If the string consists of complex characters or composed
655 * characters which are not in the current keymap, string emission is 696 * characters which are not in the current keymap, string emission is
656 * subject to the out-of-keymap limitations described for 697 * subject to the out-of-keymap limitations described for
657 * @ATSPI_KEY_SYM. In practice this limitation primarily effects 698 * @ATSPI_KEY_SYM. In practice this limitation primarily effects
@@ -725,7 +766,7 @@ typedef enum {
725 * modifies the state, onscreen location, or other attributes of one or more 766 * modifies the state, onscreen location, or other attributes of one or more
726 * target objects. 767 * target objects.
727 * @ATSPI_RELATION_CONTROLLED_BY: Object state, position, etc. is 768 * @ATSPI_RELATION_CONTROLLED_BY: Object state, position, etc. is
728 * modified/controlled by user interaction with one or more other objects. 769 * modified/controlled by user interaction with one or more other objects.
729 * For instance a viewport or scroll pane may be @ATSPI_RELATION_CONTROLLED_BY 770 * For instance a viewport or scroll pane may be @ATSPI_RELATION_CONTROLLED_BY
730 * scrollbars. 771 * scrollbars.
731 * @ATSPI_RELATION_MEMBER_OF: Object has a grouping relationship (e.g. 'same 772 * @ATSPI_RELATION_MEMBER_OF: Object has a grouping relationship (e.g. 'same
@@ -741,10 +782,10 @@ typedef enum {
741 * object which is not the 'next sibling' in the accessibility hierarchy. 782 * object which is not the 'next sibling' in the accessibility hierarchy.
742 * @ATSPI_RELATION_FLOWS_FROM: Reciprocal of @ATSPI_RELATION_FLOWS_TO. 783 * @ATSPI_RELATION_FLOWS_FROM: Reciprocal of @ATSPI_RELATION_FLOWS_TO.
743 * @ATSPI_RELATION_SUBWINDOW_OF: Object is visually and semantically considered 784 * @ATSPI_RELATION_SUBWINDOW_OF: Object is visually and semantically considered
744 * a subwindow of another object, even though it is not the object's child. 785 * a subwindow of another object, even though it is not the object's child.
745 * Useful when dealing with embedded applications and other cases where the 786 * Useful when dealing with embedded applications and other cases where the
746 * widget hierarchy does not map cleanly to the onscreen presentation. 787 * widget hierarchy does not map cleanly to the onscreen presentation.
747 * @ATSPI_RELATION_EMBEDS: Similar to @ATSPI_RELATION_SUBWINDOW_OF, but 788 * @ATSPI_RELATION_EMBEDS: Similar to @ATSPI_RELATION_SUBWINDOW_OF, but
748 * specifically used for cross-process embedding. 789 * specifically used for cross-process embedding.
749 * @ATSPI_RELATION_EMBEDDED_BY: Reciprocal of @ATSPI_RELATION_EMBEDS. Used to 790 * @ATSPI_RELATION_EMBEDDED_BY: Reciprocal of @ATSPI_RELATION_EMBEDS. Used to
750 * denote content rendered by embedded renderers that live in a separate process 791 * denote content rendered by embedded renderers that live in a separate process
@@ -752,9 +793,9 @@ typedef enum {
752 * @ATSPI_RELATION_POPUP_FOR: Denotes that the object is a transient window or 793 * @ATSPI_RELATION_POPUP_FOR: Denotes that the object is a transient window or
753 * frame associated with another onscreen object. Similar to @ATSPI_TOOLTIP_FOR, 794 * frame associated with another onscreen object. Similar to @ATSPI_TOOLTIP_FOR,
754 * but more general. Useful for windows which are technically toplevels 795 * but more general. Useful for windows which are technically toplevels
755 * but which, for one or more reasons, do not explicitly cause their 796 * but which, for one or more reasons, do not explicitly cause their
756 * associated window to lose 'window focus'. Creation of an @ATSPI_ROLE_WINDOW 797 * associated window to lose 'window focus'. Creation of an @ATSPI_ROLE_WINDOW
757 * object with the @ATSPI_RELATION_POPUP_FOR relation usually requires 798 * object with the @ATSPI_RELATION_POPUP_FOR relation usually requires
758 * some presentation action on the part 799 * some presentation action on the part
759 * of assistive technology clients, even though the previous toplevel 800 * of assistive technology clients, even though the previous toplevel
760 * @ATSPI_ROLE_FRAME object may still be the active window. 801 * @ATSPI_ROLE_FRAME object may still be the active window.
@@ -767,24 +808,24 @@ typedef enum {
767 * descriptive information about this object; more verbose than 808 * descriptive information about this object; more verbose than
768 * @ATSPI_RELATION_LABELLED_BY. 809 * @ATSPI_RELATION_LABELLED_BY.
769 * @ATSPI_RELATION_LAST_DEFINED: Do not use as a parameter value, used to 810 * @ATSPI_RELATION_LAST_DEFINED: Do not use as a parameter value, used to
770 * determine the size of the enumeration. 811 * determine the size of the enumeration.
771 * 812 *
772 * #AtspiRelationType specifies a relationship between objects 813 * #AtspiRelationType specifies a relationship between objects
773 * (possibly one-to-many 814 * (possibly one-to-many
774 * or many-to-one) outside of the normal parent/child hierarchical 815 * or many-to-one) outside of the normal parent/child hierarchical
775 * relationship. It allows better semantic identification of how objects 816 * relationship. It allows better semantic identification of how objects
776 * are associated with one another. For instance the 817 * are associated with one another. For instance the
777 * @ATSPI_RELATION_LABELLED_BY 818 * @ATSPI_RELATION_LABELLED_BY
778 * relationship may be used to identify labelling information that should 819 * relationship may be used to identify labelling information that should
779 * accompany the accessible name property when presenting an object's content or 820 * accompany the accessible name property when presenting an object's content or
780 * identity to the end user. Similarly, 821 * identity to the end user. Similarly,
781 * @ATSPI_RELATION_CONTROLLER_FOR can be used 822 * @ATSPI_RELATION_CONTROLLER_FOR can be used
782 * to further specify the context in which a valuator is useful, and/or the 823 * to further specify the context in which a valuator is useful, and/or the
783 * other UI components which are directly effected by user interactions with 824 * other UI components which are directly effected by user interactions with
784 * the valuator. Common examples include association of scrollbars with the 825 * the valuator. Common examples include association of scrollbars with the
785 * viewport or panel which they control. 826 * viewport or panel which they control.
786 * 827 *
787 * 828 *
788 * Enumeration used to specify 829 * Enumeration used to specify
789 * the type of relation encapsulated in an #AtspiRelation object. 830 * the type of relation encapsulated in an #AtspiRelation object.
790 * 831 *
@@ -862,7 +903,7 @@ typedef enum {
862 * etc. 903 * etc.
863 * @ATSPI_ROLE_GLASS_PANE: A pane that is guaranteed to be painted on top of 904 * @ATSPI_ROLE_GLASS_PANE: A pane that is guaranteed to be painted on top of
864 * all panes beneath it. 905 * all panes beneath it.
865 * @ATSPI_ROLE_HTML_CONTAINER: A document container for HTML, whose children 906 * @ATSPI_ROLE_HTML_CONTAINER: A document container for HTML, whose children
866 * represent the document content. 907 * represent the document content.
867 * @ATSPI_ROLE_ICON: A small fixed size picture, typically used to decorate 908 * @ATSPI_ROLE_ICON: A small fixed size picture, typically used to decorate
868 * components. 909 * components.
@@ -913,7 +954,7 @@ typedef enum {
913 * @ATSPI_ROLE_SCROLL_PANE: An object that allows a user to incrementally view 954 * @ATSPI_ROLE_SCROLL_PANE: An object that allows a user to incrementally view
914 * a large amount of information. @ATSPI_ROLE_SCROLL_PANE objects are usually 955 * a large amount of information. @ATSPI_ROLE_SCROLL_PANE objects are usually
915 * accompanied by @ATSPI_ROLE_SCROLL_BAR controllers, on which the 956 * accompanied by @ATSPI_ROLE_SCROLL_BAR controllers, on which the
916 * @ATSPI_RELATION_CONTROLLER_FOR and @ATSPI_RELATION_CONTROLLED_BY 957 * @ATSPI_RELATION_CONTROLLER_FOR and @ATSPI_RELATION_CONTROLLED_BY
917 * reciprocal relations are set. See #atspi_get_relation_set. 958 * reciprocal relations are set. See #atspi_get_relation_set.
918 * @ATSPI_ROLE_SEPARATOR: An object usually contained in a menu to provide a 959 * @ATSPI_ROLE_SEPARATOR: An object usually contained in a menu to provide a
919 * visible and logical separation of the contents in a menu. 960 * visible and logical separation of the contents in a menu.
@@ -921,7 +962,7 @@ typedef enum {
921 * range. 962 * range.
922 * @ATSPI_ROLE_SPIN_BUTTON: An object which allows one of a set of choices to 963 * @ATSPI_ROLE_SPIN_BUTTON: An object which allows one of a set of choices to
923 * be selected, and which displays the current choice. Unlike 964 * be selected, and which displays the current choice. Unlike
924 * @ATSPI_ROLE_SCROLL_BAR, @ATSPI_ROLE_SLIDER objects need not control 965 * @ATSPI_ROLE_SCROLL_BAR, @ATSPI_ROLE_SLIDER objects need not control
925 * 'viewport'-like objects. 966 * 'viewport'-like objects.
926 * @ATSPI_ROLE_SPLIT_PANE: A specialized panel that presents two other panels 967 * @ATSPI_ROLE_SPLIT_PANE: A specialized panel that presents two other panels
927 * at the same time. 968 * at the same time.
@@ -930,7 +971,7 @@ typedef enum {
930 * @ATSPI_ROLE_TABLE: An object used to repesent information in terms of rows 971 * @ATSPI_ROLE_TABLE: An object used to repesent information in terms of rows
931 * and columns. 972 * and columns.
932 * @ATSPI_ROLE_TABLE_CELL: A 'cell' or discrete child within a Table. Note: 973 * @ATSPI_ROLE_TABLE_CELL: A 'cell' or discrete child within a Table. Note:
933 * Table cells need not have @ATSPI_ROLE_TABLE_CELL, other 974 * Table cells need not have @ATSPI_ROLE_TABLE_CELL, other
934 * #AtspiRoleType values are valid as well. 975 * #AtspiRoleType values are valid as well.
935 * @ATSPI_ROLE_TABLE_COLUMN_HEADER: An object which labels a particular column 976 * @ATSPI_ROLE_TABLE_COLUMN_HEADER: An object which labels a particular column
936 * in an #AtspiTable. 977 * in an #AtspiTable.
@@ -954,7 +995,7 @@ typedef enum {
954 * user. 995 * user.
955 * @ATSPI_ROLE_TREE_TABLE: An object that presents both tabular and 996 * @ATSPI_ROLE_TREE_TABLE: An object that presents both tabular and
956 * hierarchical info to the user. 997 * hierarchical info to the user.
957 * @ATSPI_ROLE_UNKNOWN: The object contains some #AtspiAccessible information, 998 * @ATSPI_ROLE_UNKNOWN: The object contains some #AtspiAccessible information,
958 * but its role is not known. 999 * but its role is not known.
959 * @ATSPI_ROLE_VIEWPORT: An object usually used in a scroll pane, or to 1000 * @ATSPI_ROLE_VIEWPORT: An object usually used in a scroll pane, or to
960 * otherwise clip a larger object or content renderer to a specific 1001 * otherwise clip a larger object or content renderer to a specific
@@ -966,11 +1007,11 @@ typedef enum {
966 * @ATSPI_ROLE_FOOTER: An object that serves as a document footer. 1007 * @ATSPI_ROLE_FOOTER: An object that serves as a document footer.
967 * @ATSPI_ROLE_PARAGRAPH: An object which is contains a single paragraph of 1008 * @ATSPI_ROLE_PARAGRAPH: An object which is contains a single paragraph of
968 * text content. See also @ATSPI_ROLE_TEXT. 1009 * text content. See also @ATSPI_ROLE_TEXT.
969 * @ATSPI_ROLE_RULER: An object which describes margins and tab stops, etc. 1010 * @ATSPI_ROLE_RULER: An object which describes margins and tab stops, etc.
970 * for text objects which it controls (should have 1011 * for text objects which it controls (should have
971 * @ATSPI_RELATION_CONTROLLER_FOR relation to such). 1012 * @ATSPI_RELATION_CONTROLLER_FOR relation to such).
972 * @ATSPI_ROLE_APPLICATION: An object corresponding to the toplevel accessible 1013 * @ATSPI_ROLE_APPLICATION: An object corresponding to the toplevel accessible
973 * of an application, which may contain @ATSPI_ROLE_FRAME objects or other 1014 * of an application, which may contain @ATSPI_ROLE_FRAME objects or other
974 * accessible objects. Children of #AccessibleDesktop objects are generally 1015 * accessible objects. Children of #AccessibleDesktop objects are generally
975 * @ATSPI_ROLE_APPLICATION objects. 1016 * @ATSPI_ROLE_APPLICATION objects.
976 * @ATSPI_ROLE_AUTOCOMPLETE: The object is a dialog or list containing items 1017 * @ATSPI_ROLE_AUTOCOMPLETE: The object is a dialog or list containing items
@@ -984,13 +1025,13 @@ typedef enum {
984 * and for embedding of out-of-process component, "panel applets", etc. 1025 * and for embedding of out-of-process component, "panel applets", etc.
985 * @ATSPI_ROLE_ENTRY: The object is a component whose textual content may be 1026 * @ATSPI_ROLE_ENTRY: The object is a component whose textual content may be
986 * entered or modified by the user, provided @ATSPI_STATE_EDITABLE is present. 1027 * entered or modified by the user, provided @ATSPI_STATE_EDITABLE is present.
987 * A readonly @ATSPI_ROLE_ENTRY object (i.e. where @ATSPI_STATE_EDITABLE is 1028 * A readonly @ATSPI_ROLE_ENTRY object (i.e. where @ATSPI_STATE_EDITABLE is
988 * not present) implies a read-only 'text field' in a form, as opposed to a 1029 * not present) implies a read-only 'text field' in a form, as opposed to a
989 * title, label, or caption. 1030 * title, label, or caption.
990 * @ATSPI_ROLE_CHART: The object is a graphical depiction of quantitative data. 1031 * @ATSPI_ROLE_CHART: The object is a graphical depiction of quantitative data.
991 * It may contain multiple subelements whose attributes and/or description 1032 * It may contain multiple subelements whose attributes and/or description
992 * may be queried to obtain both the quantitative data and information about 1033 * may be queried to obtain both the quantitative data and information about
993 * how the data is being presented. The @ATSPI_LABELLED_BY relation is 1034 * how the data is being presented. The @ATSPI_LABELLED_BY relation is
994 * particularly important in interpreting objects of this type, as is the 1035 * particularly important in interpreting objects of this type, as is the
995 * accessible description property. See @ATSPI_ROLE_CAPTION. 1036 * accessible description property. See @ATSPI_ROLE_CAPTION.
996 * @ATSPI_ROLE_CAPTION: The object contains descriptive information, usually 1037 * @ATSPI_ROLE_CAPTION: The object contains descriptive information, usually
@@ -1000,7 +1041,7 @@ typedef enum {
1000 * contains a view of document content. #AtspiDocument frames may occur within 1041 * contains a view of document content. #AtspiDocument frames may occur within
1001 * another #AtspiDocument instance, in which case the second document may be 1042 * another #AtspiDocument instance, in which case the second document may be
1002 * said to be embedded in the containing instance. HTML frames are often 1043 * said to be embedded in the containing instance. HTML frames are often
1003 * @ATSPI_ROLE_DOCUMENT_FRAME: Either this object, or a singleton descendant, 1044 * ATSPI_ROLE_DOCUMENT_FRAME: Either this object, or a singleton descendant,
1004 * should implement the #AtspiDocument interface. 1045 * should implement the #AtspiDocument interface.
1005 * @ATSPI_ROLE_HEADING: The object serves as a heading for content which 1046 * @ATSPI_ROLE_HEADING: The object serves as a heading for content which
1006 * follows it in a document. The 'heading level' of the heading, if 1047 * follows it in a document. The 'heading level' of the heading, if
@@ -1018,22 +1059,22 @@ typedef enum {
1018 * this role should be ignored by clients, if they are encountered at all. 1059 * this role should be ignored by clients, if they are encountered at all.
1019 * @ATSPI_ROLE_FORM: The object is a containing instance of document content 1060 * @ATSPI_ROLE_FORM: The object is a containing instance of document content
1020 * which has within it components with which the user can interact in order 1061 * which has within it components with which the user can interact in order
1021 * to input information; i.e. the object is a container for pushbuttons, 1062 * to input information; i.e. the object is a container for pushbuttons,
1022 * comboboxes, text input fields, and other 'GUI' components. @ATSPI_ROLE_FORM 1063 * comboboxes, text input fields, and other 'GUI' components. @ATSPI_ROLE_FORM
1023 * should not, in general, be used for toplevel GUI containers or dialogs, 1064 * should not, in general, be used for toplevel GUI containers or dialogs,
1024 * but should be reserved for 'GUI' containers which occur within document 1065 * but should be reserved for 'GUI' containers which occur within document
1025 * content, for instance within Web documents, presentations, or text 1066 * content, for instance within Web documents, presentations, or text
1026 * documents. Unlike other GUI containers and dialogs which occur inside 1067 * documents. Unlike other GUI containers and dialogs which occur inside
1027 * application instances, @ATSPI_ROLE_FORM containers' components are 1068 * application instances, @ATSPI_ROLE_FORM containers' components are
1028 * associated with the current document, rather than the current foreground 1069 * associated with the current document, rather than the current foreground
1029 * application or viewer instance. 1070 * application or viewer instance.
1030 * @ATSPI_ROLE_LINK: The object is a hypertext anchor, i.e. a "link" in a 1071 * @ATSPI_ROLE_LINK: The object is a hypertext anchor, i.e. a "link" in a
1031 * hypertext document. Such objects are distinct from 'inline' content 1072 * hypertext document. Such objects are distinct from 'inline' content
1032 * which may also use the #AtspiHypertext/#AtspiHyperlink interfacesto indicate 1073 * which may also use the #AtspiHypertext/#AtspiHyperlink interfacesto indicate
1033 * the range/location within a text object where an inline or embedded object 1074 * the range/location within a text object where an inline or embedded object
1034 * lies. 1075 * lies.
1035 * @ATSPI_ROLE_INPUT_METHOD_WINDOW: The object is a window or similar viewport 1076 * @ATSPI_ROLE_INPUT_METHOD_WINDOW: The object is a window or similar viewport
1036 * which is used to allow composition or input of a 'complex character', 1077 * which is used to allow composition or input of a 'complex character',
1037 * in other words it is an "input method window". 1078 * in other words it is an "input method window".
1038 * @ATSPI_ROLE_TABLE_ROW: A row in a table. 1079 * @ATSPI_ROLE_TABLE_ROW: A row in a table.
1039 * @ATSPI_ROLE_TREE_ITEM: An object that represents an element of a tree. 1080 * @ATSPI_ROLE_TREE_ITEM: An object that represents an element of a tree.
@@ -1064,6 +1105,46 @@ typedef enum {
1064 * particular application. 1105 * particular application.
1065 * @ATSPI_ROLE_INFO_BAR: An object designed to present a message to the user 1106 * @ATSPI_ROLE_INFO_BAR: An object designed to present a message to the user
1066 * within an existing window. 1107 * within an existing window.
1108 *@ATSPI_ROLE_LEVEL_BAR: A bar that serves as a level indicator to, for
1109 * instance, show the strength of a password or the state of a battery.
1110 * Since: 2.8
1111 *@ATSPI_ROLE_TITLE_BAR: A bar that serves as the title of a window or a
1112 * dialog. @Since: 2.12
1113 *@ATSPI_ROLE_BLOCK_QUOTE: An object which contains a text section
1114 * that is quoted from another source. @Since: 2.12
1115 *@ATSPI_ROLE_AUDIO: An object which represents an audio
1116 * element. @Since: 2.12
1117 *@ATSPI_ROLE_VIDEO: An object which represents a video
1118 * element. @Since: 2.12
1119 *@ATSPI_ROLE_DEFINITION: A definition of a term or concept. @Since: 2.12
1120 *@ATSPI_ROLE_ARTICLE: A section of a page that consists of a
1121 * composition that forms an independent part of a document, page, or
1122 * site. Examples: A blog entry, a news story, a forum post. @Since:
1123 * 2.12
1124 *@ATSPI_ROLE_LANDMARK: A region of a web page intended as a
1125 * navigational landmark. This is designed to allow Assistive
1126 * Technologies to provide quick navigation among key regions within a
1127 * document. @Since: 2.12
1128 *@ATSPI_ROLE_LOG: A text widget or container holding log content, such
1129 * as chat history and error logs. In this role there is a
1130 * relationship between the arrival of new items in the log and the
1131 * reading order. The log contains a meaningful sequence and new
1132 * information is added only to the end of the log, not at arbitrary
1133 * points. @Since: 2.12
1134 *@ATSPI_ROLE_MARQUEE: A container where non-essential information
1135 * changes frequently. Common usages of marquee include stock tickers
1136 * and ad banners. The primary difference between a marquee and a log
1137 * is that logs usually have a meaningful order or sequence of
1138 * important content changes. @Since: 2.12
1139 *@ATSPI_ROLE_MATH: A text widget or container that holds a mathematical
1140 * expression. @Since: 2.12
1141 *@ATSPI_ROLE_RATING: A widget whose purpose is to display a rating,
1142 * such as the number of stars associated with a song in a media
1143 * player. Objects of this role should also implement
1144 * AtspiValue. @Since: 2.12
1145 *@ATSPI_ROLE_TIMER: An object containing a numerical counter which
1146 * indicates an amount of elapsed time from a start point, or the time
1147 * remaining until an end point. @Since: 2.12
1067 * @ATSPI_ROLE_LAST_DEFINED: Not a valid role, used for finding end of 1148 * @ATSPI_ROLE_LAST_DEFINED: Not a valid role, used for finding end of
1068 * enumeration. 1149 * enumeration.
1069 * 1150 *
@@ -1175,6 +1256,19 @@ typedef enum {
1175 ATSPI_ROLE_IMAGE_MAP, 1256 ATSPI_ROLE_IMAGE_MAP,
1176 ATSPI_ROLE_NOTIFICATION, 1257 ATSPI_ROLE_NOTIFICATION,
1177 ATSPI_ROLE_INFO_BAR, 1258 ATSPI_ROLE_INFO_BAR,
1259 ATSPI_ROLE_LEVEL_BAR,
1260 ATSPI_ROLE_TITLE_BAR,
1261 ATSPI_ROLE_BLOCK_QUOTE,
1262 ATSPI_ROLE_AUDIO,
1263 ATSPI_ROLE_VIDEO,
1264 ATSPI_ROLE_DEFINITION,
1265 ATSPI_ROLE_ARTICLE,
1266 ATSPI_ROLE_LANDMARK,
1267 ATSPI_ROLE_LOG,
1268 ATSPI_ROLE_MARQUEE,
1269 ATSPI_ROLE_MATH,
1270 ATSPI_ROLE_RATING,
1271 ATSPI_ROLE_TIMER,
1178 ATSPI_ROLE_LAST_DEFINED, 1272 ATSPI_ROLE_LAST_DEFINED,
1179} AtspiRole; 1273} AtspiRole;
1180 1274
@@ -1187,8 +1281,8 @@ typedef enum {
1187 1281
1188typedef enum 1282typedef enum
1189{ 1283{
1190 ATSPI_CACHE_NONE = 0, 1284 ATSPI_CACHE_NONE = 0,
1191 ATSPI_CACHE_PARENT = 1 << 0, 1285 ATSPI_CACHE_PARENT = 1 << 0,
1192 ATSPI_CACHE_CHILDREN = 1 << 1, 1286 ATSPI_CACHE_CHILDREN = 1 << 1,
1193 ATSPI_CACHE_NAME = 1 << 2, 1287 ATSPI_CACHE_NAME = 1 << 2,
1194 ATSPI_CACHE_DESCRIPTION = 1 << 3, 1288 ATSPI_CACHE_DESCRIPTION = 1 << 3,
@@ -1197,10 +1291,7 @@ typedef enum
1197 ATSPI_CACHE_INTERFACES = 1 << 6, 1291 ATSPI_CACHE_INTERFACES = 1 << 6,
1198 ATSPI_CACHE_ATTRIBUTES = 1 << 7, 1292 ATSPI_CACHE_ATTRIBUTES = 1 << 7,
1199 ATSPI_CACHE_ALL = 0x3fffffff, 1293 ATSPI_CACHE_ALL = 0x3fffffff,
1200 ATSPI_CACHE_DEFAULT = ATSPI_CACHE_PARENT | ATSPI_CACHE_CHILDREN | 1294 ATSPI_CACHE_DEFAULT = ATSPI_CACHE_PARENT | ATSPI_CACHE_CHILDREN | ATSPI_CACHE_NAME | ATSPI_CACHE_DESCRIPTION | ATSPI_CACHE_STATES | ATSPI_CACHE_ROLE | ATSPI_CACHE_INTERFACES,
1201 ATSPI_CACHE_NAME | ATSPI_CACHE_DESCRIPTION |
1202 ATSPI_CACHE_STATES | ATSPI_CACHE_ROLE |
1203 ATSPI_CACHE_INTERFACES,
1204 ATSPI_CACHE_UNDEFINED = 0x40000000, 1295 ATSPI_CACHE_UNDEFINED = 0x40000000,
1205} AtspiCache; 1296} AtspiCache;
1206 1297
@@ -1231,6 +1322,7 @@ typedef enum
1231#define ATSPI_DBUS_INTERFACE_IMAGE "org.a11y.atspi.Image" 1322#define ATSPI_DBUS_INTERFACE_IMAGE "org.a11y.atspi.Image"
1232#define ATSPI_DBUS_INTERFACE_SELECTION "org.a11y.atspi.Selection" 1323#define ATSPI_DBUS_INTERFACE_SELECTION "org.a11y.atspi.Selection"
1233#define ATSPI_DBUS_INTERFACE_TABLE "org.a11y.atspi.Table" 1324#define ATSPI_DBUS_INTERFACE_TABLE "org.a11y.atspi.Table"
1325#define ATSPI_DBUS_INTERFACE_TABLE_CELL "org.a11y.atspi.TableCell"
1234#define ATSPI_DBUS_INTERFACE_TEXT "org.a11y.atspi.Text" 1326#define ATSPI_DBUS_INTERFACE_TEXT "org.a11y.atspi.Text"
1235#define ATSPI_DBUS_INTERFACE_VALUE "org.a11y.atspi.Value" 1327#define ATSPI_DBUS_INTERFACE_VALUE "org.a11y.atspi.Value"
1236#define ATSPI_DBUS_INTERFACE_SOCKET "org.a11y.atspi.Socket" 1328#define ATSPI_DBUS_INTERFACE_SOCKET "org.a11y.atspi.Socket"