ff081a23a53ffde4fa6d50c18eadd82de14e7aa2
[platform/upstream/atk.git] / docs / tmpl / atkobject.sgml
1 <!-- ##### SECTION Title ##### -->
2 AtkObject
3
4 <!-- ##### SECTION Short_Description ##### -->
5
6 The base object class for the Accessibility Toolkit API.
7
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>
27
28 <!-- ##### SECTION See_Also ##### -->
29 <para>
30 See also: #AtkObjectFactory, #AtkRegistry.
31 ( GTK+ users see also #GtkAccessible).
32 </para>
33
34 <!-- ##### STRUCT AtkObject ##### -->
35 <para>
36 The AtkObject structure should not be accessed directly.
37
38 </para>
39
40
41 <!-- ##### SIGNAL AtkObject::active-descendant-changed ##### -->
42 <para>
43 The "active-descendant-changed" signal is emitted by an object which has
44 the state ATK_STATE_MANAGES_DESCENDANTS when the focus object in the
45 object changes. For instance, a table will emit the signal when the cell
46 in the table which has focus changes.
47 </para>
48
49 @atkobject: the object which received the signal.
50 @arg1: the newly focused object.
51
52 <!-- ##### SIGNAL AtkObject::children-changed ##### -->
53 <para>
54 The signal "children-changed" is emitted when a child is added or
55 removed form an object. It supports two details: "add" and "remove"
56 </para>
57
58 @atkobject: the object which received the signal.
59 @arg1: The index of the added or removed child
60 @arg2: The child which was added or removed
61
62 <!-- ##### SIGNAL AtkObject::focus-event ##### -->
63 <para>
64 The signal "focus-event" is emitted when an object gains or loses focus.
65 </para>
66
67 @atkobject: the object which received the signal.
68 @arg1: A boolean value which indicates whether the object gained or lost focus.
69
70 <!-- ##### SIGNAL AtkObject::property-change ##### -->
71 <para>
72 The signal "property-change" is emitted when an object's property
73 value changes. The detail identifies the name of the property whose
74 value has changed.
75 </para>
76
77 @atkobject: the object which received the signal.
78 @arg1: The new value of the property which changed.
79
80 <!-- ##### SIGNAL AtkObject::state-change ##### -->
81 <para>
82 The "state-change" signal is emitted  when an object's state changes.
83 The detail value identifies the state type which has changed.
84 </para>
85
86 @atkobject: the object which received the signal.
87 @arg1: The name of the state which has changed
88 @arg2: A boolean which indicates whether the state has been set or unset.
89
90 <!-- ##### SIGNAL AtkObject::visible-data-changed ##### -->
91 <para>
92 The "visible-data-changed" signal is emitted when the visual appearance of 
93 the object changed.
94 </para>
95
96 @atkobject: the object which received the signal.
97
98 <!-- ##### ARG AtkObject:accessible-component-layer ##### -->
99 <para>
100
101 </para>
102
103 <!-- ##### ARG AtkObject:accessible-component-mdi-zorder ##### -->
104 <para>
105
106 </para>
107
108 <!-- ##### ARG AtkObject:accessible-description ##### -->
109 <para>
110
111 </para>
112
113 <!-- ##### ARG AtkObject:accessible-name ##### -->
114 <para>
115
116 </para>
117
118 <!-- ##### ARG AtkObject:accessible-parent ##### -->
119 <para>
120
121 </para>
122
123 <!-- ##### ARG AtkObject:accessible-role ##### -->
124 <para>
125
126 </para>
127
128 <!-- ##### ARG AtkObject:accessible-table-caption ##### -->
129 <para>
130
131 </para>
132
133 <!-- ##### ARG AtkObject:accessible-table-caption-object ##### -->
134 <para>
135
136 </para>
137
138 <!-- ##### ARG AtkObject:accessible-table-column-description ##### -->
139 <para>
140
141 </para>
142
143 <!-- ##### ARG AtkObject:accessible-table-column-header ##### -->
144 <para>
145
146 </para>
147
148 <!-- ##### ARG AtkObject:accessible-table-row-description ##### -->
149 <para>
150
151 </para>
152
153 <!-- ##### ARG AtkObject:accessible-table-row-header ##### -->
154 <para>
155
156 </para>
157
158 <!-- ##### ARG AtkObject:accessible-table-summary ##### -->
159 <para>
160
161 </para>
162
163 <!-- ##### ARG AtkObject:accessible-value ##### -->
164 <para>
165
166 </para>
167
168 <!-- ##### ENUM AtkRole ##### -->
169 <para>
170 </para>
171
172 @ATK_ROLE_INVALID: 
173 @ATK_ROLE_ACCEL_LABEL: 
174 @ATK_ROLE_ALERT: 
175 @ATK_ROLE_ANIMATION: 
176 @ATK_ROLE_ARROW: 
177 @ATK_ROLE_CALENDAR: 
178 @ATK_ROLE_CANVAS: 
179 @ATK_ROLE_CHECK_BOX: 
180 @ATK_ROLE_CHECK_MENU_ITEM: 
181 @ATK_ROLE_COLOR_CHOOSER: 
182 @ATK_ROLE_COLUMN_HEADER: 
183 @ATK_ROLE_COMBO_BOX: 
184 @ATK_ROLE_DATE_EDITOR: 
185 @ATK_ROLE_DESKTOP_ICON: 
186 @ATK_ROLE_DESKTOP_FRAME: 
187 @ATK_ROLE_DIAL: 
188 @ATK_ROLE_DIALOG: 
189 @ATK_ROLE_DIRECTORY_PANE: 
190 @ATK_ROLE_DRAWING_AREA: 
191 @ATK_ROLE_FILE_CHOOSER: 
192 @ATK_ROLE_FILLER: 
193 @ATK_ROLE_FONT_CHOOSER: 
194 @ATK_ROLE_FRAME: 
195 @ATK_ROLE_GLASS_PANE: 
196 @ATK_ROLE_HTML_CONTAINER: 
197 @ATK_ROLE_ICON: 
198 @ATK_ROLE_IMAGE: 
199 @ATK_ROLE_INTERNAL_FRAME: 
200 @ATK_ROLE_LABEL: 
201 @ATK_ROLE_LAYERED_PANE: 
202 @ATK_ROLE_LIST: 
203 @ATK_ROLE_LIST_ITEM: 
204 @ATK_ROLE_MENU: 
205 @ATK_ROLE_MENU_BAR: 
206 @ATK_ROLE_MENU_ITEM: 
207 @ATK_ROLE_OPTION_PANE: 
208 @ATK_ROLE_PAGE_TAB: 
209 @ATK_ROLE_PAGE_TAB_LIST: 
210 @ATK_ROLE_PANEL: 
211 @ATK_ROLE_PASSWORD_TEXT: 
212 @ATK_ROLE_POPUP_MENU: 
213 @ATK_ROLE_PROGRESS_BAR: 
214 @ATK_ROLE_PUSH_BUTTON: 
215 @ATK_ROLE_RADIO_BUTTON: 
216 @ATK_ROLE_RADIO_MENU_ITEM: 
217 @ATK_ROLE_ROOT_PANE: 
218 @ATK_ROLE_ROW_HEADER: 
219 @ATK_ROLE_SCROLL_BAR: 
220 @ATK_ROLE_SCROLL_PANE: 
221 @ATK_ROLE_SEPARATOR: 
222 @ATK_ROLE_SLIDER: 
223 @ATK_ROLE_SPLIT_PANE: 
224 @ATK_ROLE_SPIN_BUTTON: 
225 @ATK_ROLE_STATUSBAR: 
226 @ATK_ROLE_TABLE: 
227 @ATK_ROLE_TABLE_CELL: 
228 @ATK_ROLE_TABLE_COLUMN_HEADER: 
229 @ATK_ROLE_TABLE_ROW_HEADER: 
230 @ATK_ROLE_TEAR_OFF_MENU_ITEM: 
231 @ATK_ROLE_TERMINAL: 
232 @ATK_ROLE_TEXT: 
233 @ATK_ROLE_TOGGLE_BUTTON: 
234 @ATK_ROLE_TOOL_BAR: 
235 @ATK_ROLE_TOOL_TIP: 
236 @ATK_ROLE_TREE: 
237 @ATK_ROLE_TREE_TABLE: 
238 @ATK_ROLE_UNKNOWN: 
239 @ATK_ROLE_VIEWPORT: 
240 @ATK_ROLE_WINDOW: 
241 @ATK_ROLE_HEADER: 
242 @ATK_ROLE_FOOTER: 
243 @ATK_ROLE_PARAGRAPH: 
244 @ATK_ROLE_RULER: 
245 @ATK_ROLE_APPLICATION: 
246 @ATK_ROLE_AUTOCOMPLETE: 
247 @ATK_ROLE_LAST_DEFINED: 
248
249 <!-- ##### FUNCTION atk_role_register ##### -->
250 <para>
251
252 </para>
253
254 @name: 
255 @Returns: 
256
257
258 <!-- ##### ENUM AtkLayer ##### -->
259 <para>
260 </para>
261
262 @ATK_LAYER_INVALID: 
263 @ATK_LAYER_BACKGROUND: 
264 @ATK_LAYER_CANVAS: 
265 @ATK_LAYER_WIDGET: 
266 @ATK_LAYER_MDI: 
267 @ATK_LAYER_POPUP: 
268 @ATK_LAYER_OVERLAY: 
269 @ATK_LAYER_WINDOW: 
270
271 <!-- ##### STRUCT AtkImplementor ##### -->
272 <para>
273 The AtkImplementor structure does not contain any fields.
274
275 </para>
276
277
278 <!-- ##### STRUCT AtkPropertyValues ##### -->
279 <para>
280 The Atk PropertyValue structure is used when notifying a change in property.
281 Currently, the only property for which old_value is used is
282 accessible-state; for instance if there is a focus change the
283 property change handler will be called for the object which lost the focus
284 with the old_value containing the AtkState value corresponding to focused
285 and the property change handler will be called for the object which
286 received the focus with the new_value containing the AtkState value
287 corresponding to focused.
288
289 </para>
290
291 @property_name: 
292 @old_value: 
293 @new_value: 
294
295 <!-- ##### USER_FUNCTION AtkFunction ##### -->
296 <para>
297 An AtkFunction is a function definition used for padding which has been added 
298 to class and interface structures to allow for expansion in the future.
299
300 </para>
301
302 @data: 
303 @Returns: 
304
305
306 <!-- ##### USER_FUNCTION AtkPropertyChangeHandler ##### -->
307 <para>
308 An AtkPropertyChangeHandler is a function which is executed when an AtkObject's property changes value. It is specified in a call to 
309 atk_object_connect_property_change_handler().
310 </para>
311
312 @Param1: 
313 @Param2: 
314
315
316 <!-- ##### FUNCTION atk_implementor_ref_accessible ##### -->
317 <para>
318
319 </para>
320
321 @implementor: 
322 @Returns: 
323
324
325 <!-- ##### FUNCTION atk_object_get_name ##### -->
326 <para>
327
328 </para>
329
330 @accessible: 
331 @Returns: 
332
333
334 <!-- ##### FUNCTION atk_object_get_description ##### -->
335 <para>
336
337 </para>
338
339 @accessible: 
340 @Returns: 
341
342
343 <!-- ##### FUNCTION atk_object_get_parent ##### -->
344 <para>
345
346 </para>
347
348 @accessible: 
349 @Returns: 
350
351
352 <!-- ##### FUNCTION atk_object_get_n_accessible_children ##### -->
353 <para>
354
355 </para>
356
357 @accessible: 
358 @Returns: 
359
360
361 <!-- ##### FUNCTION atk_object_ref_accessible_child ##### -->
362 <para>
363
364 </para>
365
366 @accessible: 
367 @i: 
368 @Returns: 
369
370
371 <!-- ##### FUNCTION atk_object_ref_relation_set ##### -->
372 <para>
373
374 </para>
375
376 @accessible: 
377 @Returns: 
378
379
380 <!-- ##### FUNCTION atk_object_get_layer ##### -->
381 <para>
382
383 </para>
384
385 @accessible: 
386 @Returns: 
387
388
389 <!-- ##### FUNCTION atk_object_get_mdi_zorder ##### -->
390 <para>
391
392 </para>
393
394 @accessible: 
395 @Returns: 
396
397
398 <!-- ##### FUNCTION atk_object_get_role ##### -->
399 <para>
400
401 </para>
402
403 @accessible: 
404 @Returns: 
405
406
407 <!-- ##### FUNCTION atk_object_ref_state_set ##### -->
408 <para>
409
410 </para>
411
412 @accessible: 
413 @Returns: 
414
415
416 <!-- ##### FUNCTION atk_object_get_index_in_parent ##### -->
417 <para>
418
419 </para>
420
421 @accessible: 
422 @Returns: 
423
424
425 <!-- ##### FUNCTION atk_object_set_name ##### -->
426 <para>
427
428 </para>
429
430 @accessible: 
431 @name: 
432
433
434 <!-- ##### FUNCTION atk_object_set_description ##### -->
435 <para>
436
437 </para>
438
439 @accessible: 
440 @description: 
441
442
443 <!-- ##### FUNCTION atk_object_set_parent ##### -->
444 <para>
445
446 </para>
447
448 @accessible: 
449 @parent: 
450
451
452 <!-- ##### FUNCTION atk_object_set_role ##### -->
453 <para>
454
455 </para>
456
457 @accessible: 
458 @role: 
459
460
461 <!-- ##### FUNCTION atk_object_connect_property_change_handler ##### -->
462 <para>
463
464 </para>
465
466 @accessible: 
467 @handler: 
468 @Returns: 
469
470
471 <!-- ##### FUNCTION atk_object_remove_property_change_handler ##### -->
472 <para>
473
474 </para>
475
476 @accessible: 
477 @handler_id: 
478
479
480 <!-- ##### FUNCTION atk_object_notify_state_change ##### -->
481 <para>
482
483 </para>
484
485 @accessible: 
486 @state: 
487 @value: 
488
489
490 <!-- ##### FUNCTION atk_object_initialize ##### -->
491 <para>
492
493 </para>
494
495 @accessible: 
496 @data: 
497
498
499 <!-- ##### FUNCTION atk_object_add_relationship ##### -->
500 <para>
501
502 </para>
503
504 @object: 
505 @relationship: 
506 @target: 
507 @Returns: 
508
509
510 <!-- ##### FUNCTION atk_object_remove_relationship ##### -->
511 <para>
512
513 </para>
514
515 @object: 
516 @relationship: 
517 @target: 
518 @Returns: 
519
520
521 <!-- ##### FUNCTION atk_role_get_name ##### -->
522 <para>
523
524 </para>
525
526 @role: 
527 @Returns: 
528
529
530 <!-- ##### FUNCTION atk_role_get_localized_name ##### -->
531 <para>
532
533 </para>
534
535 @role: 
536 @Returns: 
537
538
539 <!-- ##### FUNCTION atk_role_for_name ##### -->
540 <para>
541
542 </para>
543
544 @name: 
545 @Returns: 
546
547