Add new role ATK_ROLE_AUTOCOMPLETE.
[atk.git] / docs / tmpl / atkobject.sgml
blob19b3cca9b51c6300fb4e1a3b7c0d3776e051a8b1
1 <!-- ##### SECTION Title ##### -->
2 AtkObject
4 <!-- ##### SECTION Short_Description ##### -->
6 The base object class for the Accessibility Toolkit API.
8 <!-- ##### SECTION Long_Description ##### -->
9 <para>
10 This class is the primary class for accessibility support via
11 the Accessibility ToolKit (ATK). Objects which are instances
12 of #AtkObject (or instances of AtkObject-derived types) are
13 queried for properties which relate basic (and generic) properties of a
14 UI component such as name and description. Instances of #AtkObject
15 may also be queried as to whether they implement other ATK interfaces
16 (e.g. #AtkAction, #AtkComponent, etc.), as appropriate to the role
17 which a given UI component plays in a user interface.
18 </para>
19 <para>All UI components in an application which provide useful
20 information or services to the user must provide corresponding
21 #AtkObject instances on request (in GTK+, for instance, usually
22 on a call to #gtk_widget_get_accessible ()), either via ATK support
23 built into the toolkit for the widget class or ancestor class, or in
24 the case of custom widgets, if the inherited #AtkObject implementation
25 is insufficient, via instances of a new #AtkObject subclass.
26 </para>
28 <!-- ##### SECTION See_Also ##### -->
29 <para>
30 See also: #AtkObjectFactory, #AtkRegistry.
31 ( GTK+ users see also #GtkAccessible).
32 </para>
34 <!-- ##### STRUCT AtkObject ##### -->
35 <para>
36 The AtkObject structure should not be accessed directly.
38 </para>
41 <!-- ##### ENUM AtkRole ##### -->
42 <para>
43 </para>
45 @ATK_ROLE_INVALID:
46 @ATK_ROLE_ACCEL_LABEL:
47 @ATK_ROLE_ALERT:
48 @ATK_ROLE_ANIMATION:
49 @ATK_ROLE_ARROW:
50 @ATK_ROLE_CALENDAR:
51 @ATK_ROLE_CANVAS:
52 @ATK_ROLE_CHECK_BOX:
53 @ATK_ROLE_CHECK_MENU_ITEM:
54 @ATK_ROLE_COLOR_CHOOSER:
55 @ATK_ROLE_COLUMN_HEADER:
56 @ATK_ROLE_COMBO_BOX:
57 @ATK_ROLE_DATE_EDITOR:
58 @ATK_ROLE_DESKTOP_ICON:
59 @ATK_ROLE_DESKTOP_FRAME:
60 @ATK_ROLE_DIAL:
61 @ATK_ROLE_DIALOG:
62 @ATK_ROLE_DIRECTORY_PANE:
63 @ATK_ROLE_DRAWING_AREA:
64 @ATK_ROLE_FILE_CHOOSER:
65 @ATK_ROLE_FILLER:
66 @ATK_ROLE_FONT_CHOOSER:
67 @ATK_ROLE_FRAME:
68 @ATK_ROLE_GLASS_PANE:
69 @ATK_ROLE_HTML_CONTAINER:
70 @ATK_ROLE_ICON:
71 @ATK_ROLE_IMAGE:
72 @ATK_ROLE_INTERNAL_FRAME:
73 @ATK_ROLE_LABEL:
74 @ATK_ROLE_LAYERED_PANE:
75 @ATK_ROLE_LIST:
76 @ATK_ROLE_LIST_ITEM:
77 @ATK_ROLE_MENU:
78 @ATK_ROLE_MENU_BAR:
79 @ATK_ROLE_MENU_ITEM:
80 @ATK_ROLE_OPTION_PANE:
81 @ATK_ROLE_PAGE_TAB:
82 @ATK_ROLE_PAGE_TAB_LIST:
83 @ATK_ROLE_PANEL:
84 @ATK_ROLE_PASSWORD_TEXT:
85 @ATK_ROLE_POPUP_MENU:
86 @ATK_ROLE_PROGRESS_BAR:
87 @ATK_ROLE_PUSH_BUTTON:
88 @ATK_ROLE_RADIO_BUTTON:
89 @ATK_ROLE_RADIO_MENU_ITEM:
90 @ATK_ROLE_ROOT_PANE:
91 @ATK_ROLE_ROW_HEADER:
92 @ATK_ROLE_SCROLL_BAR:
93 @ATK_ROLE_SCROLL_PANE:
94 @ATK_ROLE_SEPARATOR:
95 @ATK_ROLE_SLIDER:
96 @ATK_ROLE_SPLIT_PANE:
97 @ATK_ROLE_SPIN_BUTTON:
98 @ATK_ROLE_STATUSBAR:
99 @ATK_ROLE_TABLE:
100 @ATK_ROLE_TABLE_CELL:
101 @ATK_ROLE_TABLE_COLUMN_HEADER:
102 @ATK_ROLE_TABLE_ROW_HEADER:
103 @ATK_ROLE_TEAR_OFF_MENU_ITEM:
104 @ATK_ROLE_TERMINAL:
105 @ATK_ROLE_TEXT:
106 @ATK_ROLE_TOGGLE_BUTTON:
107 @ATK_ROLE_TOOL_BAR:
108 @ATK_ROLE_TOOL_TIP:
109 @ATK_ROLE_TREE:
110 @ATK_ROLE_TREE_TABLE:
111 @ATK_ROLE_UNKNOWN:
112 @ATK_ROLE_VIEWPORT:
113 @ATK_ROLE_WINDOW:
114 @ATK_ROLE_HEADER:
115 @ATK_ROLE_FOOTER:
116 @ATK_ROLE_PARAGRAPH:
117 @ATK_ROLE_RULER:
118 @ATK_ROLE_APPLICATION:
119 @ATK_ROLE_AUTOCOMPLETE:
120 @ATK_ROLE_LAST_DEFINED:
122 <!-- ##### FUNCTION atk_role_register ##### -->
123 <para>
125 </para>
127 @name:
128 @Returns:
131 <!-- ##### ENUM AtkLayer ##### -->
132 <para>
133 </para>
135 @ATK_LAYER_INVALID:
136 @ATK_LAYER_BACKGROUND:
137 @ATK_LAYER_CANVAS:
138 @ATK_LAYER_WIDGET:
139 @ATK_LAYER_MDI:
140 @ATK_LAYER_POPUP:
141 @ATK_LAYER_OVERLAY:
142 @ATK_LAYER_WINDOW:
144 <!-- ##### STRUCT AtkImplementor ##### -->
145 <para>
146 The AtkImplementor structure does not contain any fields.
148 </para>
151 <!-- ##### STRUCT AtkPropertyValues ##### -->
152 <para>
153 The Atk PropertyValue structure is used when notifying a change in property.
154 Currently, the only property for which old_value is used is
155 accessible-state; for instance if there is a focus change the
156 property change handler will be called for the object which lost the focus
157 with the old_value containing the AtkState value corresponding to focused
158 and the property change handler will be called for the object which
159 received the focus with the new_value containing the AtkState value
160 corresponding to focused.
162 </para>
164 @property_name:
165 @old_value:
166 @new_value:
168 <!-- ##### USER_FUNCTION AtkFunction ##### -->
169 <para>
170 An AtkFunction is a function definition used for padding which has been added
171 to class and interface structures to allow for expansion in the future.
173 </para>
175 @data:
176 @Returns:
179 <!-- ##### USER_FUNCTION AtkPropertyChangeHandler ##### -->
180 <para>
181 An AtkPropertyChangeHandler is a function which is executed when an AtkObject's property changes value. It is specified in a call to
182 atk_object_connect_property_change_handler().
183 </para>
185 @Param1:
186 @Param2:
189 <!-- ##### FUNCTION atk_implementor_ref_accessible ##### -->
190 <para>
192 </para>
194 @implementor:
195 @Returns:
198 <!-- ##### FUNCTION atk_object_get_name ##### -->
199 <para>
201 </para>
203 @accessible:
204 @Returns:
207 <!-- ##### FUNCTION atk_object_get_description ##### -->
208 <para>
210 </para>
212 @accessible:
213 @Returns:
216 <!-- ##### FUNCTION atk_object_get_parent ##### -->
217 <para>
219 </para>
221 @accessible:
222 @Returns:
225 <!-- ##### FUNCTION atk_object_get_n_accessible_children ##### -->
226 <para>
228 </para>
230 @accessible:
231 @Returns:
234 <!-- ##### FUNCTION atk_object_ref_accessible_child ##### -->
235 <para>
237 </para>
239 @accessible:
240 @i:
241 @Returns:
244 <!-- ##### FUNCTION atk_object_ref_relation_set ##### -->
245 <para>
247 </para>
249 @accessible:
250 @Returns:
253 <!-- ##### FUNCTION atk_object_get_layer ##### -->
254 <para>
256 </para>
258 @accessible:
259 @Returns:
262 <!-- ##### FUNCTION atk_object_get_mdi_zorder ##### -->
263 <para>
265 </para>
267 @accessible:
268 @Returns:
271 <!-- ##### FUNCTION atk_object_get_role ##### -->
272 <para>
274 </para>
276 @accessible:
277 @Returns:
280 <!-- ##### FUNCTION atk_object_ref_state_set ##### -->
281 <para>
283 </para>
285 @accessible:
286 @Returns:
289 <!-- ##### FUNCTION atk_object_get_index_in_parent ##### -->
290 <para>
292 </para>
294 @accessible:
295 @Returns:
298 <!-- ##### FUNCTION atk_object_set_name ##### -->
299 <para>
301 </para>
303 @accessible:
304 @name:
307 <!-- ##### FUNCTION atk_object_set_description ##### -->
308 <para>
310 </para>
312 @accessible:
313 @description:
316 <!-- ##### FUNCTION atk_object_set_parent ##### -->
317 <para>
319 </para>
321 @accessible:
322 @parent:
325 <!-- ##### FUNCTION atk_object_set_role ##### -->
326 <para>
328 </para>
330 @accessible:
331 @role:
334 <!-- ##### FUNCTION atk_object_connect_property_change_handler ##### -->
335 <para>
337 </para>
339 @accessible:
340 @handler:
341 @Returns:
344 <!-- ##### FUNCTION atk_object_remove_property_change_handler ##### -->
345 <para>
347 </para>
349 @accessible:
350 @handler_id:
353 <!-- ##### FUNCTION atk_object_notify_state_change ##### -->
354 <para>
356 </para>
358 @accessible:
359 @state:
360 @value:
363 <!-- ##### FUNCTION atk_object_initialize ##### -->
364 <para>
366 </para>
368 @accessible:
369 @data:
372 <!-- ##### FUNCTION atk_object_add_relationship ##### -->
373 <para>
375 </para>
377 @object:
378 @relationship:
379 @target:
380 @Returns:
383 <!-- ##### FUNCTION atk_object_remove_relationship ##### -->
384 <para>
386 </para>
388 @object:
389 @relationship:
390 @target:
391 @Returns:
394 <!-- ##### FUNCTION atk_role_get_name ##### -->
395 <para>
397 </para>
399 @role:
400 @Returns:
403 <!-- ##### FUNCTION atk_role_get_localized_name ##### -->
404 <para>
406 </para>
408 @role:
409 @Returns:
412 <!-- ##### FUNCTION atk_role_for_name ##### -->
413 <para>
415 </para>
417 @name:
418 @Returns:
421 <!-- ##### SIGNAL AtkObject::active-descendant-changed ##### -->
422 <para>
424 </para>
426 @atkobject: the object which received the signal.
427 @arg1:
429 <!-- ##### SIGNAL AtkObject::children-changed ##### -->
430 <para>
431 The children_changed signal supports two details, "add" and "remove" which
432 indicate whether a child was added or removed
433 </para>
435 @atkobject: the object which received the signal.
436 @arg1: The index of the added or removed child
437 @arg2: The child which was added or removed
439 <!-- ##### SIGNAL AtkObject::focus-event ##### -->
440 <para>
442 </para>
444 @atkobject: the object which received the signal.
445 @arg1: A boolean value which indicates whether or not the focus event is is or out.
447 <!-- ##### SIGNAL AtkObject::property-change ##### -->
448 <para>
449 This signal support a detail which identifies the property which has
450 changed.
451 </para>
453 @atkobject: the object which received the signal.
454 @arg1: The new value of the property which changed.
456 <!-- ##### SIGNAL AtkObject::state-change ##### -->
457 <para>
458 This signal support, which may be any of the accessible state types.
459 </para>
461 @atkobject: the object which received the signal.
462 @arg1: The name of the state which has changed
463 @arg2: A boolean which indicates whether the state has been set or unset.
465 <!-- ##### SIGNAL AtkObject::visible-data-changed ##### -->
466 <para>
468 </para>
470 @atkobject: the object which received the signal.
472 <!-- ##### ARG AtkObject:accessible-component-layer ##### -->
473 <para>
475 </para>
477 <!-- ##### ARG AtkObject:accessible-component-mdi-zorder ##### -->
478 <para>
480 </para>
482 <!-- ##### ARG AtkObject:accessible-description ##### -->
483 <para>
485 </para>
487 <!-- ##### ARG AtkObject:accessible-name ##### -->
488 <para>
490 </para>
492 <!-- ##### ARG AtkObject:accessible-parent ##### -->
493 <para>
495 </para>
497 <!-- ##### ARG AtkObject:accessible-role ##### -->
498 <para>
500 </para>
502 <!-- ##### ARG AtkObject:accessible-table-caption ##### -->
503 <para>
505 </para>
507 <!-- ##### ARG AtkObject:accessible-table-caption-object ##### -->
508 <para>
510 </para>
512 <!-- ##### ARG AtkObject:accessible-table-column-description ##### -->
513 <para>
515 </para>
517 <!-- ##### ARG AtkObject:accessible-table-column-header ##### -->
518 <para>
520 </para>
522 <!-- ##### ARG AtkObject:accessible-table-row-description ##### -->
523 <para>
525 </para>
527 <!-- ##### ARG AtkObject:accessible-table-row-header ##### -->
528 <para>
530 </para>
532 <!-- ##### ARG AtkObject:accessible-table-summary ##### -->
533 <para>
535 </para>
537 <!-- ##### ARG AtkObject:accessible-value ##### -->
538 <para>
540 </para>