2 * AT-SPI - Assistive Technology Service Provider Interface
3 * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
5 * Copyright 2001, 2002 Sun Microsystems Inc.,
6 * Copyright 2001, 2002 Ximian, Inc.
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Library General Public License for more details.
18 * You should have received a copy of the GNU Library General Public
19 * License along with this library; if not, write to the
20 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 * Boston, MA 02111-1307, USA.
24 #ifndef _SPI_ROLETYPES_H_
25 #define _SPI_ROLETYPES_H_
33 * @SPI_ROLE_INVALID: role is not legal, something is wrong with this object
34 * @SPI_ROLE_ACCEL_LABEL: object is a label indicating keyboard
35 * accelerators for the parent
36 * @SPI_ROLE_ALERT: Object is used to alert the user about something
37 * @SPI_ROLE_ANIMATION: Object contains a dynamic or moving image
38 * @SPI_ROLE_ARROW: Object is a 2d directional indicator
39 * @SPI_ROLE_CALENDAR: Object contains one or more dates, usually arranged into
41 * @SPI_ROLE_CANVAS: Object that can be drawn into and is used to trap events
42 * @SPI_ROLE_CHECK_BOX: Object representd a choice that can be checked or unchecked
43 * and provides a separate indicator for the current state.
44 * @SPI_ROLE_CHECK_MENU_ITEM: Object is a menu item that behaves like a CHECK_BOX
45 * @SPI_ROLE_COLOR_CHOOSER: A specialized dialog that lets the user choose a color.
46 * @SPI_ROLE_COLUMN_HEADER: The header for a column of data
47 * @SPI_ROLE_COMBO_BOX: A list of choices the user can select from
48 * @SPI_ROLE_DATE_EDITOR: Allows entry of a date
49 * @SPI_ROLE_DESKTOP_ICON: An inconifed internal frame within a DESKTOP_PANE
50 * @SPI_ROLE_DESKTOP_FRAME: A pane that supports internal frames and
51 * iconified versions of those internal frames.
52 * @SPI_ROLE_DIAL: A rotating/rotatable valuator
53 * @SPI_ROLE_DIALOG: A top level window with title bar and a border
54 * @SPI_ROLE_DIRECTORY_PANE: A pane that allows the user to navigate
55 * through and select the contents of a directory.
56 * @SPI_ROLE_DRAWING_AREA: An object used for drawing custom user interface elements
57 * @SPI_ROLE_FILE_CHOOSER: A specialized dialog that displays the files in the
58 * directory and lets the user select a file, browse a different
59 * directory, or specify a filename.
60 * @SPI_ROLE_FILLER: A object that fills up space in a user interface
61 * @SPI_ROLE_FONT_CHOOSER: Allows selection of a display font
62 * @SPI_ROLE_FRAME: A top level window with a title bar, border, menubar, etc.
63 * @SPI_ROLE_GLASS_PANE: A pane that is guaranteed to be painted on top of all
65 * @SPI_ROLE_HTML_CONTAINER: A document container for HTML, whose children
66 * represent the document content.
67 * @SPI_ROLE_ICON: A small fixed size picture, typically used to decorate components.
68 * @SPI_ROLE_IMAGE: An image, typically static
69 * @SPI_ROLE_INTERNAL_FRAME: A frame-like object that is clipped by a desktop pane.
70 * @SPI_ROLE_LABEL: An object used to present an icon or short string in an interface
71 * @SPI_ROLE_LAYERED_PANE: A specialized pane that allows its children to be drawn in layers
72 * providing a form of stacking order.
73 * @SPI_ROLE_LIST: An object that presents a list of objects to the user and allows the
74 * user to select one or more of them.
75 * @SPI_ROLE_LIST_ITEM: An object that represents an element of a list.
76 * @SPI_ROLE_MENU: An object usually found inside a menu bar that contains a list of
77 * actions the user can choose from.
78 * @SPI_ROLE_MENU_BAR: An object usually drawn at the top of the primary dialog box of an
79 * application that contains a list of menus the user can choose from.
80 * @SPI_ROLE_MENU_ITEM: An object usually contained in a menu that presents an
81 * action the user can choose.
82 * @SPI_ROLE_OPTION_PANE: A specialized pane whose primary use is inside a DIALOG
83 * @SPI_ROLE_PAGE_TAB: An object that is a child of a page tab list
84 * @SPI_ROLE_PAGE_TAB_LIST: An object that presents a series of panels (or page tabs),
85 * one at a time, through some mechanism provided by the object.
86 * @SPI_ROLE_PANEL: A generic container that is often used to group objects.
87 * @SPI_ROLE_PASSWORD_TEXT: A text object uses for passwords, or other places where
88 * the text content is not shown visibly to the user.
89 * @SPI_ROLE_POPUP_MENU: A temporary window that is usually used to offer the user a
90 * list of choices, and then hides when the user selects one of those choices.
91 * @SPI_ROLE_PROGRESS_BAR: An object used to indicate how much of a task has been completed.
92 * @SPI_ROLE_PUSH_BUTTON: A specialized object which the user can interact with to tell
93 * the application to do something.
94 * @SPI_ROLE_RADIO_BUTTON: A specialized check box that will cause other radio buttons in the
95 * same group to become uncghecked when this one is checked.
96 * @SPI_ROLE_RADIO_MENU_ITEM: A specialized menu item that behaves like a
98 * @SPI_ROLE_ROOT_PANE: A specialized pane that has a glass pane and a layered pane as its
100 * @SPI_ROLE_ROW_HEADER: The header for a row of data
101 * @SPI_ROLE_SCROLL_BAR: An object usually used to allow a user to incrementally
102 * view a large amount of data.
103 * @SPI_ROLE_SCROLL_PANE: An object that allows a user to incrementally view a large amount
105 * @SPI_ROLE_SEPARATOR: An object usually contained in a menu to provide a visible and
106 * logical separation of the contents in a menu.
107 * @SPI_ROLE_SLIDER: An object that allows the user to select from a bounded range.
108 * @SPI_ROLE_SPIN_BUTTON: An object which allows selection from a set of choices and
109 * displays the current choice.
110 * @SPI_ROLE_SPLIT_PANE: A specialized panel that presents two other panels at the same time.
111 * @SPI_ROLE_STATUS_BAR: An object the display qualitative status information. c.f. PROGRESS_BAR
112 * @SPI_ROLE_TABLE: An object used to rpesent information in terms of rows and columns.
113 * @SPI_ROLE_TABLE_CELL: An object which is a descendant of a table,
114 * with a row/column location. A cell may span multiple rows and columns.
115 * @SPI_ROLE_TABLE_COLUMN_HEADER: An object which serves to describe a column in a table.
116 * @SPI_ROLE_TABLE_ROW_HEADER: An object which serves to label or describe a row in a table.
117 * @SPI_ROLE_TEAROFF_MENU_ITEM: A menu item which allows the menu to be removed from
118 * a menubar and placed in its own window
119 * @SPI_ROLE_TERMINAL: An object that emulates a teletype or terminal
120 * @SPI_ROLE_TEXT: An object that presents text to the user
121 * @SPI_ROLE_TOGGLE_BUTTON: A specialized push button that can be checked or unchecked,
122 * but does not provide a separate indicator for the current state.
123 * @SPI_ROLE_TOOL_BAR: A bar or palette usually composed of push buttons or toggle buttons
124 * @SPI_ROLE_TOOL_TIP: An object that provides information about another object
125 * @SPI_ROLE_TREE: An object used to represent hierarchical information to the user
126 * @SPI_ROLE_TREE_TABLE: An object which represents both hierarchical and tabular information
127 * @SPI_ROLE_UNKNOWN: The object contains some SpiAccessible information, but its role is
129 * @SPI_ROLE_VIEWPORT: An object usually used in a scroll pane, which restricts the visual
130 * area into which its contents are presented.
131 * @SPI_ROLE_WINDOW: A top level window with no title or border.
132 * @SPI_ROLE_EXTENDED: This object's role is not included in the standard role list and
133 * should be queried by name.
134 * @SPI_ROLE_HEADER: An object that serves as a document header.
135 * @SPI_ROLE_FOOTER: An object that serves as a document footer.
136 * @SPI_ROLE_PARAGRAPH: An object which is contains a paragraph of text content.
137 * @SPI_ROLE_RULER: An object which describes margins and tab stops, etc. for text objects
138 * which it controls (should have CONTROLLER_FOR relation to such).
139 * @SPI_ROLE_APPLICATION: An object which corresponds to a desktop application,
140 * which may have children of @SPI_ROLE_FRAME or other type.
141 * @SPI_ROLE_AUTOCOMPLETE: The object is a dialog or list containing items for
142 * insertion into an entry widget, for instance a list
143 * of words for completion of a text entry.
144 * @SPI_ROLE_EDITBAR: The object is an editable text object in a toolbar
146 * @SPI_ROLE_LAST_DEFINED: Used to determine the end of the role enumeration.
148 * Describes the role of an object
150 * These are the built-in enumerated roles that UI components can have.
151 * Other roles may be added at runtime, so an AccessibleRole >=
152 * SPI_ROLE_LAST_DEFINED is not necessarily an error.
157 SPI_ROLE_ACCEL_LABEL,
164 SPI_ROLE_CHECK_MENU_ITEM,
165 SPI_ROLE_COLOR_CHOOSER,
166 SPI_ROLE_COLUMN_HEADER,
168 SPI_ROLE_DATE_EDITOR,
169 SPI_ROLE_DESKTOP_ICON,
170 SPI_ROLE_DESKTOP_FRAME,
173 SPI_ROLE_DIRECTORY_PANE,
174 SPI_ROLE_DRAWING_AREA,
175 SPI_ROLE_FILE_CHOOSER,
177 SPI_ROLE_FONT_CHOOSER,
180 SPI_ROLE_HTML_CONTAINER,
183 SPI_ROLE_INTERNAL_FRAME,
185 SPI_ROLE_LAYERED_PANE,
191 SPI_ROLE_OPTION_PANE,
193 SPI_ROLE_PAGE_TAB_LIST,
195 SPI_ROLE_PASSWORD_TEXT,
197 SPI_ROLE_PROGRESS_BAR,
198 SPI_ROLE_PUSH_BUTTON,
199 SPI_ROLE_RADIO_BUTTON,
200 SPI_ROLE_RADIO_MENU_ITEM,
204 SPI_ROLE_SCROLL_PANE,
207 SPI_ROLE_SPIN_BUTTON,
212 SPI_ROLE_TABLE_COLUMN_HEADER,
213 SPI_ROLE_TABLE_ROW_HEADER,
214 SPI_ROLE_TEAROFF_MENU_ITEM,
217 SPI_ROLE_TOGGLE_BUTTON,
230 SPI_ROLE_APPLICATION,
231 SPI_ROLE_AUTOCOMPLETE,
233 SPI_ROLE_LAST_DEFINED
236 char* AccessibleRole_getName (AccessibleRole role);