1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
6 The base object class for the Accessibility Toolkit API.
8 <!-- ##### SECTION Long_Description ##### -->
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.
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.
28 <!-- ##### SECTION See_Also ##### -->
30 See also: #AtkObjectFactory, #AtkRegistry.
31 ( GTK+ users see also #GtkAccessible).
34 <!-- ##### STRUCT AtkObject ##### -->
36 The AtkObject structure should not be accessed directly.
41 <!-- ##### ENUM AtkRole ##### -->
43 These are the built-in enumerated roles that UI components can have in
44 ATK. Other roles may be added at runtime, so an AtkRole >=
45 ATK_ROLE_LAST_DEFINED is not necessarily an error.
49 @ATK_ROLE_ACCEL_LABEL:
56 @ATK_ROLE_CHECK_MENU_ITEM:
57 @ATK_ROLE_COLOR_CHOOSER:
58 @ATK_ROLE_COLUMN_HEADER:
60 @ATK_ROLE_DATE_EDITOR:
61 @ATK_ROLE_DESKTOP_ICON:
62 @ATK_ROLE_DESKTOP_FRAME:
65 @ATK_ROLE_DIRECTORY_PANE:
66 @ATK_ROLE_DRAWING_AREA:
67 @ATK_ROLE_FILE_CHOOSER:
69 @ATK_ROLE_FONT_CHOOSER:
72 @ATK_ROLE_HTML_CONTAINER:
75 @ATK_ROLE_INTERNAL_FRAME:
77 @ATK_ROLE_LAYERED_PANE:
83 @ATK_ROLE_OPTION_PANE:
85 @ATK_ROLE_PAGE_TAB_LIST:
87 @ATK_ROLE_PASSWORD_TEXT:
89 @ATK_ROLE_PROGRESS_BAR:
90 @ATK_ROLE_PUSH_BUTTON:
91 @ATK_ROLE_RADIO_BUTTON:
92 @ATK_ROLE_RADIO_MENU_ITEM:
96 @ATK_ROLE_SCROLL_PANE:
100 @ATK_ROLE_SPIN_BUTTON:
103 @ATK_ROLE_TABLE_CELL:
104 @ATK_ROLE_TABLE_COLUMN_HEADER:
105 @ATK_ROLE_TABLE_ROW_HEADER:
106 @ATK_ROLE_TEAR_OFF_MENU_ITEM:
109 @ATK_ROLE_TOGGLE_BUTTON:
113 @ATK_ROLE_TREE_TABLE:
121 @ATK_ROLE_LAST_DEFINED:
123 <!-- ##### FUNCTION atk_role_register ##### -->
132 <!-- ##### ENUM AtkLayer ##### -->
134 These enumerated "layer values" are used when determining which UI
135 rendering layer a component is drawn into, which can help in making
136 determinations of when components occlude one another.
140 @ATK_LAYER_BACKGROUND:
148 <!-- ##### STRUCT AtkImplementor ##### -->
150 The AtkImplementor structure does not contain any fields.
155 <!-- ##### STRUCT AtkPropertyValues ##### -->
157 The Atk PropertyValue structure is used when notifying a change in property.
158 Currently, the only property for which old_value is used is
159 accessible-state; for instance if there is a focus change the
160 property change handler will be called for the object which lost the focus
161 with the old_value containing the AtkState value corresponding to focused
162 and the property change handler will be called for the object which
163 received the focus with the new_value containing the AtkState value
164 corresponding to focused.
172 <!-- ##### USER_FUNCTION AtkFunction ##### -->
174 An AtkFunction is a function definition used for padding which has been added
175 to class and interface structures to allow for expansion in the future.
183 <!-- ##### USER_FUNCTION AtkPropertyChangeHandler ##### -->
185 An AtkPropertyChangeHandler is a function which is executed when an AtkObject's property changes value. It is specified in a call to
186 atk_object_connect_property_change_handler().
193 <!-- ##### FUNCTION atk_implementor_ref_accessible ##### -->
202 <!-- ##### FUNCTION atk_object_get_name ##### -->
211 <!-- ##### FUNCTION atk_object_get_description ##### -->
220 <!-- ##### FUNCTION atk_object_get_parent ##### -->
229 <!-- ##### FUNCTION atk_object_get_n_accessible_children ##### -->
238 <!-- ##### FUNCTION atk_object_ref_accessible_child ##### -->
248 <!-- ##### FUNCTION atk_object_ref_relation_set ##### -->
257 <!-- ##### FUNCTION atk_object_get_layer ##### -->
266 <!-- ##### FUNCTION atk_object_get_mdi_zorder ##### -->
275 <!-- ##### FUNCTION atk_object_get_role ##### -->
284 <!-- ##### FUNCTION atk_object_ref_state_set ##### -->
293 <!-- ##### FUNCTION atk_object_get_index_in_parent ##### -->
302 <!-- ##### FUNCTION atk_object_set_name ##### -->
311 <!-- ##### FUNCTION atk_object_set_description ##### -->
320 <!-- ##### FUNCTION atk_object_set_parent ##### -->
329 <!-- ##### FUNCTION atk_object_set_role ##### -->
338 <!-- ##### FUNCTION atk_object_connect_property_change_handler ##### -->
348 <!-- ##### FUNCTION atk_object_remove_property_change_handler ##### -->
357 <!-- ##### FUNCTION atk_object_notify_state_change ##### -->
367 <!-- ##### FUNCTION atk_object_initialize ##### -->
376 <!-- ##### FUNCTION atk_object_add_relationship ##### -->
387 <!-- ##### FUNCTION atk_object_remove_relationship ##### -->
398 <!-- ##### FUNCTION atk_role_get_name ##### -->
407 <!-- ##### FUNCTION atk_role_get_localized_name ##### -->
416 <!-- ##### FUNCTION atk_role_for_name ##### -->
425 <!-- ##### SIGNAL AtkObject::children-changed ##### -->
427 The children_changed signal supports two details, "add" and "remove" which
428 indicate whether a child was added or removed
431 @atkobject: the object which received the signal.
432 @arg1: The index of the added or removed child
433 @arg2: The child which was added or removed
435 <!-- ##### SIGNAL AtkObject::focus-event ##### -->
440 @atkobject: the object which received the signal.
441 @arg1: A boolean value which indicates whether or not the focus event is is or out.
443 <!-- ##### SIGNAL AtkObject::property-change ##### -->
445 This signal support a detail which identifies the property which has
449 @atkobject: the object which received the signal.
450 @arg1: The new value of the property which changed.
452 <!-- ##### SIGNAL AtkObject::state-change ##### -->
454 This signal support, which may be any of the accessible state types.
457 @atkobject: the object which received the signal.
458 @arg1: The name of the state which has changed
459 @arg2: A boolean which indicates whether the state has been set or unset.
461 <!-- ##### SIGNAL AtkObject::visible-data-changed ##### -->
466 @atkobject: the object which received the signal.
468 <!-- ##### ARG AtkObject:accessible-name ##### -->
473 <!-- ##### ARG AtkObject:accessible-description ##### -->
478 <!-- ##### ARG AtkObject:accessible-parent ##### -->
483 <!-- ##### ARG AtkObject:accessible-value ##### -->
488 <!-- ##### ARG AtkObject:accessible-role ##### -->
493 <!-- ##### ARG AtkObject:accessible-component-layer ##### -->
498 <!-- ##### ARG AtkObject:accessible-component-mdi-zorder ##### -->
503 <!-- ##### ARG AtkObject:accessible-table-caption ##### -->
508 <!-- ##### ARG AtkObject:accessible-table-column-description ##### -->
513 <!-- ##### ARG AtkObject:accessible-table-column-header ##### -->
518 <!-- ##### ARG AtkObject:accessible-table-row-description ##### -->
523 <!-- ##### ARG AtkObject:accessible-table-row-header ##### -->
528 <!-- ##### ARG AtkObject:accessible-table-summary ##### -->