X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=atspi%2Fatspi-constants.h;h=24f38529abf82d57317e6ca5d8ad4a87babfcdac;hb=8fd84fce6f1ef2a9e694a14cfb77a29ed269a686;hp=6aeca63583a9d115495e3ae263c01129a06d691a;hpb=6c48cb3a41b12232aecddd2116262271958ff227;p=platform%2Fupstream%2Fat-spi2-core.git diff --git a/atspi/atspi-constants.h b/atspi/atspi-constants.h index 6aeca63..24f3852 100644 --- a/atspi/atspi-constants.h +++ b/atspi/atspi-constants.h @@ -1,3 +1,26 @@ +/* + * AT-SPI - Assistive Technology Service Provider Interface + * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap) + * + * Copyright 2010, 2011 Novell, Inc. + * Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + /* TODO: Auto-generate this file again @@ -81,7 +104,6 @@ extern "C" { * Used by interfaces #AtspiText and #AtspiDocument, this * enumeration corresponds to the POSIX 'setlocale' enum values. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_LOCALE_TYPE_MESSAGES, @@ -108,13 +130,17 @@ typedef enum { * Enumeration used by #AtspiComponent, #AtspiImage, and #AtspiText interfaces * to specify whether coordinates are relative to the window or the screen. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_COORD_TYPE_SCREEN, ATSPI_COORD_TYPE_WINDOW, } AtspiCoordType; +typedef enum { + ATSPI_NEIGHBOR_SEARCH_FORWARD = 1, + ATSPI_NEIGHBOR_SEARCH_BACKWARD = 2, +} AtspiNeighborSearchDirection; + /** * ATSPI_COORD_TYPE_COUNT: * @@ -136,7 +162,6 @@ typedef enum { * Enumeration used by interface #AtspiCollection to specify * the way #AtspiAccesible objects should be sorted. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_Collection_SORT_ORDER_INVALID, @@ -158,7 +183,8 @@ typedef enum { /** * AtspiCollectionMatchType: - * @ATSPI_Collection_MATCH_INVALID: + * @ATSPI_Collection_MATCH_INVALID: Indicates an error condition or + * uninitialized value. * @ATSPI_Collection_MATCH_ALL: #TRUE if all of the criteria are met. * @ATSPI_Collection_MATCH_ANY: #TRUE if any of the criteria are met. * @ATSPI_Collection_MATCH_NONE: #TRUE if none of the criteria are met. @@ -169,9 +195,8 @@ typedef enum { * enumeration. * * Enumeration used by #AtspiMatchRule to specify - * how to interpret #AtspiAccesible objects. + * how to interpret #AtspiAccessible objects. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_Collection_MATCH_INVALID, @@ -199,7 +224,6 @@ typedef enum { * Enumeration used by interface #AtspiCollection to specify * restrictions on #AtspiAccesible objects to be traversed. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_Collection_TREE_RESTRICT_CHILDREN, @@ -255,7 +279,6 @@ typedef enum { * @ATSPI_LAYER_CANVAS, @ATSPI_LAYER_WIDGET, @ATSPI_LAYER_POPUP, and * @ATSPI_LAYER_OVERLAY. * - * Bitfield/set of flags generated from the AT-SPI specification. */ typedef enum { ATSPI_LAYER_INVALID, @@ -313,7 +336,8 @@ typedef enum { * #atspi_text_get_text_at_offset, #atspi_text_get_text_after_offset, and * #atspi_text_get_text_before_offset. * - * Bitfield/set of flags generated from the AT-SPI specification. + * This enumerationis deprecated since 2.9.90 and should not be used. Use + * AtspiTextGranularity with #atspi_text_get_string_at_offset instead. **/ typedef enum { ATSPI_TEXT_BOUNDARY_CHAR, @@ -326,6 +350,34 @@ typedef enum { } AtspiTextBoundaryType; /** + *AtspiTextGranularity: + *@ATSPI_TEXT_GRANULARITY_CHAR: Granularity is defined by the boundaries between characters + * (including non-printing characters) + *@ATSPI_TEXT_GRANULARITY_WORD: Granularity is defined by the boundaries of a word, + * starting at the beginning of the current word and finishing at the beginning of + * the following one, if present. + *@ATSPI_TEXT_GRANULARITY_SENTENCE: Granularity is defined by the boundaries of a sentence, + * starting at the beginning of the current sentence and finishing at the beginning of + * the following one, if present. + *@ATSPI_TEXT_GRANULARITY_LINE: Granularity is defined by the boundaries of a line, + * starting at the beginning of the current line and finishing at the beginning of + * the following one, if present. + *@ATSPI_TEXT_GRANULARITY_PARAGRAPH: Granularity is defined by the boundaries of a paragraph, + * starting at the beginning of the current paragraph and finishing at the beginning of + * the following one, if present. + * + * Text granularity types used for specifying the granularity of the region of + * text we are interested in. + **/ +typedef enum { + ATSPI_TEXT_GRANULARITY_CHAR, + ATSPI_TEXT_GRANULARITY_WORD, + ATSPI_TEXT_GRANULARITY_SENTENCE, + ATSPI_TEXT_GRANULARITY_LINE, + ATSPI_TEXT_GRANULARITY_PARAGRAPH +} AtspiTextGranularity; + +/** * ATSPI_TEXT_BOUNDARY_TYPE_COUNT: * * One higher than the highest valid value of #AtspiTextBoundaryType. @@ -345,7 +397,6 @@ typedef enum { * Enumeration used by interface #AtspiText to indicate * how to treat characters intersecting bounding boxes. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_TEXT_CLIP_NONE, @@ -366,7 +417,13 @@ typedef enum { * @ATSPI_STATE_INVALID: Indicates an invalid state - probably an error * condition. * @ATSPI_STATE_ACTIVE: Indicates a window is currently the active window, or - * is an active subelement within a container or table. + * an object is the active subelement within a container or table. + * @ATSPI_STATE_ACTIVE should not be used for objects which have + * @ATSPI_STATE_FOCUSABLE or @ATSPI_STATE_SELECTABLE: Those objects should use + * @ATSPI_STATE_FOCUSED and @ATSPI_STATE_SELECTED respectively. + * @ATSPI_STATE_ACTIVE is a means to indicate that an object which is not + * focusable and not selectable is the currently-active item within its + * parent container. * @ATSPI_STATE_ARMED: Indicates that the object is armed. * @ATSPI_STATE_BUSY: Indicates the current object is busy, i.e. onscreen * representation is in the process of changing, or the object is @@ -507,6 +564,23 @@ typedef enum { * @ATSPI_STATE_VISITED: This state indicates that the object (typically a * hyperlink) has already been activated or invoked, with the result that * some backing data has been downloaded or rendered. + *@ATSPI_STATE_CHECKABLE: Indicates this object has the potential to + * be checked, such as a checkbox or toggle-able table cell. @Since: + * 2.12 + *@ATSPI_STATE_HAS_POPUP: Indicates that the object has a popup + * context menu or sub-level menu which may or may not be + * showing. This means that activation renders conditional content. + * Note that ordinary tooltips are not considered popups in this + * context. @Since: 2.12 + * @ATSPI_STATE_READ_ONLY: Indicates that an object which is ENABLED and + * SENSITIVE has a value which can be read, but not modified, by the + * user. @Since: 2.16 + * @ATSPI_STATE_HIGHLIGHTED: Indicates that an object which is HIGHLIGHTABLE + * has been graphically marked to assits visally impared users. Only one + * object per window can have ATSPI_STATE_HIGHLIGHTED state. + * @ATSPI_STATE_HIGHLIGHTABLE: Indicates that an object can be graphically + * marked to assist visially impaired users. + * user. @Since: 2.16 * @ATSPI_STATE_LAST_DEFINED: This value of the enumeration should not be used * as a parameter, it indicates the number of items in the #AtspiStateType * enumeration. @@ -515,7 +589,6 @@ typedef enum { * Enumeration used by various interfaces indicating every possible state * an #AtspiAccesible object can assume. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_STATE_INVALID, @@ -559,6 +632,11 @@ typedef enum { ATSPI_STATE_SELECTABLE_TEXT, ATSPI_STATE_IS_DEFAULT, ATSPI_STATE_VISITED, + ATSPI_STATE_CHECKABLE, + ATSPI_STATE_HAS_POPUP, + ATSPI_STATE_READ_ONLY, + ATSPI_STATE_HIGHLIGHTED, + ATSPI_STATE_HIGHLIGHTABLE, ATSPI_STATE_LAST_DEFINED, } AtspiStateType; @@ -576,7 +654,6 @@ typedef enum { * * Deprecated. Should not be used. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_KEY_PRESSED, @@ -605,7 +682,6 @@ typedef enum { * #AtspiEventListener, or * to identify the type of an event for which notification has been sent. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_KEY_PRESSED_EVENT, @@ -626,19 +702,20 @@ typedef enum { * @ATSPI_KEY_PRESS: Emulates the pressing of a hardware keyboard key. * @ATSPI_KEY_RELEASE: Emulates the release of a hardware keyboard key. * @ATSPI_KEY_PRESSRELEASE: Emulates the pressing and immediate releasing - * ofa hardware keyboard key. + * of a hardware keyboard key. * @ATSPI_KEY_SYM: A symbolic key event is generated, without specifying a - * hardware key. @note if the keysym is not present in the current keyboard + * hardware key. Note: if the keysym is not present in the current keyboard * map, the #AtspiDeviceEventController instance has a limited ability to * generate such keysyms on-the-fly. Reliability of GenerateKeyboardEvent * calls using out-of-keymap keysyms will vary from system to system, and on - * the number of different out-of-keymap being generated in quick succession. + * the number of different out-of-keymap keysyms being generated in quick + * succession. * In practice this is rarely significant, since the keysyms of interest to * AT clients and keyboard emulators are usually part of the current keymap, - * i.e. present on the system keyboard for the current locale (even if a - * physical hardware keyboard is not connected. + * i.e., present on the system keyboard for the current locale (even if a + * physical hardware keyboard is not connected). * @ATSPI_KEY_STRING: A string is converted to its equivalent keyboard events - * and emitted. If the string consists of complex character or composed + * and emitted. If the string consists of complex characters or composed * characters which are not in the current keymap, string emission is * subject to the out-of-keymap limitations described for * @ATSPI_KEY_SYM. In practice this limitation primarily effects @@ -647,7 +724,6 @@ typedef enum { * Enumeration used when synthesizing keyboard input via * #atspi_generate_keyboard_event. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_KEY_PRESS, @@ -683,7 +759,6 @@ typedef enum { * * * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_MODIFIER_SHIFT, @@ -693,7 +768,7 @@ typedef enum { ATSPI_MODIFIER_META, ATSPI_MODIFIER_META2, ATSPI_MODIFIER_META3, - ATSPI_MODIFIER_NUMLOCK, + ATSPI_MODIFIER_NUMLOCK = 14, } AtspiModifierType; /** @@ -765,7 +840,7 @@ typedef enum { * are associated with one another. For instance the * @ATSPI_RELATION_LABELLED_BY * relationship may be used to identify labelling information that should - * accompany the accessibleName property when presenting an object's content or + * accompany the accessible name property when presenting an object's content or * identity to the end user. Similarly, * @ATSPI_RELATION_CONTROLLER_FOR can be used * to further specify the context in which a valuator is useful, and/or the @@ -777,7 +852,6 @@ typedef enum { * Enumeration used to specify * the type of relation encapsulated in an #AtspiRelation object. * - * Bitfield/set of flags generated from the AT-SPI specification. **/ typedef enum { ATSPI_RELATION_NULL, @@ -919,7 +993,7 @@ typedef enum { * (c.f. @ATSPI_ROLE_PROGRESS_BAR) * @ATSPI_ROLE_TABLE: An object used to repesent information in terms of rows * and columns. - * @ATSPI_ROLE_TABLE_CELL: A 'cell' or discrete child within a Table. NOTE: + * @ATSPI_ROLE_TABLE_CELL: A 'cell' or discrete child within a Table. Note: * Table cells need not have @ATSPI_ROLE_TABLE_CELL, other * #AtspiRoleType values are valid as well. * @ATSPI_ROLE_TABLE_COLUMN_HEADER: An object which labels a particular column @@ -931,8 +1005,13 @@ typedef enum { * @ATSPI_ROLE_TEAROFF_MENU_ITEM: Object allows menu to be removed from menubar * and shown in its own window. * @ATSPI_ROLE_TERMINAL: An object that emulates a terminal. - * @ATSPI_ROLE_TEXT: An object that presents text to the user, of nonspecific - * type. + * @ATSPI_ROLE_TEXT: An interactive widget that supports multiple lines of text + * and optionally accepts user input, but whose purpose is not to solicit user + * input. Thus @ATSPI_ROLE_TEXT is appropriate for the text view in a plain text + * editor but inappropriate for an input field in a dialog box or web form. For + * widgets whose purpose is to solicit input from the user, see @ATSPI_ROLE_ENTRY + * and @ATSPI_ROLE_PASSWORD_TEXT. For generic objects which display a brief amount + * of textual information, see @ATSPI_ROLE_STATIC. * @ATSPI_ROLE_TOGGLE_BUTTON: A specialized push button that can be checked or * unchecked, but does not procide a separate indicator for the current * state. @@ -982,7 +1061,7 @@ typedef enum { * may be queried to obtain both the quantitative data and information about * how the data is being presented. The @ATSPI_LABELLED_BY relation is * particularly important in interpreting objects of this type, as is the - * accessible-description property. See @ATSPI_ROLE_CAPTION. + * accessible description property. See @ATSPI_ROLE_CAPTION. * @ATSPI_ROLE_CAPTION: The object contains descriptive information, usually * textual, about another user interface element such as a table, chart, or * image. @@ -990,7 +1069,7 @@ typedef enum { * contains a view of document content. #AtspiDocument frames may occur within * another #AtspiDocument instance, in which case the second document may be * said to be embedded in the containing instance. HTML frames are often - * @ATSPI_ROLE_DOCUMENT_FRAME: Either this object, or a singleton descendant, + * ATSPI_ROLE_DOCUMENT_FRAME: Either this object, or a singleton descendant, * should implement the #AtspiDocument interface. * @ATSPI_ROLE_HEADING: The object serves as a heading for content which * follows it in a document. The 'heading level' of the heading, if @@ -1054,13 +1133,73 @@ typedef enum { * particular application. * @ATSPI_ROLE_INFO_BAR: An object designed to present a message to the user * within an existing window. + * @ATSPI_ROLE_LEVEL_BAR: A bar that serves as a level indicator to, for + * instance, show the strength of a password or the state of a battery. + * Since: 2.8 + *@ATSPI_ROLE_TITLE_BAR: A bar that serves as the title of a window or a + * dialog. @Since: 2.12 + *@ATSPI_ROLE_BLOCK_QUOTE: An object which contains a text section + * that is quoted from another source. @Since: 2.12 + *@ATSPI_ROLE_AUDIO: An object which represents an audio + * element. @Since: 2.12 + *@ATSPI_ROLE_VIDEO: An object which represents a video + * element. @Since: 2.12 + *@ATSPI_ROLE_DEFINITION: A definition of a term or concept. @Since: 2.12 + *@ATSPI_ROLE_ARTICLE: A section of a page that consists of a + * composition that forms an independent part of a document, page, or + * site. Examples: A blog entry, a news story, a forum post. @Since: + * 2.12 + *@ATSPI_ROLE_LANDMARK: A region of a web page intended as a + * navigational landmark. This is designed to allow Assistive + * Technologies to provide quick navigation among key regions within a + * document. @Since: 2.12 + *@ATSPI_ROLE_LOG: A text widget or container holding log content, such + * as chat history and error logs. In this role there is a + * relationship between the arrival of new items in the log and the + * reading order. The log contains a meaningful sequence and new + * information is added only to the end of the log, not at arbitrary + * points. @Since: 2.12 + *@ATSPI_ROLE_MARQUEE: A container where non-essential information + * changes frequently. Common usages of marquee include stock tickers + * and ad banners. The primary difference between a marquee and a log + * is that logs usually have a meaningful order or sequence of + * important content changes. @Since: 2.12 + *@ATSPI_ROLE_MATH: A text widget or container that holds a mathematical + * expression. @Since: 2.12 + *@ATSPI_ROLE_RATING: A widget whose purpose is to display a rating, + * such as the number of stars associated with a song in a media + * player. Objects of this role should also implement + * AtspiValue. @Since: 2.12 + *@ATSPI_ROLE_TIMER: An object containing a numerical counter which + * indicates an amount of elapsed time from a start point, or the time + * remaining until an end point. @Since: 2.12 + *@ATSPI_ROLE_STATIC: A generic non-container object whose purpose is to display + * a brief amount of information to the user and whose role is known by the + * implementor but lacks semantic value for the user. Examples in which + * @ATSPI_ROLE_STATIC is appropriate include the message displayed in a message + * box and an image used as an alternative means to display text. + * @ATSPI_ROLE_STATIC should not be applied to widgets which are traditionally + * interactive, objects which display a significant amount of content, or any + * object which has an accessible relation pointing to another object. The + * displayed information, as a general rule, should be exposed through the + * accessible name of the object. For labels which describe another widget, see + * @ATSPI_ROLE_LABEL. For text views, see @ATSPI_ROLE_TEXT. For generic + * containers, see @ATSPI_ROLE_PANEL. For objects whose role is not known by the + * implementor, see @ATSPI_ROLE_UNKNOWN. @Since: 2.16. + *@ATSPI_ROLE_MATH_FRACTION: An object that represents a mathematical fraction. + * @Since: 2.16. + *@ATSPI_ROLE_MATH_ROOT: An object that represents a mathematical expression + * displayed with a radical. @Since: 2.16. + *@ATSPI_ROLE_SUBSCRIPT: An object that contains text that is displayed as a + * subscript. @Since: 2.16. + *@ATSPI_ROLE_SUPERSCRIPT: An object that contains text that is displayed as a + * superscript. @Since: 2.16. * @ATSPI_ROLE_LAST_DEFINED: Not a valid role, used for finding end of * enumeration. * * Enumeration used by interface #AtspiAccessible to specify the role * of an #AtspiAccessible object. * - * Bitfield/set of flags generated from the AT-SPI specification. */ typedef enum { ATSPI_ROLE_INVALID, @@ -1166,6 +1305,24 @@ typedef enum { ATSPI_ROLE_IMAGE_MAP, ATSPI_ROLE_NOTIFICATION, ATSPI_ROLE_INFO_BAR, + ATSPI_ROLE_LEVEL_BAR, + ATSPI_ROLE_TITLE_BAR, + ATSPI_ROLE_BLOCK_QUOTE, + ATSPI_ROLE_AUDIO, + ATSPI_ROLE_VIDEO, + ATSPI_ROLE_DEFINITION, + ATSPI_ROLE_ARTICLE, + ATSPI_ROLE_LANDMARK, + ATSPI_ROLE_LOG, + ATSPI_ROLE_MARQUEE, + ATSPI_ROLE_MATH, + ATSPI_ROLE_RATING, + ATSPI_ROLE_TIMER, + ATSPI_ROLE_STATIC, + ATSPI_ROLE_MATH_FRACTION, + ATSPI_ROLE_MATH_ROOT, + ATSPI_ROLE_SUBSCRIPT, + ATSPI_ROLE_SUPERSCRIPT, ATSPI_ROLE_LAST_DEFINED, } AtspiRole; @@ -1174,12 +1331,12 @@ typedef enum { * * One higher than the highest valid value of #AtspiRole. */ -#define ATSPI_ROLE_COUNT (90+1) +#define ATSPI_ROLE_COUNT (121+1) typedef enum { - ATSPI_CACHE_NONE = 0, - ATSPI_CACHE_PARENT = 1 << 0, + ATSPI_CACHE_NONE = 0, + ATSPI_CACHE_PARENT = 1 << 0, ATSPI_CACHE_CHILDREN = 1 << 1, ATSPI_CACHE_NAME = 1 << 2, ATSPI_CACHE_DESCRIPTION = 1 << 3, @@ -1188,10 +1345,7 @@ typedef enum ATSPI_CACHE_INTERFACES = 1 << 6, ATSPI_CACHE_ATTRIBUTES = 1 << 7, ATSPI_CACHE_ALL = 0x3fffffff, - ATSPI_CACHE_DEFAULT = ATSPI_CACHE_PARENT | ATSPI_CACHE_CHILDREN | - ATSPI_CACHE_NAME | ATSPI_CACHE_DESCRIPTION | - ATSPI_CACHE_STATES | ATSPI_CACHE_ROLE | - ATSPI_CACHE_INTERFACES, + ATSPI_CACHE_DEFAULT = ATSPI_CACHE_PARENT | ATSPI_CACHE_CHILDREN | ATSPI_CACHE_NAME | ATSPI_CACHE_DESCRIPTION | ATSPI_CACHE_STATES | ATSPI_CACHE_ROLE | ATSPI_CACHE_INTERFACES, ATSPI_CACHE_UNDEFINED = 0x40000000, } AtspiCache; @@ -1222,6 +1376,7 @@ typedef enum #define ATSPI_DBUS_INTERFACE_IMAGE "org.a11y.atspi.Image" #define ATSPI_DBUS_INTERFACE_SELECTION "org.a11y.atspi.Selection" #define ATSPI_DBUS_INTERFACE_TABLE "org.a11y.atspi.Table" +#define ATSPI_DBUS_INTERFACE_TABLE_CELL "org.a11y.atspi.TableCell" #define ATSPI_DBUS_INTERFACE_TEXT "org.a11y.atspi.Text" #define ATSPI_DBUS_INTERFACE_VALUE "org.a11y.atspi.Value" #define ATSPI_DBUS_INTERFACE_SOCKET "org.a11y.atspi.Socket"