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 <!-- ##### SECTION Stability_Level ##### -->
37 <!-- ##### SECTION Image ##### -->
40 <!-- ##### STRUCT AtkObject ##### -->
42 The AtkObject structure should not be accessed directly.
47 <!-- ##### SIGNAL AtkObject::active-descendant-changed ##### -->
49 The "active-descendant-changed" signal is emitted by an object which has
50 the state ATK_STATE_MANAGES_DESCENDANTS when the focus object in the
51 object changes. For instance, a table will emit the signal when the cell
52 in the table which has focus changes.
55 @atkobject: the object which received the signal.
56 @arg1: the newly focused object.
58 <!-- ##### SIGNAL AtkObject::children-changed ##### -->
60 The signal "children-changed" is emitted when a child is added or
61 removed form an object. It supports two details: "add" and "remove"
64 @atkobject: the object which received the signal.
65 @arg1: The index of the added or removed child
66 @arg2: A gpointer to the child AtkObject which was added or removed
68 <!-- ##### SIGNAL AtkObject::focus-event ##### -->
70 The signal "focus-event" is emitted when an object gains or loses focus.
73 @atkobject: the object which received the signal.
74 @arg1: A boolean value which indicates whether the object gained or lost focus.
76 <!-- ##### SIGNAL AtkObject::property-change ##### -->
78 The signal "property-change" is emitted when an object's property
79 value changes. The detail identifies the name of the property whose
83 @atkobject: the object which received the signal.
84 @arg1: The new value of the property which changed.
86 <!-- ##### SIGNAL AtkObject::state-change ##### -->
88 The "state-change" signal is emitted when an object's state changes.
89 The detail value identifies the state type which has changed.
92 @atkobject: the object which received the signal.
93 @arg1: The name of the state which has changed
94 @arg2: A boolean which indicates whether the state has been set or unset.
96 <!-- ##### SIGNAL AtkObject::visible-data-changed ##### -->
98 The "visible-data-changed" signal is emitted when the visual appearance of
102 @atkobject: the object which received the signal.
104 <!-- ##### ARG AtkObject:accessible-component-layer ##### -->
109 <!-- ##### ARG AtkObject:accessible-component-mdi-zorder ##### -->
114 <!-- ##### ARG AtkObject:accessible-description ##### -->
119 <!-- ##### ARG AtkObject:accessible-hypertext-nlinks ##### -->
124 <!-- ##### ARG AtkObject:accessible-name ##### -->
129 <!-- ##### ARG AtkObject:accessible-parent ##### -->
134 <!-- ##### ARG AtkObject:accessible-role ##### -->
139 <!-- ##### ARG AtkObject:accessible-table-caption ##### -->
144 <!-- ##### ARG AtkObject:accessible-table-caption-object ##### -->
149 <!-- ##### ARG AtkObject:accessible-table-column-description ##### -->
154 <!-- ##### ARG AtkObject:accessible-table-column-header ##### -->
159 <!-- ##### ARG AtkObject:accessible-table-row-description ##### -->
164 <!-- ##### ARG AtkObject:accessible-table-row-header ##### -->
169 <!-- ##### ARG AtkObject:accessible-table-summary ##### -->
174 <!-- ##### ARG AtkObject:accessible-value ##### -->
179 <!-- ##### ENUM AtkRole ##### -->
184 @ATK_ROLE_ACCEL_LABEL:
191 @ATK_ROLE_CHECK_MENU_ITEM:
192 @ATK_ROLE_COLOR_CHOOSER:
193 @ATK_ROLE_COLUMN_HEADER:
195 @ATK_ROLE_DATE_EDITOR:
196 @ATK_ROLE_DESKTOP_ICON:
197 @ATK_ROLE_DESKTOP_FRAME:
200 @ATK_ROLE_DIRECTORY_PANE:
201 @ATK_ROLE_DRAWING_AREA:
202 @ATK_ROLE_FILE_CHOOSER:
204 @ATK_ROLE_FONT_CHOOSER:
206 @ATK_ROLE_GLASS_PANE:
207 @ATK_ROLE_HTML_CONTAINER:
210 @ATK_ROLE_INTERNAL_FRAME:
212 @ATK_ROLE_LAYERED_PANE:
218 @ATK_ROLE_OPTION_PANE:
220 @ATK_ROLE_PAGE_TAB_LIST:
222 @ATK_ROLE_PASSWORD_TEXT:
223 @ATK_ROLE_POPUP_MENU:
224 @ATK_ROLE_PROGRESS_BAR:
225 @ATK_ROLE_PUSH_BUTTON:
226 @ATK_ROLE_RADIO_BUTTON:
227 @ATK_ROLE_RADIO_MENU_ITEM:
229 @ATK_ROLE_ROW_HEADER:
230 @ATK_ROLE_SCROLL_BAR:
231 @ATK_ROLE_SCROLL_PANE:
234 @ATK_ROLE_SPLIT_PANE:
235 @ATK_ROLE_SPIN_BUTTON:
238 @ATK_ROLE_TABLE_CELL:
239 @ATK_ROLE_TABLE_COLUMN_HEADER:
240 @ATK_ROLE_TABLE_ROW_HEADER:
241 @ATK_ROLE_TEAR_OFF_MENU_ITEM:
244 @ATK_ROLE_TOGGLE_BUTTON:
248 @ATK_ROLE_TREE_TABLE:
256 @ATK_ROLE_APPLICATION:
257 @ATK_ROLE_AUTOCOMPLETE:
263 @ATK_ROLE_DOCUMENT_FRAME:
267 @ATK_ROLE_REDUNDANT_OBJECT:
270 @ATK_ROLE_INPUT_METHOD_WINDOW:
271 @ATK_ROLE_LAST_DEFINED:
273 <!-- ##### FUNCTION atk_role_register ##### -->
282 <!-- ##### ENUM AtkLayer ##### -->
287 @ATK_LAYER_BACKGROUND:
295 <!-- ##### STRUCT AtkImplementor ##### -->
297 The AtkImplementor interface is implemented by objects for which AtkObject peers may be obtained via calls to iface->(ref_accessible)(implementor);
301 <!-- ##### STRUCT AtkPropertyValues ##### -->
303 The Atk PropertyValue structure is used when notifying a change in property.
304 Currently, the only property for which old_value is used is
305 accessible-state; for instance if there is a focus change the
306 property change handler will be called for the object which lost the focus
307 with the old_value containing the AtkState value corresponding to focused
308 and the property change handler will be called for the object which
309 received the focus with the new_value containing the AtkState value
310 corresponding to focused.
318 <!-- ##### USER_FUNCTION AtkFunction ##### -->
320 An AtkFunction is a function definition used for padding which has been added
321 to class and interface structures to allow for expansion in the future.
325 @data: a gpointer to parameter data.
326 @Returns: Nothing useful, this is only a dummy prototype.
329 <!-- ##### USER_FUNCTION AtkPropertyChangeHandler ##### -->
331 An AtkPropertyChangeHandler is a function which is executed when an AtkObject's property changes value. It is specified in a call to
332 atk_object_connect_property_change_handler().
335 @Param1: an #AtkObject
336 @Param2: an #AtkPropertyValues
339 <!-- ##### FUNCTION atk_implementor_ref_accessible ##### -->
348 <!-- ##### FUNCTION atk_object_get_name ##### -->
357 <!-- ##### FUNCTION atk_object_get_description ##### -->
366 <!-- ##### FUNCTION atk_object_get_parent ##### -->
375 <!-- ##### FUNCTION atk_object_get_n_accessible_children ##### -->
384 <!-- ##### FUNCTION atk_object_ref_accessible_child ##### -->
394 <!-- ##### FUNCTION atk_object_ref_relation_set ##### -->
403 <!-- ##### FUNCTION atk_object_get_layer ##### -->
410 @Deprecated: Use atk_component_get_layer instead.
413 <!-- ##### FUNCTION atk_object_get_mdi_zorder ##### -->
420 @Deprecated: Use atk_component_get_mdi_zorder instead.
423 <!-- ##### FUNCTION atk_object_get_role ##### -->
432 <!-- ##### FUNCTION atk_object_ref_state_set ##### -->
441 <!-- ##### FUNCTION atk_object_get_index_in_parent ##### -->
450 <!-- ##### FUNCTION atk_object_set_name ##### -->
459 <!-- ##### FUNCTION atk_object_set_description ##### -->
468 <!-- ##### FUNCTION atk_object_set_parent ##### -->
477 <!-- ##### FUNCTION atk_object_set_role ##### -->
486 <!-- ##### FUNCTION atk_object_connect_property_change_handler ##### -->
496 <!-- ##### FUNCTION atk_object_remove_property_change_handler ##### -->
505 <!-- ##### FUNCTION atk_object_notify_state_change ##### -->
515 <!-- ##### FUNCTION atk_object_initialize ##### -->
524 <!-- ##### FUNCTION atk_object_add_relationship ##### -->
535 <!-- ##### FUNCTION atk_object_remove_relationship ##### -->
546 <!-- ##### FUNCTION atk_object_get_attributes ##### -->
555 <!-- ##### FUNCTION atk_role_get_name ##### -->
564 <!-- ##### FUNCTION atk_role_get_localized_name ##### -->
573 <!-- ##### FUNCTION atk_role_for_name ##### -->