2001-12-10 Michael Meeks <michael@ximian.com>
[platform/core/uifw/at-spi2-atk.git] / cspi / spi-roletypes.h
1 #ifndef _SPI_ROLETYPES_H_
2 #define _SPI_ROLETYPES_H_
3
4 #include <glib/gmacros.h>
5
6 G_BEGIN_DECLS
7
8 /**
9  * AccessibleRole:
10  * @SPI_ROLE_INVALID: role is not legal, something is wrong with this object
11  * @SPI_ROLE_ALERT: Object is used to alert the user about something
12  * @SPI_ROLE_CANVAS: Object that can be drawn into and is used to trap events
13  * @SPI_ROLE_CHECK_BOX: Object representd a choice that can be checked or unchecked
14  *                    and provides a separate indicator for the current state.
15  * @SPI_ROLE_COLOR_CHOOSER: A specialized dialog that lets the user choose a color.
16  * @SPI_ROLE_COLUMN_HEADER: The header for a column of data 
17  * @SPI_ROLE_COMBO_BOX: A list of choices the user can select from
18  * @SPI_ROLE_SPI_DESKTOP_ICON: An inconifed internal frame within a SPI_DESKTOP_PANE
19  * @SPI_ROLE_SPI_DESKTOP_FRAME: A pane that supports internal frames and
20  *              iconified versions of those internal frames.
21  * @SPI_ROLE_DIALOG: A top level window with title bar and a border
22  * @SPI_ROLE_DIRECTORY_PANE: A pane that allows the user to navigate
23  *              through and select the contents of a directory.
24  * @SPI_ROLE_FILE_CHOOSER: A specialized dialog that displays the files in the
25  *               directory and lets the user select a file, browse a different
26  *               directory, or specify a filename.
27  * @SPI_ROLE_FILLER: A object that fills up space in a user interface
28  * @SPI_ROLE_FOCUS_TRAVERSABLE: XXX Not sure about this.
29  * @SPI_ROLE_FRAME: A top level window with a title bar, border, menubar, etc.
30  * @SPI_ROLE_GLASS_PANE: A pane that is guaranteed to be painted on top of all
31  *               panes beneath it
32  * @SPI_ROLE_HTML_CONTAINER: A document container for HTML, whose children
33  *               represent the document content.
34  * @SPI_ROLE_ICON: A small fixed size picture, typically used to decorate components.
35  * @SPI_ROLE_INTERNAL_FRAME: A frame-like object that is clipped by a desktop pane.
36  * @SPI_ROLE_LABEL: An object used to present an icon or short string in an interface
37  * @SPI_ROLE_LAYERED_PANE: A specialized pane that allows its children to be drawn in layers
38  *                         providing a  form of stacking order.
39  * @SPI_ROLE_LIST: An object that presents a list of objects to the user and allows the
40  *                         user to select one or more of them.
41  * @SPI_ROLE_LIST_ITEM: An object that represents an element of a list.
42  * @SPI_ROLE_MENU: An object usually found inside a menu bar that contains a list of
43  *                 actions the user can choose from.
44  * @SPI_ROLE_MENU_BAR: An object usually drawn at the top of the primary dialog box of an
45  *                 application that contains a list of menus the user can choose from.
46  * @SPI_ROLE_MENU_ITEM: An object usually contained in a menu that presents an
47  *                 action the user can choose.
48  * @SPI_ROLE_OPTION_PANE: A specialized pane whose primary use is inside a DIALOG 
49  * @SPI_ROLE_PAGE_TAB: An object that is a child of a page tab list
50  * @SPI_ROLE_PAGE_TAB_LIST: An object that presents a series of panels (or page tabs),
51  *        one at a time, through some mechanism provided by the object.
52  * @SPI_ROLE_PANEL: A generic container that is often used to group objects.
53  * @SPI_ROLE_PASSWORD_TEXT: A text object uses for passwords, or other places where
54  *        the text content is not shown visibly to the user.
55  * @SPI_ROLE_POPUP_MENU: A temporary window that is usually used to offer the user a
56  *        list of choices, and then hides when the user selects one of those choices.
57  * @SPI_ROLE_PROGRESS_BAR: An object used to indicate how much of a task has been completed.
58  * @SPI_ROLE_PUSH_BUTTON: A specialized object which the user can interact with to tell
59  *        the application to do something.
60  * @SPI_ROLE_RADIO_BUTTON: A specialized check box that will cause other radio buttons in the
61  *        same group to become uncghecked when this one is checked.
62  * @SPI_ROLE_ROOT_PANE: A specialized pane that has a glass pane and a layered pane as its
63  *        children.
64  * @SPI_ROLE_ROW_HEADER: The header for a row of data
65  * @SPI_ROLE_SCROLL_BAR: An object usually used to allow a user to incrementally
66  *        view a large amount of data.
67  * @SPI_ROLE_SCROLL_PANE: An object that allows a user to incrementally view a large amount
68  *         of information.
69  * @SPI_ROLE_SEPARATOR: An object usually contained in a menu to provide a visible and
70  *        logical separation of the contents in a menu.
71  * @SPI_ROLE_SLIDER: An object that allows the user to select from a bounded range.
72  * @SPI_ROLE_SPLIT_PANE: A specialized panel that presents two other panels at the same time.
73  * @SPI_ROLE_TABLE: An object used to rpesent information in terms of rows and columns.
74  * @SPI_ROLE_TABLE_CELL: An object which is a descendant of a table,
75  *        with a row/column location.  A cell may span multiple rows and columns.
76  * @SPI_ROLE_TABLE_COLUMN_HEADER: An object which serves to describe a column in a table.
77  * @SPI_ROLE_TABLE_ROW_HEADER: An object which serves to label or describe a row in a table.
78  * @SPI_ROLE_TEXT: An object that presents text to the user
79  * @SPI_ROLE_TOGGLE_BUTTON: A specialized push button that can be checked or unchecked,
80  *        but does not provide a separate indicator for the current state.
81  * @SPI_ROLE_TOOL_BAR: A bar or palette usually composed of push buttons or toggle buttons
82  * @SPI_ROLE_TOOL_TIP: An object that provides information about another object
83  * @SPI_ROLE_TREE: An object used to repsent hierarchical information to the user.
84  * @SPI_ROLE_UNKNOWN: The object contains some SpiAccessible information, but its role is
85  *                    not known.
86  * @SPI_ROLE_VIEWPORT: An object usually used in a scroll pane, which restricts the visual
87  *                    area into which its contents are presented.
88  * @SPI_ROLE_WINDOW: A top level window with no title or border.
89  **/
90 typedef enum
91 {
92   SPI_ROLE_INVALID,
93   SPI_ROLE_ALERT,
94   SPI_ROLE_CANVAS,
95   SPI_ROLE_CHECK_BOX,
96   SPI_ROLE_COLOR_CHOOSER,
97   SPI_ROLE_COLUMN_HEADER,
98   SPI_ROLE_COMBO_BOX,
99   SPI_ROLE_SPI_DESKTOP_ICON,
100   SPI_ROLE_SPI_DESKTOP_FRAME,
101   SPI_ROLE_DIALOG,
102   SPI_ROLE_DIRECTORY_PANE,
103   SPI_ROLE_FILE_CHOOSER,
104   SPI_ROLE_FILLER,
105   SPI_ROLE_FOCUS_TRAVERSABLE,
106   SPI_ROLE_FRAME,
107   SPI_ROLE_GLASS_PANE,
108   SPI_ROLE_HTML_CONTAINER,
109   SPI_ROLE_ICON,
110   SPI_ROLE_INTERNAL_FRAME,
111   SPI_ROLE_LABEL,
112   SPI_ROLE_LAYERED_PANE,
113   SPI_ROLE_LIST,
114   SPI_ROLE_LIST_ITEM,
115   SPI_ROLE_MENU,
116   SPI_ROLE_MENU_BAR,
117   SPI_ROLE_MENU_ITEM,
118   SPI_ROLE_OPTION_PANE,
119   SPI_ROLE_PAGE_TAB,
120   SPI_ROLE_PAGE_TAB_LIST,
121   SPI_ROLE_PANEL,
122   SPI_ROLE_PASSWORD_TEXT,
123   SPI_ROLE_POPUP_MENU,
124   SPI_ROLE_PROGRESS_BAR,
125   SPI_ROLE_PUSH_BUTTON,
126   SPI_ROLE_RADIO_BUTTON,
127   SPI_ROLE_ROOT_PANE,
128   SPI_ROLE_ROW_HEADER,
129   SPI_ROLE_SCROLL_BAR,
130   SPI_ROLE_SCROLL_PANE,
131   SPI_ROLE_SEPARATOR,
132   SPI_ROLE_SLIDER,
133   SPI_ROLE_SPLIT_PANE,
134   SPI_ROLE_TABLE,
135   SPI_ROLE_TABLE_CELL,
136   SPI_ROLE_TABLE_COLUMN_HEADER,
137   SPI_ROLE_TABLE_ROW_HEADER,
138   SPI_ROLE_TEXT,
139   SPI_ROLE_TOGGLE_BUTTON,
140   SPI_ROLE_TOOL_BAR,
141   SPI_ROLE_TOOL_TIP,
142   SPI_ROLE_TREE,
143   SPI_ROLE_UNKNOWN,
144   SPI_ROLE_VIEWPORT,
145   SPI_ROLE_WINDOW,
146   SPI_ROLE_LAST_DEFINED
147 } AccessibleRole;
148
149 const char* AccessibleRole_getName (AccessibleRole role);
150
151 G_END_DECLS
152
153 #endif