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