sync
[gir-1.1] / Atk-1.0.gir
1 <?xml version="1.0"?>
2 <!-- This file was automatically generated from C sources - DO NOT EDIT!
3 To affect the contents of this file, edit the original C definitions,
4 and/or use gtk-doc annotations.  -->
5 <repository version="1.1"
6             xmlns="http://www.gtk.org/introspection/core/1.0"
7             xmlns:c="http://www.gtk.org/introspection/c/1.0"
8             xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9   <include name="GLib" version="2.0"/>
10   <include name="GObject" version="2.0"/>
11   <namespace name="Atk"
12              version="1.0"
13              shared-library="libatk-1.0.so.0"
14              c:prefix="Atk">
15     <alias name="AttributeSet" target="GLib.SList" c:type="AtkAttributeSet"/>
16     <alias name="State" target="uint64" c:type="AtkState"/>
17     <interface name="Action"
18                c:type="AtkAction"
19                glib:type-name="AtkAction"
20                glib:get-type="atk_action_get_type"
21                glib:type-struct="ActionIface">
22       <virtual-method name="do_action" invoker="do_action">
23         <doc xml:whitespace="preserve">Perform the specified action on the object.</doc>
24         <return-value transfer-ownership="none">
25           <doc xml:whitespace="preserve">%TRUE if success, %FALSE otherwise</doc>
26           <type name="boolean" c:type="gboolean"/>
27         </return-value>
28         <parameters>
29           <parameter name="i" transfer-ownership="none">
30             <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
31             <type name="int" c:type="gint"/>
32           </parameter>
33         </parameters>
34       </virtual-method>
35       <virtual-method name="get_n_actions" invoker="get_n_actions">
36         <doc xml:whitespace="preserve">Gets the number of accessible actions available on the object.
37 If there are more than one, the first one is considered the
38 "default" action of the object.
39 implement this interface.</doc>
40         <return-value transfer-ownership="none">
41           <doc xml:whitespace="preserve">a the number of actions, or 0 if @action does not</doc>
42           <type name="int" c:type="gint"/>
43         </return-value>
44       </virtual-method>
45       <virtual-method name="get_description" invoker="get_description">
46         <doc xml:whitespace="preserve">Returns a description of the specified action of the object.
47 Returns a description string, or %NULL
48 if @action does not implement this interface.</doc>
49         <return-value transfer-ownership="none">
50           <type name="utf8" c:type="gchar*"/>
51         </return-value>
52         <parameters>
53           <parameter name="i" transfer-ownership="none">
54             <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
55             <type name="int" c:type="gint"/>
56           </parameter>
57         </parameters>
58       </virtual-method>
59       <virtual-method name="get_name" invoker="get_name">
60         <doc xml:whitespace="preserve">Returns a non-localized string naming the specified action of the 
61 object. This name is generally not descriptive of the end result 
62 of the action, but instead names the 'interaction type' which the 
63 object supports. By convention, the above strings should be used to 
64 represent the actions which correspond to the common point-and-click 
65 "click", "press", "release", "drag", "drop", "popup", etc.
66 The "popup" action should be used to pop up a context menu for the 
67 object, if one exists.
68 For technical reasons, some toolkits cannot guarantee that the 
69 reported action is actually 'bound' to a nontrivial user event;
70 i.e. the result of some actions via atk_action_do_action() may be
71 NIL.
72 Returns a name string, or %NULL
73 if @action does not implement this interface.</doc>
74         <return-value transfer-ownership="none">
75           <type name="utf8" c:type="gchar*"/>
76         </return-value>
77         <parameters>
78           <parameter name="i" transfer-ownership="none">
79             <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
80             <type name="int" c:type="gint"/>
81           </parameter>
82         </parameters>
83       </virtual-method>
84       <virtual-method name="get_keybinding" invoker="get_keybinding">
85         <doc xml:whitespace="preserve">Returns a keybinding associated with this action, if one exists.
86 The returned string is in the format "&lt;a&gt;;&lt;b&gt;;&lt;c&gt;"
87 (i.e. semicolon-delimited), where &lt;a&gt; is the keybinding which
88 activates the object if it is presently enabled onscreen, 
89 &lt;b&gt; corresponds to the keybinding or sequence of keys
90 which invokes the action even if the relevant element is not
91 currently posted on screen (for instance, for a menu item it
92 posts the parent menus before invoking).  The last token in the
93 above string, if non-empty, represents a keyboard shortcut which
94 invokes the same action without posting the component or its
95 enclosing menus or dialogs. 
96 Returns a string representing the available keybindings, or %NULL
97 if there is no keybinding for this action.</doc>
98         <return-value transfer-ownership="none">
99           <type name="utf8" c:type="gchar*"/>
100         </return-value>
101         <parameters>
102           <parameter name="i" transfer-ownership="none">
103             <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
104             <type name="int" c:type="gint"/>
105           </parameter>
106         </parameters>
107       </virtual-method>
108       <virtual-method name="set_description" invoker="set_description">
109         <doc xml:whitespace="preserve">Sets a description of the specified action of the object.</doc>
110         <return-value transfer-ownership="none">
111           <doc xml:whitespace="preserve">a gboolean representing if the description was successfully set;</doc>
112           <type name="boolean" c:type="gboolean"/>
113         </return-value>
114         <parameters>
115           <parameter name="i" transfer-ownership="none">
116             <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
117             <type name="int" c:type="gint"/>
118           </parameter>
119           <parameter name="desc" transfer-ownership="none">
120             <doc xml:whitespace="preserve">the description to be assigned to this action</doc>
121             <type name="utf8" c:type="gchar*"/>
122           </parameter>
123         </parameters>
124       </virtual-method>
125       <virtual-method name="get_localized_name" invoker="get_localized_name">
126         <doc xml:whitespace="preserve">Returns the localized name of the specified action of the object.
127 Returns a name string, or %NULL
128 if @action does not implement this interface.</doc>
129         <return-value transfer-ownership="none">
130           <type name="utf8" c:type="gchar*"/>
131         </return-value>
132         <parameters>
133           <parameter name="i" transfer-ownership="none">
134             <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
135             <type name="int" c:type="gint"/>
136           </parameter>
137         </parameters>
138       </virtual-method>
139       <method name="do_action" c:identifier="atk_action_do_action">
140         <doc xml:whitespace="preserve">Perform the specified action on the object.</doc>
141         <return-value transfer-ownership="none">
142           <doc xml:whitespace="preserve">%TRUE if success, %FALSE otherwise</doc>
143           <type name="boolean" c:type="gboolean"/>
144         </return-value>
145         <parameters>
146           <parameter name="i" transfer-ownership="none">
147             <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
148             <type name="int" c:type="gint"/>
149           </parameter>
150         </parameters>
151       </method>
152       <method name="get_n_actions" c:identifier="atk_action_get_n_actions">
153         <doc xml:whitespace="preserve">Gets the number of accessible actions available on the object.
154 If there are more than one, the first one is considered the
155 "default" action of the object.
156 implement this interface.</doc>
157         <return-value transfer-ownership="none">
158           <doc xml:whitespace="preserve">a the number of actions, or 0 if @action does not</doc>
159           <type name="int" c:type="gint"/>
160         </return-value>
161       </method>
162       <method name="get_description" c:identifier="atk_action_get_description">
163         <doc xml:whitespace="preserve">Returns a description of the specified action of the object.
164 Returns a description string, or %NULL
165 if @action does not implement this interface.</doc>
166         <return-value transfer-ownership="none">
167           <type name="utf8" c:type="gchar*"/>
168         </return-value>
169         <parameters>
170           <parameter name="i" transfer-ownership="none">
171             <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
172             <type name="int" c:type="gint"/>
173           </parameter>
174         </parameters>
175       </method>
176       <method name="get_name" c:identifier="atk_action_get_name">
177         <doc xml:whitespace="preserve">Returns a non-localized string naming the specified action of the 
178 object. This name is generally not descriptive of the end result 
179 of the action, but instead names the 'interaction type' which the 
180 object supports. By convention, the above strings should be used to 
181 represent the actions which correspond to the common point-and-click 
182 "click", "press", "release", "drag", "drop", "popup", etc.
183 The "popup" action should be used to pop up a context menu for the 
184 object, if one exists.
185 For technical reasons, some toolkits cannot guarantee that the 
186 reported action is actually 'bound' to a nontrivial user event;
187 i.e. the result of some actions via atk_action_do_action() may be
188 NIL.
189 Returns a name string, or %NULL
190 if @action does not implement this interface.</doc>
191         <return-value transfer-ownership="none">
192           <type name="utf8" c:type="gchar*"/>
193         </return-value>
194         <parameters>
195           <parameter name="i" transfer-ownership="none">
196             <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
197             <type name="int" c:type="gint"/>
198           </parameter>
199         </parameters>
200       </method>
201       <method name="get_keybinding" c:identifier="atk_action_get_keybinding">
202         <doc xml:whitespace="preserve">Returns a keybinding associated with this action, if one exists.
203 The returned string is in the format "&lt;a&gt;;&lt;b&gt;;&lt;c&gt;"
204 (i.e. semicolon-delimited), where &lt;a&gt; is the keybinding which
205 activates the object if it is presently enabled onscreen, 
206 &lt;b&gt; corresponds to the keybinding or sequence of keys
207 which invokes the action even if the relevant element is not
208 currently posted on screen (for instance, for a menu item it
209 posts the parent menus before invoking).  The last token in the
210 above string, if non-empty, represents a keyboard shortcut which
211 invokes the same action without posting the component or its
212 enclosing menus or dialogs. 
213 Returns a string representing the available keybindings, or %NULL
214 if there is no keybinding for this action.</doc>
215         <return-value transfer-ownership="none">
216           <type name="utf8" c:type="gchar*"/>
217         </return-value>
218         <parameters>
219           <parameter name="i" transfer-ownership="none">
220             <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
221             <type name="int" c:type="gint"/>
222           </parameter>
223         </parameters>
224       </method>
225       <method name="set_description" c:identifier="atk_action_set_description">
226         <doc xml:whitespace="preserve">Sets a description of the specified action of the object.</doc>
227         <return-value transfer-ownership="none">
228           <doc xml:whitespace="preserve">a gboolean representing if the description was successfully set;</doc>
229           <type name="boolean" c:type="gboolean"/>
230         </return-value>
231         <parameters>
232           <parameter name="i" transfer-ownership="none">
233             <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
234             <type name="int" c:type="gint"/>
235           </parameter>
236           <parameter name="desc" transfer-ownership="none">
237             <doc xml:whitespace="preserve">the description to be assigned to this action</doc>
238             <type name="utf8" c:type="gchar*"/>
239           </parameter>
240         </parameters>
241       </method>
242       <method name="get_localized_name"
243               c:identifier="atk_action_get_localized_name">
244         <doc xml:whitespace="preserve">Returns the localized name of the specified action of the object.
245 Returns a name string, or %NULL
246 if @action does not implement this interface.</doc>
247         <return-value transfer-ownership="none">
248           <type name="utf8" c:type="gchar*"/>
249         </return-value>
250         <parameters>
251           <parameter name="i" transfer-ownership="none">
252             <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
253             <type name="int" c:type="gint"/>
254           </parameter>
255         </parameters>
256       </method>
257     </interface>
258     <record name="ActionIface"
259             c:type="AtkActionIface"
260             glib:is-gtype-struct-for="Action">
261       <field name="parent">
262         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
263       </field>
264       <field name="do_action">
265         <callback name="do_action" c:type="do_action">
266           <return-value transfer-ownership="none">
267             <doc xml:whitespace="preserve">%TRUE if success, %FALSE otherwise</doc>
268             <type name="boolean" c:type="gboolean"/>
269           </return-value>
270           <parameters>
271             <parameter name="action" transfer-ownership="none">
272               <type name="Action" c:type="AtkAction*"/>
273             </parameter>
274             <parameter name="i" transfer-ownership="none">
275               <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
276               <type name="int" c:type="gint"/>
277             </parameter>
278           </parameters>
279         </callback>
280       </field>
281       <field name="get_n_actions">
282         <callback name="get_n_actions" c:type="get_n_actions">
283           <return-value transfer-ownership="none">
284             <doc xml:whitespace="preserve">a the number of actions, or 0 if @action does not</doc>
285             <type name="int" c:type="gint"/>
286           </return-value>
287           <parameters>
288             <parameter name="action" transfer-ownership="none">
289               <type name="Action" c:type="AtkAction*"/>
290             </parameter>
291           </parameters>
292         </callback>
293       </field>
294       <field name="get_description">
295         <callback name="get_description" c:type="get_description">
296           <return-value transfer-ownership="none">
297             <type name="utf8" c:type="gchar*"/>
298           </return-value>
299           <parameters>
300             <parameter name="action" transfer-ownership="none">
301               <type name="Action" c:type="AtkAction*"/>
302             </parameter>
303             <parameter name="i" transfer-ownership="none">
304               <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
305               <type name="int" c:type="gint"/>
306             </parameter>
307           </parameters>
308         </callback>
309       </field>
310       <field name="get_name">
311         <callback name="get_name" c:type="get_name">
312           <return-value transfer-ownership="none">
313             <type name="utf8" c:type="gchar*"/>
314           </return-value>
315           <parameters>
316             <parameter name="action" transfer-ownership="none">
317               <type name="Action" c:type="AtkAction*"/>
318             </parameter>
319             <parameter name="i" transfer-ownership="none">
320               <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
321               <type name="int" c:type="gint"/>
322             </parameter>
323           </parameters>
324         </callback>
325       </field>
326       <field name="get_keybinding">
327         <callback name="get_keybinding" c:type="get_keybinding">
328           <return-value transfer-ownership="none">
329             <type name="utf8" c:type="gchar*"/>
330           </return-value>
331           <parameters>
332             <parameter name="action" transfer-ownership="none">
333               <type name="Action" c:type="AtkAction*"/>
334             </parameter>
335             <parameter name="i" transfer-ownership="none">
336               <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
337               <type name="int" c:type="gint"/>
338             </parameter>
339           </parameters>
340         </callback>
341       </field>
342       <field name="set_description">
343         <callback name="set_description" c:type="set_description">
344           <return-value transfer-ownership="none">
345             <doc xml:whitespace="preserve">a gboolean representing if the description was successfully set;</doc>
346             <type name="boolean" c:type="gboolean"/>
347           </return-value>
348           <parameters>
349             <parameter name="action" transfer-ownership="none">
350               <type name="Action" c:type="AtkAction*"/>
351             </parameter>
352             <parameter name="i" transfer-ownership="none">
353               <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
354               <type name="int" c:type="gint"/>
355             </parameter>
356             <parameter name="desc" transfer-ownership="none">
357               <doc xml:whitespace="preserve">the description to be assigned to this action</doc>
358               <type name="utf8" c:type="gchar*"/>
359             </parameter>
360           </parameters>
361         </callback>
362       </field>
363       <field name="get_localized_name">
364         <callback name="get_localized_name" c:type="get_localized_name">
365           <return-value transfer-ownership="none">
366             <type name="utf8" c:type="gchar*"/>
367           </return-value>
368           <parameters>
369             <parameter name="action" transfer-ownership="none">
370               <type name="Action" c:type="AtkAction*"/>
371             </parameter>
372             <parameter name="i" transfer-ownership="none">
373               <doc xml:whitespace="preserve">the action index corresponding to the action to be performed</doc>
374               <type name="int" c:type="gint"/>
375             </parameter>
376           </parameters>
377         </callback>
378       </field>
379       <field name="pad2">
380         <type name="Function" c:type="AtkFunction"/>
381       </field>
382     </record>
383     <record name="Attribute" c:type="AtkAttribute">
384       <doc xml:whitespace="preserve">A string name/value pair representing a text attribute.</doc>
385       <field name="name" writable="1">
386         <type name="utf8" c:type="gchar*"/>
387       </field>
388       <field name="value" writable="1">
389         <type name="utf8" c:type="gchar*"/>
390       </field>
391     </record>
392     <interface name="Component"
393                c:type="AtkComponent"
394                glib:type-name="AtkComponent"
395                glib:get-type="atk_component_get_type"
396                glib:type-struct="ComponentIface">
397       <virtual-method name="add_focus_handler" invoker="add_focus_handler">
398         <doc xml:whitespace="preserve">Add the specified handler to the set of functions to be called 
399 when this object receives focus events (in or out). If the handler is
400 already added it is not added again
401 or zero if the handler was already added.</doc>
402         <return-value transfer-ownership="none">
403           <doc xml:whitespace="preserve">a handler id which can be used in atk_component_remove_focus_handler</doc>
404           <type name="uint" c:type="guint"/>
405         </return-value>
406         <parameters>
407           <parameter name="handler" transfer-ownership="none">
408             <doc xml:whitespace="preserve">The #AtkFocusHandler to be attached to @component</doc>
409             <type name="FocusHandler" c:type="AtkFocusHandler"/>
410           </parameter>
411         </parameters>
412       </virtual-method>
413       <virtual-method name="contains" invoker="contains">
414         <doc xml:whitespace="preserve">Checks whether the specified point is within the extent of the @component.
415 the extent of the @component or not</doc>
416         <return-value transfer-ownership="none">
417           <doc xml:whitespace="preserve">%TRUE or %FALSE indicating whether the specified point is within</doc>
418           <type name="boolean" c:type="gboolean"/>
419         </return-value>
420         <parameters>
421           <parameter name="x" transfer-ownership="none">
422             <doc xml:whitespace="preserve">x coordinate</doc>
423             <type name="int" c:type="gint"/>
424           </parameter>
425           <parameter name="y" transfer-ownership="none">
426             <doc xml:whitespace="preserve">y coordinate</doc>
427             <type name="int" c:type="gint"/>
428           </parameter>
429           <parameter name="coord_type" transfer-ownership="none">
430             <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
431             <type name="CoordType" c:type="AtkCoordType"/>
432           </parameter>
433         </parameters>
434       </virtual-method>
435       <virtual-method name="ref_accessible_at_point"
436                       invoker="ref_accessible_at_point">
437         <doc xml:whitespace="preserve">Gets a reference to the accessible child, if one exists, at the
438 coordinate point specified by @x and @y.</doc>
439         <return-value transfer-ownership="full">
440           <doc xml:whitespace="preserve">a reference to the accessible child, if one exists</doc>
441           <type name="Object" c:type="AtkObject*"/>
442         </return-value>
443         <parameters>
444           <parameter name="x" transfer-ownership="none">
445             <doc xml:whitespace="preserve">x coordinate</doc>
446             <type name="int" c:type="gint"/>
447           </parameter>
448           <parameter name="y" transfer-ownership="none">
449             <doc xml:whitespace="preserve">y coordinate</doc>
450             <type name="int" c:type="gint"/>
451           </parameter>
452           <parameter name="coord_type" transfer-ownership="none">
453             <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
454             <type name="CoordType" c:type="AtkCoordType"/>
455           </parameter>
456         </parameters>
457       </virtual-method>
458       <virtual-method name="get_extents" invoker="get_extents">
459         <doc xml:whitespace="preserve">Gets the rectangle which gives the extent of the @component.</doc>
460         <return-value transfer-ownership="none">
461           <type name="none" c:type="void"/>
462         </return-value>
463         <parameters>
464           <parameter name="x"
465                      direction="out"
466                      caller-allocates="0"
467                      transfer-ownership="full">
468             <doc xml:whitespace="preserve">address of #gint to put x coordinate</doc>
469             <type name="int" c:type="gint*"/>
470           </parameter>
471           <parameter name="y"
472                      direction="out"
473                      caller-allocates="0"
474                      transfer-ownership="full">
475             <doc xml:whitespace="preserve">address of #gint to put y coordinate</doc>
476             <type name="int" c:type="gint*"/>
477           </parameter>
478           <parameter name="width"
479                      direction="out"
480                      caller-allocates="0"
481                      transfer-ownership="full">
482             <doc xml:whitespace="preserve">address of #gint to put width</doc>
483             <type name="int" c:type="gint*"/>
484           </parameter>
485           <parameter name="height"
486                      direction="out"
487                      caller-allocates="0"
488                      transfer-ownership="full">
489             <doc xml:whitespace="preserve">address of #gint to put height</doc>
490             <type name="int" c:type="gint*"/>
491           </parameter>
492           <parameter name="coord_type" transfer-ownership="none">
493             <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
494             <type name="CoordType" c:type="AtkCoordType"/>
495           </parameter>
496         </parameters>
497       </virtual-method>
498       <virtual-method name="get_position" invoker="get_position">
499         <doc xml:whitespace="preserve">Gets the position of @component in the form of 
500 a point specifying @component's top-left corner.</doc>
501         <return-value transfer-ownership="none">
502           <type name="none" c:type="void"/>
503         </return-value>
504         <parameters>
505           <parameter name="x"
506                      direction="out"
507                      caller-allocates="0"
508                      transfer-ownership="full">
509             <doc xml:whitespace="preserve">address of #gint to put x coordinate position</doc>
510             <type name="int" c:type="gint*"/>
511           </parameter>
512           <parameter name="y"
513                      direction="out"
514                      caller-allocates="0"
515                      transfer-ownership="full">
516             <doc xml:whitespace="preserve">address of #gint to put y coordinate position</doc>
517             <type name="int" c:type="gint*"/>
518           </parameter>
519           <parameter name="coord_type" transfer-ownership="none">
520             <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
521             <type name="CoordType" c:type="AtkCoordType"/>
522           </parameter>
523         </parameters>
524       </virtual-method>
525       <virtual-method name="get_size" invoker="get_size">
526         <doc xml:whitespace="preserve">Gets the size of the @component in terms of width and height.</doc>
527         <return-value transfer-ownership="none">
528           <type name="none" c:type="void"/>
529         </return-value>
530         <parameters>
531           <parameter name="width"
532                      direction="out"
533                      caller-allocates="0"
534                      transfer-ownership="full">
535             <doc xml:whitespace="preserve">address of #gint to put width of @component</doc>
536             <type name="int" c:type="gint*"/>
537           </parameter>
538           <parameter name="height"
539                      direction="out"
540                      caller-allocates="0"
541                      transfer-ownership="full">
542             <doc xml:whitespace="preserve">address of #gint to put height of @component</doc>
543             <type name="int" c:type="gint*"/>
544           </parameter>
545         </parameters>
546       </virtual-method>
547       <virtual-method name="grab_focus" invoker="grab_focus">
548         <doc xml:whitespace="preserve">Grabs focus for this @component.</doc>
549         <return-value transfer-ownership="none">
550           <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
551           <type name="boolean" c:type="gboolean"/>
552         </return-value>
553       </virtual-method>
554       <virtual-method name="remove_focus_handler"
555                       invoker="remove_focus_handler">
556         <doc xml:whitespace="preserve">Remove the handler specified by @handler_id from the list of
557 functions to be executed when this object receives focus events 
558 (in or out).</doc>
559         <return-value transfer-ownership="none">
560           <type name="none" c:type="void"/>
561         </return-value>
562         <parameters>
563           <parameter name="handler_id" transfer-ownership="none">
564             <doc xml:whitespace="preserve">the handler id of the focus handler to be removed from @component</doc>
565             <type name="uint" c:type="guint"/>
566           </parameter>
567         </parameters>
568       </virtual-method>
569       <virtual-method name="set_extents" invoker="set_extents">
570         <doc xml:whitespace="preserve">Sets the extents of @component.</doc>
571         <return-value transfer-ownership="none">
572           <doc xml:whitespace="preserve">%TRUE or %FALSE whether the extents were set or not</doc>
573           <type name="boolean" c:type="gboolean"/>
574         </return-value>
575         <parameters>
576           <parameter name="x" transfer-ownership="none">
577             <doc xml:whitespace="preserve">x coordinate</doc>
578             <type name="int" c:type="gint"/>
579           </parameter>
580           <parameter name="y" transfer-ownership="none">
581             <doc xml:whitespace="preserve">y coordinate</doc>
582             <type name="int" c:type="gint"/>
583           </parameter>
584           <parameter name="width" transfer-ownership="none">
585             <doc xml:whitespace="preserve">width to set for @component</doc>
586             <type name="int" c:type="gint"/>
587           </parameter>
588           <parameter name="height" transfer-ownership="none">
589             <doc xml:whitespace="preserve">height to set for @component</doc>
590             <type name="int" c:type="gint"/>
591           </parameter>
592           <parameter name="coord_type" transfer-ownership="none">
593             <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
594             <type name="CoordType" c:type="AtkCoordType"/>
595           </parameter>
596         </parameters>
597       </virtual-method>
598       <virtual-method name="set_position" invoker="set_position">
599         <doc xml:whitespace="preserve">Sets the postition of @component.</doc>
600         <return-value transfer-ownership="none">
601           <doc xml:whitespace="preserve">%TRUE or %FALSE whether or not the position was set or not</doc>
602           <type name="boolean" c:type="gboolean"/>
603         </return-value>
604         <parameters>
605           <parameter name="x" transfer-ownership="none">
606             <doc xml:whitespace="preserve">x coordinate</doc>
607             <type name="int" c:type="gint"/>
608           </parameter>
609           <parameter name="y" transfer-ownership="none">
610             <doc xml:whitespace="preserve">y coordinate</doc>
611             <type name="int" c:type="gint"/>
612           </parameter>
613           <parameter name="coord_type" transfer-ownership="none">
614             <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
615             <type name="CoordType" c:type="AtkCoordType"/>
616           </parameter>
617         </parameters>
618       </virtual-method>
619       <virtual-method name="set_size" invoker="set_size">
620         <doc xml:whitespace="preserve">Set the size of the @component in terms of width and height.</doc>
621         <return-value transfer-ownership="none">
622           <doc xml:whitespace="preserve">%TRUE or %FALSE whether the size was set or not</doc>
623           <type name="boolean" c:type="gboolean"/>
624         </return-value>
625         <parameters>
626           <parameter name="width" transfer-ownership="none">
627             <doc xml:whitespace="preserve">width to set for @component</doc>
628             <type name="int" c:type="gint"/>
629           </parameter>
630           <parameter name="height" transfer-ownership="none">
631             <doc xml:whitespace="preserve">height to set for @component</doc>
632             <type name="int" c:type="gint"/>
633           </parameter>
634         </parameters>
635       </virtual-method>
636       <virtual-method name="get_layer" invoker="get_layer">
637         <doc xml:whitespace="preserve">Gets the layer of the component.</doc>
638         <return-value transfer-ownership="full">
639           <doc xml:whitespace="preserve">an #AtkLayer which is the layer of the component</doc>
640           <type name="Layer" c:type="AtkLayer"/>
641         </return-value>
642       </virtual-method>
643       <virtual-method name="get_mdi_zorder" invoker="get_mdi_zorder">
644         <doc xml:whitespace="preserve">Gets the zorder of the component. The value G_MININT will be returned 
645 if the layer of the component is not ATK_LAYER_MDI or ATK_LAYER_WINDOW.
646 which the component is shown in relation to other components in the same 
647 container.</doc>
648         <return-value transfer-ownership="none">
649           <doc xml:whitespace="preserve">a gint which is the zorder of the component, i.e. the depth at</doc>
650           <type name="int" c:type="gint"/>
651         </return-value>
652       </virtual-method>
653       <virtual-method name="get_alpha" invoker="get_alpha" version="1.12">
654         <doc xml:whitespace="preserve">Returns the alpha value (i.e. the opacity) for this
655 (fully opaque).</doc>
656         <return-value transfer-ownership="none">
657           <doc xml:whitespace="preserve">An alpha value from 0 to 1.0, inclusive.</doc>
658           <type name="double" c:type="gdouble"/>
659         </return-value>
660       </virtual-method>
661       <method name="add_focus_handler"
662               c:identifier="atk_component_add_focus_handler">
663         <doc xml:whitespace="preserve">Add the specified handler to the set of functions to be called 
664 when this object receives focus events (in or out). If the handler is
665 already added it is not added again
666 or zero if the handler was already added.</doc>
667         <return-value transfer-ownership="none">
668           <doc xml:whitespace="preserve">a handler id which can be used in atk_component_remove_focus_handler</doc>
669           <type name="uint" c:type="guint"/>
670         </return-value>
671         <parameters>
672           <parameter name="handler" transfer-ownership="none" scope="call">
673             <doc xml:whitespace="preserve">The #AtkFocusHandler to be attached to @component</doc>
674             <type name="FocusHandler" c:type="AtkFocusHandler"/>
675           </parameter>
676         </parameters>
677       </method>
678       <method name="contains" c:identifier="atk_component_contains">
679         <doc xml:whitespace="preserve">Checks whether the specified point is within the extent of the @component.
680 the extent of the @component or not</doc>
681         <return-value transfer-ownership="none">
682           <doc xml:whitespace="preserve">%TRUE or %FALSE indicating whether the specified point is within</doc>
683           <type name="boolean" c:type="gboolean"/>
684         </return-value>
685         <parameters>
686           <parameter name="x" transfer-ownership="none">
687             <doc xml:whitespace="preserve">x coordinate</doc>
688             <type name="int" c:type="gint"/>
689           </parameter>
690           <parameter name="y" transfer-ownership="none">
691             <doc xml:whitespace="preserve">y coordinate</doc>
692             <type name="int" c:type="gint"/>
693           </parameter>
694           <parameter name="coord_type" transfer-ownership="none">
695             <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
696             <type name="CoordType" c:type="AtkCoordType"/>
697           </parameter>
698         </parameters>
699       </method>
700       <method name="ref_accessible_at_point"
701               c:identifier="atk_component_ref_accessible_at_point">
702         <doc xml:whitespace="preserve">Gets a reference to the accessible child, if one exists, at the
703 coordinate point specified by @x and @y.</doc>
704         <return-value transfer-ownership="full">
705           <doc xml:whitespace="preserve">a reference to the accessible child, if one exists</doc>
706           <type name="Object" c:type="AtkObject*"/>
707         </return-value>
708         <parameters>
709           <parameter name="x" transfer-ownership="none">
710             <doc xml:whitespace="preserve">x coordinate</doc>
711             <type name="int" c:type="gint"/>
712           </parameter>
713           <parameter name="y" transfer-ownership="none">
714             <doc xml:whitespace="preserve">y coordinate</doc>
715             <type name="int" c:type="gint"/>
716           </parameter>
717           <parameter name="coord_type" transfer-ownership="none">
718             <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
719             <type name="CoordType" c:type="AtkCoordType"/>
720           </parameter>
721         </parameters>
722       </method>
723       <method name="get_extents" c:identifier="atk_component_get_extents">
724         <doc xml:whitespace="preserve">Gets the rectangle which gives the extent of the @component.</doc>
725         <return-value transfer-ownership="none">
726           <type name="none" c:type="void"/>
727         </return-value>
728         <parameters>
729           <parameter name="x"
730                      direction="out"
731                      caller-allocates="0"
732                      transfer-ownership="full">
733             <doc xml:whitespace="preserve">address of #gint to put x coordinate</doc>
734             <type name="int" c:type="gint*"/>
735           </parameter>
736           <parameter name="y"
737                      direction="out"
738                      caller-allocates="0"
739                      transfer-ownership="full">
740             <doc xml:whitespace="preserve">address of #gint to put y coordinate</doc>
741             <type name="int" c:type="gint*"/>
742           </parameter>
743           <parameter name="width"
744                      direction="out"
745                      caller-allocates="0"
746                      transfer-ownership="full">
747             <doc xml:whitespace="preserve">address of #gint to put width</doc>
748             <type name="int" c:type="gint*"/>
749           </parameter>
750           <parameter name="height"
751                      direction="out"
752                      caller-allocates="0"
753                      transfer-ownership="full">
754             <doc xml:whitespace="preserve">address of #gint to put height</doc>
755             <type name="int" c:type="gint*"/>
756           </parameter>
757           <parameter name="coord_type" transfer-ownership="none">
758             <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
759             <type name="CoordType" c:type="AtkCoordType"/>
760           </parameter>
761         </parameters>
762       </method>
763       <method name="get_position" c:identifier="atk_component_get_position">
764         <doc xml:whitespace="preserve">Gets the position of @component in the form of 
765 a point specifying @component's top-left corner.</doc>
766         <return-value transfer-ownership="none">
767           <type name="none" c:type="void"/>
768         </return-value>
769         <parameters>
770           <parameter name="x"
771                      direction="out"
772                      caller-allocates="0"
773                      transfer-ownership="full">
774             <doc xml:whitespace="preserve">address of #gint to put x coordinate position</doc>
775             <type name="int" c:type="gint*"/>
776           </parameter>
777           <parameter name="y"
778                      direction="out"
779                      caller-allocates="0"
780                      transfer-ownership="full">
781             <doc xml:whitespace="preserve">address of #gint to put y coordinate position</doc>
782             <type name="int" c:type="gint*"/>
783           </parameter>
784           <parameter name="coord_type" transfer-ownership="none">
785             <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
786             <type name="CoordType" c:type="AtkCoordType"/>
787           </parameter>
788         </parameters>
789       </method>
790       <method name="get_size" c:identifier="atk_component_get_size">
791         <doc xml:whitespace="preserve">Gets the size of the @component in terms of width and height.</doc>
792         <return-value transfer-ownership="none">
793           <type name="none" c:type="void"/>
794         </return-value>
795         <parameters>
796           <parameter name="width"
797                      direction="out"
798                      caller-allocates="0"
799                      transfer-ownership="full">
800             <doc xml:whitespace="preserve">address of #gint to put width of @component</doc>
801             <type name="int" c:type="gint*"/>
802           </parameter>
803           <parameter name="height"
804                      direction="out"
805                      caller-allocates="0"
806                      transfer-ownership="full">
807             <doc xml:whitespace="preserve">address of #gint to put height of @component</doc>
808             <type name="int" c:type="gint*"/>
809           </parameter>
810         </parameters>
811       </method>
812       <method name="get_layer" c:identifier="atk_component_get_layer">
813         <doc xml:whitespace="preserve">Gets the layer of the component.</doc>
814         <return-value transfer-ownership="full">
815           <doc xml:whitespace="preserve">an #AtkLayer which is the layer of the component</doc>
816           <type name="Layer" c:type="AtkLayer"/>
817         </return-value>
818       </method>
819       <method name="get_mdi_zorder"
820               c:identifier="atk_component_get_mdi_zorder">
821         <doc xml:whitespace="preserve">Gets the zorder of the component. The value G_MININT will be returned 
822 if the layer of the component is not ATK_LAYER_MDI or ATK_LAYER_WINDOW.
823 which the component is shown in relation to other components in the same 
824 container.</doc>
825         <return-value transfer-ownership="none">
826           <doc xml:whitespace="preserve">a gint which is the zorder of the component, i.e. the depth at</doc>
827           <type name="int" c:type="gint"/>
828         </return-value>
829       </method>
830       <method name="grab_focus" c:identifier="atk_component_grab_focus">
831         <doc xml:whitespace="preserve">Grabs focus for this @component.</doc>
832         <return-value transfer-ownership="none">
833           <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
834           <type name="boolean" c:type="gboolean"/>
835         </return-value>
836       </method>
837       <method name="remove_focus_handler"
838               c:identifier="atk_component_remove_focus_handler">
839         <doc xml:whitespace="preserve">Remove the handler specified by @handler_id from the list of
840 functions to be executed when this object receives focus events 
841 (in or out).</doc>
842         <return-value transfer-ownership="none">
843           <type name="none" c:type="void"/>
844         </return-value>
845         <parameters>
846           <parameter name="handler_id" transfer-ownership="none">
847             <doc xml:whitespace="preserve">the handler id of the focus handler to be removed from @component</doc>
848             <type name="uint" c:type="guint"/>
849           </parameter>
850         </parameters>
851       </method>
852       <method name="set_extents" c:identifier="atk_component_set_extents">
853         <doc xml:whitespace="preserve">Sets the extents of @component.</doc>
854         <return-value transfer-ownership="none">
855           <doc xml:whitespace="preserve">%TRUE or %FALSE whether the extents were set or not</doc>
856           <type name="boolean" c:type="gboolean"/>
857         </return-value>
858         <parameters>
859           <parameter name="x" transfer-ownership="none">
860             <doc xml:whitespace="preserve">x coordinate</doc>
861             <type name="int" c:type="gint"/>
862           </parameter>
863           <parameter name="y" transfer-ownership="none">
864             <doc xml:whitespace="preserve">y coordinate</doc>
865             <type name="int" c:type="gint"/>
866           </parameter>
867           <parameter name="width" transfer-ownership="none">
868             <doc xml:whitespace="preserve">width to set for @component</doc>
869             <type name="int" c:type="gint"/>
870           </parameter>
871           <parameter name="height" transfer-ownership="none">
872             <doc xml:whitespace="preserve">height to set for @component</doc>
873             <type name="int" c:type="gint"/>
874           </parameter>
875           <parameter name="coord_type" transfer-ownership="none">
876             <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
877             <type name="CoordType" c:type="AtkCoordType"/>
878           </parameter>
879         </parameters>
880       </method>
881       <method name="set_position" c:identifier="atk_component_set_position">
882         <doc xml:whitespace="preserve">Sets the postition of @component.</doc>
883         <return-value transfer-ownership="none">
884           <doc xml:whitespace="preserve">%TRUE or %FALSE whether or not the position was set or not</doc>
885           <type name="boolean" c:type="gboolean"/>
886         </return-value>
887         <parameters>
888           <parameter name="x" transfer-ownership="none">
889             <doc xml:whitespace="preserve">x coordinate</doc>
890             <type name="int" c:type="gint"/>
891           </parameter>
892           <parameter name="y" transfer-ownership="none">
893             <doc xml:whitespace="preserve">y coordinate</doc>
894             <type name="int" c:type="gint"/>
895           </parameter>
896           <parameter name="coord_type" transfer-ownership="none">
897             <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
898             <type name="CoordType" c:type="AtkCoordType"/>
899           </parameter>
900         </parameters>
901       </method>
902       <method name="set_size" c:identifier="atk_component_set_size">
903         <doc xml:whitespace="preserve">Set the size of the @component in terms of width and height.</doc>
904         <return-value transfer-ownership="none">
905           <doc xml:whitespace="preserve">%TRUE or %FALSE whether the size was set or not</doc>
906           <type name="boolean" c:type="gboolean"/>
907         </return-value>
908         <parameters>
909           <parameter name="width" transfer-ownership="none">
910             <doc xml:whitespace="preserve">width to set for @component</doc>
911             <type name="int" c:type="gint"/>
912           </parameter>
913           <parameter name="height" transfer-ownership="none">
914             <doc xml:whitespace="preserve">height to set for @component</doc>
915             <type name="int" c:type="gint"/>
916           </parameter>
917         </parameters>
918       </method>
919       <method name="get_alpha"
920               c:identifier="atk_component_get_alpha"
921               version="1.12">
922         <doc xml:whitespace="preserve">Returns the alpha value (i.e. the opacity) for this
923 (fully opaque).</doc>
924         <return-value transfer-ownership="none">
925           <doc xml:whitespace="preserve">An alpha value from 0 to 1.0, inclusive.</doc>
926           <type name="double" c:type="gdouble"/>
927         </return-value>
928       </method>
929       <glib:signal name="bounds-changed">
930         <return-value transfer-ownership="full">
931           <type name="none" c:type="void"/>
932         </return-value>
933         <parameters>
934           <parameter name="object" transfer-ownership="none">
935             <type name="Rectangle" c:type="AtkRectangle"/>
936           </parameter>
937         </parameters>
938       </glib:signal>
939     </interface>
940     <record name="ComponentIface"
941             c:type="AtkComponentIface"
942             glib:is-gtype-struct-for="Component">
943       <field name="parent">
944         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
945       </field>
946       <field name="add_focus_handler">
947         <callback name="add_focus_handler" c:type="add_focus_handler">
948           <return-value transfer-ownership="none">
949             <doc xml:whitespace="preserve">a handler id which can be used in atk_component_remove_focus_handler</doc>
950             <type name="uint" c:type="guint"/>
951           </return-value>
952           <parameters>
953             <parameter name="component" transfer-ownership="none">
954               <type name="Component" c:type="AtkComponent*"/>
955             </parameter>
956             <parameter name="handler" transfer-ownership="none">
957               <doc xml:whitespace="preserve">The #AtkFocusHandler to be attached to @component</doc>
958               <type name="FocusHandler" c:type="AtkFocusHandler"/>
959             </parameter>
960           </parameters>
961         </callback>
962       </field>
963       <field name="contains">
964         <callback name="contains" c:type="contains">
965           <return-value transfer-ownership="none">
966             <doc xml:whitespace="preserve">%TRUE or %FALSE indicating whether the specified point is within</doc>
967             <type name="boolean" c:type="gboolean"/>
968           </return-value>
969           <parameters>
970             <parameter name="component" transfer-ownership="none">
971               <type name="Component" c:type="AtkComponent*"/>
972             </parameter>
973             <parameter name="x" transfer-ownership="none">
974               <doc xml:whitespace="preserve">x coordinate</doc>
975               <type name="int" c:type="gint"/>
976             </parameter>
977             <parameter name="y" transfer-ownership="none">
978               <doc xml:whitespace="preserve">y coordinate</doc>
979               <type name="int" c:type="gint"/>
980             </parameter>
981             <parameter name="coord_type" transfer-ownership="none">
982               <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
983               <type name="CoordType" c:type="AtkCoordType"/>
984             </parameter>
985           </parameters>
986         </callback>
987       </field>
988       <field name="ref_accessible_at_point">
989         <callback name="ref_accessible_at_point"
990                   c:type="ref_accessible_at_point">
991           <return-value transfer-ownership="full">
992             <doc xml:whitespace="preserve">a reference to the accessible child, if one exists</doc>
993             <type name="Object" c:type="AtkObject*"/>
994           </return-value>
995           <parameters>
996             <parameter name="component" transfer-ownership="none">
997               <type name="Component" c:type="AtkComponent*"/>
998             </parameter>
999             <parameter name="x" transfer-ownership="none">
1000               <doc xml:whitespace="preserve">x coordinate</doc>
1001               <type name="int" c:type="gint"/>
1002             </parameter>
1003             <parameter name="y" transfer-ownership="none">
1004               <doc xml:whitespace="preserve">y coordinate</doc>
1005               <type name="int" c:type="gint"/>
1006             </parameter>
1007             <parameter name="coord_type" transfer-ownership="none">
1008               <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
1009               <type name="CoordType" c:type="AtkCoordType"/>
1010             </parameter>
1011           </parameters>
1012         </callback>
1013       </field>
1014       <field name="get_extents">
1015         <callback name="get_extents" c:type="get_extents">
1016           <return-value transfer-ownership="none">
1017             <type name="none" c:type="void"/>
1018           </return-value>
1019           <parameters>
1020             <parameter name="component" transfer-ownership="none">
1021               <type name="Component" c:type="AtkComponent*"/>
1022             </parameter>
1023             <parameter name="x"
1024                        direction="out"
1025                        caller-allocates="0"
1026                        transfer-ownership="full">
1027               <doc xml:whitespace="preserve">address of #gint to put x coordinate</doc>
1028               <type name="int" c:type="gint*"/>
1029             </parameter>
1030             <parameter name="y"
1031                        direction="out"
1032                        caller-allocates="0"
1033                        transfer-ownership="full">
1034               <doc xml:whitespace="preserve">address of #gint to put y coordinate</doc>
1035               <type name="int" c:type="gint*"/>
1036             </parameter>
1037             <parameter name="width"
1038                        direction="out"
1039                        caller-allocates="0"
1040                        transfer-ownership="full">
1041               <doc xml:whitespace="preserve">address of #gint to put width</doc>
1042               <type name="int" c:type="gint*"/>
1043             </parameter>
1044             <parameter name="height"
1045                        direction="out"
1046                        caller-allocates="0"
1047                        transfer-ownership="full">
1048               <doc xml:whitespace="preserve">address of #gint to put height</doc>
1049               <type name="int" c:type="gint*"/>
1050             </parameter>
1051             <parameter name="coord_type" transfer-ownership="none">
1052               <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
1053               <type name="CoordType" c:type="AtkCoordType"/>
1054             </parameter>
1055           </parameters>
1056         </callback>
1057       </field>
1058       <field name="get_position">
1059         <callback name="get_position" c:type="get_position">
1060           <return-value transfer-ownership="none">
1061             <type name="none" c:type="void"/>
1062           </return-value>
1063           <parameters>
1064             <parameter name="component" transfer-ownership="none">
1065               <type name="Component" c:type="AtkComponent*"/>
1066             </parameter>
1067             <parameter name="x"
1068                        direction="out"
1069                        caller-allocates="0"
1070                        transfer-ownership="full">
1071               <doc xml:whitespace="preserve">address of #gint to put x coordinate position</doc>
1072               <type name="int" c:type="gint*"/>
1073             </parameter>
1074             <parameter name="y"
1075                        direction="out"
1076                        caller-allocates="0"
1077                        transfer-ownership="full">
1078               <doc xml:whitespace="preserve">address of #gint to put y coordinate position</doc>
1079               <type name="int" c:type="gint*"/>
1080             </parameter>
1081             <parameter name="coord_type" transfer-ownership="none">
1082               <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
1083               <type name="CoordType" c:type="AtkCoordType"/>
1084             </parameter>
1085           </parameters>
1086         </callback>
1087       </field>
1088       <field name="get_size">
1089         <callback name="get_size" c:type="get_size">
1090           <return-value transfer-ownership="none">
1091             <type name="none" c:type="void"/>
1092           </return-value>
1093           <parameters>
1094             <parameter name="component" transfer-ownership="none">
1095               <type name="Component" c:type="AtkComponent*"/>
1096             </parameter>
1097             <parameter name="width"
1098                        direction="out"
1099                        caller-allocates="0"
1100                        transfer-ownership="full">
1101               <doc xml:whitespace="preserve">address of #gint to put width of @component</doc>
1102               <type name="int" c:type="gint*"/>
1103             </parameter>
1104             <parameter name="height"
1105                        direction="out"
1106                        caller-allocates="0"
1107                        transfer-ownership="full">
1108               <doc xml:whitespace="preserve">address of #gint to put height of @component</doc>
1109               <type name="int" c:type="gint*"/>
1110             </parameter>
1111           </parameters>
1112         </callback>
1113       </field>
1114       <field name="grab_focus">
1115         <callback name="grab_focus" c:type="grab_focus">
1116           <return-value transfer-ownership="none">
1117             <doc xml:whitespace="preserve">%TRUE if successful, %FALSE otherwise.</doc>
1118             <type name="boolean" c:type="gboolean"/>
1119           </return-value>
1120           <parameters>
1121             <parameter name="component" transfer-ownership="none">
1122               <type name="Component" c:type="AtkComponent*"/>
1123             </parameter>
1124           </parameters>
1125         </callback>
1126       </field>
1127       <field name="remove_focus_handler">
1128         <callback name="remove_focus_handler" c:type="remove_focus_handler">
1129           <return-value transfer-ownership="none">
1130             <type name="none" c:type="void"/>
1131           </return-value>
1132           <parameters>
1133             <parameter name="component" transfer-ownership="none">
1134               <type name="Component" c:type="AtkComponent*"/>
1135             </parameter>
1136             <parameter name="handler_id" transfer-ownership="none">
1137               <doc xml:whitespace="preserve">the handler id of the focus handler to be removed from @component</doc>
1138               <type name="uint" c:type="guint"/>
1139             </parameter>
1140           </parameters>
1141         </callback>
1142       </field>
1143       <field name="set_extents">
1144         <callback name="set_extents" c:type="set_extents">
1145           <return-value transfer-ownership="none">
1146             <doc xml:whitespace="preserve">%TRUE or %FALSE whether the extents were set or not</doc>
1147             <type name="boolean" c:type="gboolean"/>
1148           </return-value>
1149           <parameters>
1150             <parameter name="component" transfer-ownership="none">
1151               <type name="Component" c:type="AtkComponent*"/>
1152             </parameter>
1153             <parameter name="x" transfer-ownership="none">
1154               <doc xml:whitespace="preserve">x coordinate</doc>
1155               <type name="int" c:type="gint"/>
1156             </parameter>
1157             <parameter name="y" transfer-ownership="none">
1158               <doc xml:whitespace="preserve">y coordinate</doc>
1159               <type name="int" c:type="gint"/>
1160             </parameter>
1161             <parameter name="width" transfer-ownership="none">
1162               <doc xml:whitespace="preserve">width to set for @component</doc>
1163               <type name="int" c:type="gint"/>
1164             </parameter>
1165             <parameter name="height" transfer-ownership="none">
1166               <doc xml:whitespace="preserve">height to set for @component</doc>
1167               <type name="int" c:type="gint"/>
1168             </parameter>
1169             <parameter name="coord_type" transfer-ownership="none">
1170               <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
1171               <type name="CoordType" c:type="AtkCoordType"/>
1172             </parameter>
1173           </parameters>
1174         </callback>
1175       </field>
1176       <field name="set_position">
1177         <callback name="set_position" c:type="set_position">
1178           <return-value transfer-ownership="none">
1179             <doc xml:whitespace="preserve">%TRUE or %FALSE whether or not the position was set or not</doc>
1180             <type name="boolean" c:type="gboolean"/>
1181           </return-value>
1182           <parameters>
1183             <parameter name="component" transfer-ownership="none">
1184               <type name="Component" c:type="AtkComponent*"/>
1185             </parameter>
1186             <parameter name="x" transfer-ownership="none">
1187               <doc xml:whitespace="preserve">x coordinate</doc>
1188               <type name="int" c:type="gint"/>
1189             </parameter>
1190             <parameter name="y" transfer-ownership="none">
1191               <doc xml:whitespace="preserve">y coordinate</doc>
1192               <type name="int" c:type="gint"/>
1193             </parameter>
1194             <parameter name="coord_type" transfer-ownership="none">
1195               <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
1196               <type name="CoordType" c:type="AtkCoordType"/>
1197             </parameter>
1198           </parameters>
1199         </callback>
1200       </field>
1201       <field name="set_size">
1202         <callback name="set_size" c:type="set_size">
1203           <return-value transfer-ownership="none">
1204             <doc xml:whitespace="preserve">%TRUE or %FALSE whether the size was set or not</doc>
1205             <type name="boolean" c:type="gboolean"/>
1206           </return-value>
1207           <parameters>
1208             <parameter name="component" transfer-ownership="none">
1209               <type name="Component" c:type="AtkComponent*"/>
1210             </parameter>
1211             <parameter name="width" transfer-ownership="none">
1212               <doc xml:whitespace="preserve">width to set for @component</doc>
1213               <type name="int" c:type="gint"/>
1214             </parameter>
1215             <parameter name="height" transfer-ownership="none">
1216               <doc xml:whitespace="preserve">height to set for @component</doc>
1217               <type name="int" c:type="gint"/>
1218             </parameter>
1219           </parameters>
1220         </callback>
1221       </field>
1222       <field name="get_layer">
1223         <callback name="get_layer" c:type="get_layer">
1224           <return-value transfer-ownership="full">
1225             <doc xml:whitespace="preserve">an #AtkLayer which is the layer of the component</doc>
1226             <type name="Layer" c:type="AtkLayer"/>
1227           </return-value>
1228           <parameters>
1229             <parameter name="component" transfer-ownership="none">
1230               <type name="Component" c:type="AtkComponent*"/>
1231             </parameter>
1232           </parameters>
1233         </callback>
1234       </field>
1235       <field name="get_mdi_zorder">
1236         <callback name="get_mdi_zorder" c:type="get_mdi_zorder">
1237           <return-value transfer-ownership="none">
1238             <doc xml:whitespace="preserve">a gint which is the zorder of the component, i.e. the depth at</doc>
1239             <type name="int" c:type="gint"/>
1240           </return-value>
1241           <parameters>
1242             <parameter name="component" transfer-ownership="none">
1243               <type name="Component" c:type="AtkComponent*"/>
1244             </parameter>
1245           </parameters>
1246         </callback>
1247       </field>
1248       <field name="bounds_changed">
1249         <callback name="bounds_changed" c:type="bounds_changed">
1250           <return-value transfer-ownership="none">
1251             <type name="none" c:type="void"/>
1252           </return-value>
1253           <parameters>
1254             <parameter name="component" transfer-ownership="none">
1255               <type name="Component" c:type="AtkComponent*"/>
1256             </parameter>
1257             <parameter name="bounds" transfer-ownership="none">
1258               <type name="Rectangle" c:type="AtkRectangle*"/>
1259             </parameter>
1260           </parameters>
1261         </callback>
1262       </field>
1263       <field name="get_alpha">
1264         <callback name="get_alpha" c:type="get_alpha">
1265           <return-value transfer-ownership="none">
1266             <doc xml:whitespace="preserve">An alpha value from 0 to 1.0, inclusive.</doc>
1267             <type name="double" c:type="gdouble"/>
1268           </return-value>
1269           <parameters>
1270             <parameter name="component" transfer-ownership="none">
1271               <type name="Component" c:type="AtkComponent*"/>
1272             </parameter>
1273           </parameters>
1274         </callback>
1275       </field>
1276     </record>
1277     <enumeration name="CoordType"
1278                  glib:type-name="AtkCoordType"
1279                  glib:get-type="atk_coord_type_get_type"
1280                  c:type="AtkCoordType">
1281       <member name="screen"
1282               value="0"
1283               c:identifier="ATK_XY_SCREEN"
1284               glib:nick="screen"/>
1285       <member name="window"
1286               value="1"
1287               c:identifier="ATK_XY_WINDOW"
1288               glib:nick="window"/>
1289     </enumeration>
1290     <interface name="Document"
1291                c:type="AtkDocument"
1292                glib:type-name="AtkDocument"
1293                glib:get-type="atk_document_get_type"
1294                glib:type-struct="DocumentIface">
1295       <virtual-method name="get_document_type" invoker="get_document_type">
1296         <doc xml:whitespace="preserve">Gets a string indicating the document type.</doc>
1297         <return-value transfer-ownership="none">
1298           <doc xml:whitespace="preserve">a string indicating the document type</doc>
1299           <type name="utf8" c:type="gchar*"/>
1300         </return-value>
1301       </virtual-method>
1302       <virtual-method name="get_document" invoker="get_document">
1303         <doc xml:whitespace="preserve">Gets a %gpointer that points to an instance of the DOM.  It is
1304 up to the caller to check atk_document_get_type to determine
1305 how to cast this pointer.</doc>
1306         <return-value transfer-ownership="none">
1307           <doc xml:whitespace="preserve">a %gpointer that points to an instance of the DOM.</doc>
1308           <type name="any" c:type="gpointer"/>
1309         </return-value>
1310       </virtual-method>
1311       <virtual-method name="get_document_locale">
1312         <return-value transfer-ownership="none">
1313           <type name="utf8" c:type="gchar*"/>
1314         </return-value>
1315       </virtual-method>
1316       <virtual-method name="get_document_attributes">
1317         <return-value transfer-ownership="full">
1318           <type name="AttributeSet" c:type="AtkAttributeSet*"/>
1319         </return-value>
1320       </virtual-method>
1321       <virtual-method name="get_document_attribute_value">
1322         <return-value transfer-ownership="none">
1323           <type name="utf8" c:type="gchar*"/>
1324         </return-value>
1325         <parameters>
1326           <parameter name="attribute_name" transfer-ownership="none">
1327             <type name="utf8" c:type="gchar*"/>
1328           </parameter>
1329         </parameters>
1330       </virtual-method>
1331       <virtual-method name="set_document_attribute">
1332         <return-value transfer-ownership="none">
1333           <type name="boolean" c:type="gboolean"/>
1334         </return-value>
1335         <parameters>
1336           <parameter name="attribute_name" transfer-ownership="none">
1337             <type name="utf8" c:type="gchar*"/>
1338           </parameter>
1339           <parameter name="attribute_value" transfer-ownership="none">
1340             <type name="utf8" c:type="gchar*"/>
1341           </parameter>
1342         </parameters>
1343       </virtual-method>
1344       <method name="get_document_type"
1345               c:identifier="atk_document_get_document_type">
1346         <doc xml:whitespace="preserve">Gets a string indicating the document type.</doc>
1347         <return-value transfer-ownership="none">
1348           <doc xml:whitespace="preserve">a string indicating the document type</doc>
1349           <type name="utf8" c:type="gchar*"/>
1350         </return-value>
1351       </method>
1352       <method name="get_document" c:identifier="atk_document_get_document">
1353         <doc xml:whitespace="preserve">Gets a %gpointer that points to an instance of the DOM.  It is
1354 up to the caller to check atk_document_get_type to determine
1355 how to cast this pointer.</doc>
1356         <return-value transfer-ownership="none">
1357           <doc xml:whitespace="preserve">a %gpointer that points to an instance of the DOM.</doc>
1358           <type name="any" c:type="gpointer"/>
1359         </return-value>
1360       </method>
1361       <method name="get_locale" c:identifier="atk_document_get_locale">
1362         <doc xml:whitespace="preserve">Gets a UTF-8 string indicating the POSIX-style LC_MESSAGES locale
1363 of the content of this document instance.  Individual
1364 text substrings or images within this document may have
1365 a different locale, see atk_text_get_attributes and
1366 atk_image_get_image_locale.
1367 locale of the document content as a whole, or NULL if
1368 the document content does not specify a locale.</doc>
1369         <return-value transfer-ownership="none">
1370           <doc xml:whitespace="preserve">a UTF-8 string indicating the POSIX-style LC_MESSAGES</doc>
1371           <type name="utf8" c:type="gchar*"/>
1372         </return-value>
1373       </method>
1374       <method name="get_attributes"
1375               c:identifier="atk_document_get_attributes"
1376               version="1.12">
1377         <doc xml:whitespace="preserve">Gets an AtkAttributeSet which describes document-wide
1378 attributes as name-value pairs.
1379 set name-value-pair attributes associated with this document
1380 as a whole.</doc>
1381         <return-value transfer-ownership="full">
1382           <doc xml:whitespace="preserve">An AtkAttributeSet containing the explicitly</doc>
1383           <type name="AttributeSet" c:type="AtkAttributeSet*"/>
1384         </return-value>
1385       </method>
1386       <method name="get_attribute_value"
1387               c:identifier="atk_document_get_attribute_value"
1388               version="1.12">
1389         <doc xml:whitespace="preserve">document, or NULL if a value for #attribute_name has not been specified
1390 for this document.</doc>
1391         <return-value transfer-ownership="none">
1392           <doc xml:whitespace="preserve">a string value associated with the named attribute for this</doc>
1393           <type name="utf8" c:type="gchar*"/>
1394         </return-value>
1395         <parameters>
1396           <parameter name="attribute_name" transfer-ownership="none">
1397             <doc xml:whitespace="preserve">a character string representing the name of the attribute whose value is being queried.</doc>
1398             <type name="utf8" c:type="gchar*"/>
1399           </parameter>
1400         </parameters>
1401       </method>
1402       <method name="set_attribute_value"
1403               c:identifier="atk_document_set_attribute_value"
1404               version="1.12">
1405         <doc xml:whitespace="preserve">for this document, FALSE otherwise (e.g. if the document does not
1406 allow the attribute to be modified).</doc>
1407         <return-value transfer-ownership="none">
1408           <doc xml:whitespace="preserve">TRUE if #value is successfully associated with #attribute_name</doc>
1409           <type name="boolean" c:type="gboolean"/>
1410         </return-value>
1411         <parameters>
1412           <parameter name="attribute_name" transfer-ownership="none">
1413             <doc xml:whitespace="preserve">a character string representing the name of the attribute whose value is being set.</doc>
1414             <type name="utf8" c:type="gchar*"/>
1415           </parameter>
1416           <parameter name="attribute_value" transfer-ownership="none">
1417             <doc xml:whitespace="preserve">a string value to be associated with #attribute_name.</doc>
1418             <type name="utf8" c:type="gchar*"/>
1419           </parameter>
1420         </parameters>
1421       </method>
1422       <glib:signal name="load-complete">
1423         <return-value transfer-ownership="full">
1424           <type name="none" c:type="void"/>
1425         </return-value>
1426       </glib:signal>
1427       <glib:signal name="load-stopped">
1428         <return-value transfer-ownership="full">
1429           <type name="none" c:type="void"/>
1430         </return-value>
1431       </glib:signal>
1432       <glib:signal name="reload">
1433         <return-value transfer-ownership="full">
1434           <type name="none" c:type="void"/>
1435         </return-value>
1436       </glib:signal>
1437     </interface>
1438     <record name="DocumentIface"
1439             c:type="AtkDocumentIface"
1440             glib:is-gtype-struct-for="Document">
1441       <field name="parent">
1442         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
1443       </field>
1444       <field name="get_document_type">
1445         <callback name="get_document_type" c:type="get_document_type">
1446           <return-value transfer-ownership="none">
1447             <doc xml:whitespace="preserve">a string indicating the document type</doc>
1448             <type name="utf8" c:type="gchar*"/>
1449           </return-value>
1450           <parameters>
1451             <parameter name="document" transfer-ownership="none">
1452               <type name="Document" c:type="AtkDocument*"/>
1453             </parameter>
1454           </parameters>
1455         </callback>
1456       </field>
1457       <field name="get_document">
1458         <callback name="get_document" c:type="get_document">
1459           <return-value transfer-ownership="none">
1460             <doc xml:whitespace="preserve">a %gpointer that points to an instance of the DOM.</doc>
1461             <type name="any" c:type="gpointer"/>
1462           </return-value>
1463           <parameters>
1464             <parameter name="document" transfer-ownership="none">
1465               <type name="Document" c:type="AtkDocument*"/>
1466             </parameter>
1467           </parameters>
1468         </callback>
1469       </field>
1470       <field name="get_document_locale">
1471         <callback name="get_document_locale" c:type="get_document_locale">
1472           <return-value transfer-ownership="none">
1473             <type name="utf8" c:type="gchar*"/>
1474           </return-value>
1475           <parameters>
1476             <parameter name="document" transfer-ownership="none">
1477               <type name="Document" c:type="AtkDocument*"/>
1478             </parameter>
1479           </parameters>
1480         </callback>
1481       </field>
1482       <field name="get_document_attributes">
1483         <callback name="get_document_attributes"
1484                   c:type="get_document_attributes">
1485           <return-value transfer-ownership="full">
1486             <type name="AttributeSet" c:type="AtkAttributeSet*"/>
1487           </return-value>
1488           <parameters>
1489             <parameter name="document" transfer-ownership="none">
1490               <type name="Document" c:type="AtkDocument*"/>
1491             </parameter>
1492           </parameters>
1493         </callback>
1494       </field>
1495       <field name="get_document_attribute_value">
1496         <callback name="get_document_attribute_value"
1497                   c:type="get_document_attribute_value">
1498           <return-value transfer-ownership="none">
1499             <type name="utf8" c:type="gchar*"/>
1500           </return-value>
1501           <parameters>
1502             <parameter name="document" transfer-ownership="none">
1503               <type name="Document" c:type="AtkDocument*"/>
1504             </parameter>
1505             <parameter name="attribute_name" transfer-ownership="none">
1506               <type name="utf8" c:type="gchar*"/>
1507             </parameter>
1508           </parameters>
1509         </callback>
1510       </field>
1511       <field name="set_document_attribute">
1512         <callback name="set_document_attribute"
1513                   c:type="set_document_attribute">
1514           <return-value transfer-ownership="none">
1515             <type name="boolean" c:type="gboolean"/>
1516           </return-value>
1517           <parameters>
1518             <parameter name="document" transfer-ownership="none">
1519               <type name="Document" c:type="AtkDocument*"/>
1520             </parameter>
1521             <parameter name="attribute_name" transfer-ownership="none">
1522               <type name="utf8" c:type="gchar*"/>
1523             </parameter>
1524             <parameter name="attribute_value" transfer-ownership="none">
1525               <type name="utf8" c:type="gchar*"/>
1526             </parameter>
1527           </parameters>
1528         </callback>
1529       </field>
1530       <field name="pad1">
1531         <type name="Function" c:type="AtkFunction"/>
1532       </field>
1533       <field name="pad2">
1534         <type name="Function" c:type="AtkFunction"/>
1535       </field>
1536       <field name="pad3">
1537         <type name="Function" c:type="AtkFunction"/>
1538       </field>
1539       <field name="pad4">
1540         <type name="Function" c:type="AtkFunction"/>
1541       </field>
1542     </record>
1543     <interface name="EditableText"
1544                c:type="AtkEditableText"
1545                glib:type-name="AtkEditableText"
1546                glib:get-type="atk_editable_text_get_type"
1547                glib:type-struct="EditableTextIface">
1548       <virtual-method name="set_run_attributes" invoker="set_run_attributes">
1549         <return-value transfer-ownership="none">
1550           <type name="boolean" c:type="gboolean"/>
1551         </return-value>
1552         <parameters>
1553           <parameter name="attrib_set" transfer-ownership="none">
1554             <type name="AttributeSet" c:type="AtkAttributeSet*"/>
1555           </parameter>
1556           <parameter name="start_offset" transfer-ownership="none">
1557             <type name="int" c:type="gint"/>
1558           </parameter>
1559           <parameter name="end_offset" transfer-ownership="none">
1560             <type name="int" c:type="gint"/>
1561           </parameter>
1562         </parameters>
1563       </virtual-method>
1564       <virtual-method name="set_text_contents" invoker="set_text_contents">
1565         <doc xml:whitespace="preserve">Set text contents of @text.</doc>
1566         <return-value transfer-ownership="none">
1567           <type name="none" c:type="void"/>
1568         </return-value>
1569         <parameters>
1570           <parameter name="string" transfer-ownership="none">
1571             <doc xml:whitespace="preserve">string to set for text contents of @text</doc>
1572             <type name="utf8" c:type="gchar*"/>
1573           </parameter>
1574         </parameters>
1575       </virtual-method>
1576       <virtual-method name="insert_text" invoker="insert_text">
1577         <doc xml:whitespace="preserve">Insert text at a given position.</doc>
1578         <return-value transfer-ownership="none">
1579           <type name="none" c:type="void"/>
1580         </return-value>
1581         <parameters>
1582           <parameter name="string" transfer-ownership="none">
1583             <doc xml:whitespace="preserve">the text to insert</doc>
1584             <type name="utf8" c:type="gchar*"/>
1585           </parameter>
1586           <parameter name="length" transfer-ownership="none">
1587             <doc xml:whitespace="preserve">the length of text to insert, in bytes</doc>
1588             <type name="int" c:type="gint"/>
1589           </parameter>
1590           <parameter name="position"
1591                      direction="out"
1592                      caller-allocates="0"
1593                      transfer-ownership="full">
1594             <doc xml:whitespace="preserve">The caller initializes this to the position at which to insert the text. After the call it points at the position after the newly inserted text.</doc>
1595             <type name="int" c:type="gint*"/>
1596           </parameter>
1597         </parameters>
1598       </virtual-method>
1599       <virtual-method name="copy_text" invoker="copy_text">
1600         <doc xml:whitespace="preserve">Copy text from @start_pos up to, but not including @end_pos 
1601 to the clipboard.</doc>
1602         <return-value transfer-ownership="none">
1603           <type name="none" c:type="void"/>
1604         </return-value>
1605         <parameters>
1606           <parameter name="start_pos" transfer-ownership="none">
1607             <doc xml:whitespace="preserve">start position</doc>
1608             <type name="int" c:type="gint"/>
1609           </parameter>
1610           <parameter name="end_pos" transfer-ownership="none">
1611             <doc xml:whitespace="preserve">end position</doc>
1612             <type name="int" c:type="gint"/>
1613           </parameter>
1614         </parameters>
1615       </virtual-method>
1616       <virtual-method name="cut_text" invoker="cut_text">
1617         <doc xml:whitespace="preserve">Copy text from @start_pos up to, but not including @end_pos
1618 to the clipboard and then delete from the widget.</doc>
1619         <return-value transfer-ownership="none">
1620           <type name="none" c:type="void"/>
1621         </return-value>
1622         <parameters>
1623           <parameter name="start_pos" transfer-ownership="none">
1624             <doc xml:whitespace="preserve">start position</doc>
1625             <type name="int" c:type="gint"/>
1626           </parameter>
1627           <parameter name="end_pos" transfer-ownership="none">
1628             <doc xml:whitespace="preserve">end position</doc>
1629             <type name="int" c:type="gint"/>
1630           </parameter>
1631         </parameters>
1632       </virtual-method>
1633       <virtual-method name="delete_text" invoker="delete_text">
1634         <doc xml:whitespace="preserve">Delete text @start_pos up to, but not including @end_pos.</doc>
1635         <return-value transfer-ownership="none">
1636           <type name="none" c:type="void"/>
1637         </return-value>
1638         <parameters>
1639           <parameter name="start_pos" transfer-ownership="none">
1640             <doc xml:whitespace="preserve">start position</doc>
1641             <type name="int" c:type="gint"/>
1642           </parameter>
1643           <parameter name="end_pos" transfer-ownership="none">
1644             <doc xml:whitespace="preserve">end position</doc>
1645             <type name="int" c:type="gint"/>
1646           </parameter>
1647         </parameters>
1648       </virtual-method>
1649       <virtual-method name="paste_text" invoker="paste_text">
1650         <doc xml:whitespace="preserve">Paste text from clipboard to specified @position.</doc>
1651         <return-value transfer-ownership="none">
1652           <type name="none" c:type="void"/>
1653         </return-value>
1654         <parameters>
1655           <parameter name="position" transfer-ownership="none">
1656             <doc xml:whitespace="preserve">position to paste</doc>
1657             <type name="int" c:type="gint"/>
1658           </parameter>
1659         </parameters>
1660       </virtual-method>
1661       <method name="set_run_attributes"
1662               c:identifier="atk_editable_text_set_run_attributes">
1663         <return-value transfer-ownership="none">
1664           <type name="boolean" c:type="gboolean"/>
1665         </return-value>
1666         <parameters>
1667           <parameter name="attrib_set" transfer-ownership="none">
1668             <type name="AttributeSet" c:type="AtkAttributeSet*"/>
1669           </parameter>
1670           <parameter name="start_offset" transfer-ownership="none">
1671             <type name="int" c:type="gint"/>
1672           </parameter>
1673           <parameter name="end_offset" transfer-ownership="none">
1674             <type name="int" c:type="gint"/>
1675           </parameter>
1676         </parameters>
1677       </method>
1678       <method name="set_text_contents"
1679               c:identifier="atk_editable_text_set_text_contents">
1680         <doc xml:whitespace="preserve">Set text contents of @text.</doc>
1681         <return-value transfer-ownership="none">
1682           <type name="none" c:type="void"/>
1683         </return-value>
1684         <parameters>
1685           <parameter name="string" transfer-ownership="none">
1686             <doc xml:whitespace="preserve">string to set for text contents of @text</doc>
1687             <type name="utf8" c:type="gchar*"/>
1688           </parameter>
1689         </parameters>
1690       </method>
1691       <method name="insert_text" c:identifier="atk_editable_text_insert_text">
1692         <doc xml:whitespace="preserve">Insert text at a given position.</doc>
1693         <return-value transfer-ownership="none">
1694           <type name="none" c:type="void"/>
1695         </return-value>
1696         <parameters>
1697           <parameter name="string" transfer-ownership="none">
1698             <doc xml:whitespace="preserve">the text to insert</doc>
1699             <type name="utf8" c:type="gchar*"/>
1700           </parameter>
1701           <parameter name="length" transfer-ownership="none">
1702             <doc xml:whitespace="preserve">the length of text to insert, in bytes</doc>
1703             <type name="int" c:type="gint"/>
1704           </parameter>
1705           <parameter name="position"
1706                      direction="out"
1707                      caller-allocates="0"
1708                      transfer-ownership="full">
1709             <doc xml:whitespace="preserve">The caller initializes this to the position at which to insert the text. After the call it points at the position after the newly inserted text.</doc>
1710             <type name="int" c:type="gint*"/>
1711           </parameter>
1712         </parameters>
1713       </method>
1714       <method name="copy_text" c:identifier="atk_editable_text_copy_text">
1715         <doc xml:whitespace="preserve">Copy text from @start_pos up to, but not including @end_pos 
1716 to the clipboard.</doc>
1717         <return-value transfer-ownership="none">
1718           <type name="none" c:type="void"/>
1719         </return-value>
1720         <parameters>
1721           <parameter name="start_pos" transfer-ownership="none">
1722             <doc xml:whitespace="preserve">start position</doc>
1723             <type name="int" c:type="gint"/>
1724           </parameter>
1725           <parameter name="end_pos" transfer-ownership="none">
1726             <doc xml:whitespace="preserve">end position</doc>
1727             <type name="int" c:type="gint"/>
1728           </parameter>
1729         </parameters>
1730       </method>
1731       <method name="cut_text" c:identifier="atk_editable_text_cut_text">
1732         <doc xml:whitespace="preserve">Copy text from @start_pos up to, but not including @end_pos
1733 to the clipboard and then delete from the widget.</doc>
1734         <return-value transfer-ownership="none">
1735           <type name="none" c:type="void"/>
1736         </return-value>
1737         <parameters>
1738           <parameter name="start_pos" transfer-ownership="none">
1739             <doc xml:whitespace="preserve">start position</doc>
1740             <type name="int" c:type="gint"/>
1741           </parameter>
1742           <parameter name="end_pos" transfer-ownership="none">
1743             <doc xml:whitespace="preserve">end position</doc>
1744             <type name="int" c:type="gint"/>
1745           </parameter>
1746         </parameters>
1747       </method>
1748       <method name="delete_text" c:identifier="atk_editable_text_delete_text">
1749         <doc xml:whitespace="preserve">Delete text @start_pos up to, but not including @end_pos.</doc>
1750         <return-value transfer-ownership="none">
1751           <type name="none" c:type="void"/>
1752         </return-value>
1753         <parameters>
1754           <parameter name="start_pos" transfer-ownership="none">
1755             <doc xml:whitespace="preserve">start position</doc>
1756             <type name="int" c:type="gint"/>
1757           </parameter>
1758           <parameter name="end_pos" transfer-ownership="none">
1759             <doc xml:whitespace="preserve">end position</doc>
1760             <type name="int" c:type="gint"/>
1761           </parameter>
1762         </parameters>
1763       </method>
1764       <method name="paste_text" c:identifier="atk_editable_text_paste_text">
1765         <doc xml:whitespace="preserve">Paste text from clipboard to specified @position.</doc>
1766         <return-value transfer-ownership="none">
1767           <type name="none" c:type="void"/>
1768         </return-value>
1769         <parameters>
1770           <parameter name="position" transfer-ownership="none">
1771             <doc xml:whitespace="preserve">position to paste</doc>
1772             <type name="int" c:type="gint"/>
1773           </parameter>
1774         </parameters>
1775       </method>
1776     </interface>
1777     <record name="EditableTextIface"
1778             c:type="AtkEditableTextIface"
1779             glib:is-gtype-struct-for="EditableText">
1780       <field name="parent_interface">
1781         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
1782       </field>
1783       <field name="set_run_attributes">
1784         <callback name="set_run_attributes" c:type="set_run_attributes">
1785           <return-value transfer-ownership="none">
1786             <type name="boolean" c:type="gboolean"/>
1787           </return-value>
1788           <parameters>
1789             <parameter name="text" transfer-ownership="none">
1790               <type name="EditableText" c:type="AtkEditableText*"/>
1791             </parameter>
1792             <parameter name="attrib_set" transfer-ownership="none">
1793               <type name="AttributeSet" c:type="AtkAttributeSet*"/>
1794             </parameter>
1795             <parameter name="start_offset" transfer-ownership="none">
1796               <type name="int" c:type="gint"/>
1797             </parameter>
1798             <parameter name="end_offset" transfer-ownership="none">
1799               <type name="int" c:type="gint"/>
1800             </parameter>
1801           </parameters>
1802         </callback>
1803       </field>
1804       <field name="set_text_contents">
1805         <callback name="set_text_contents" c:type="set_text_contents">
1806           <return-value transfer-ownership="none">
1807             <type name="none" c:type="void"/>
1808           </return-value>
1809           <parameters>
1810             <parameter name="text" transfer-ownership="none">
1811               <type name="EditableText" c:type="AtkEditableText*"/>
1812             </parameter>
1813             <parameter name="string" transfer-ownership="none">
1814               <doc xml:whitespace="preserve">string to set for text contents of @text</doc>
1815               <type name="utf8" c:type="gchar*"/>
1816             </parameter>
1817           </parameters>
1818         </callback>
1819       </field>
1820       <field name="insert_text">
1821         <callback name="insert_text" c:type="insert_text">
1822           <return-value transfer-ownership="none">
1823             <type name="none" c:type="void"/>
1824           </return-value>
1825           <parameters>
1826             <parameter name="text" transfer-ownership="none">
1827               <type name="EditableText" c:type="AtkEditableText*"/>
1828             </parameter>
1829             <parameter name="string" transfer-ownership="none">
1830               <doc xml:whitespace="preserve">the text to insert</doc>
1831               <type name="utf8" c:type="gchar*"/>
1832             </parameter>
1833             <parameter name="length" transfer-ownership="none">
1834               <doc xml:whitespace="preserve">the length of text to insert, in bytes</doc>
1835               <type name="int" c:type="gint"/>
1836             </parameter>
1837             <parameter name="position"
1838                        direction="out"
1839                        caller-allocates="0"
1840                        transfer-ownership="full">
1841               <doc xml:whitespace="preserve">The caller initializes this to the position at which to insert the text. After the call it points at the position after the newly inserted text.</doc>
1842               <type name="int" c:type="gint*"/>
1843             </parameter>
1844           </parameters>
1845         </callback>
1846       </field>
1847       <field name="copy_text">
1848         <callback name="copy_text" c:type="copy_text">
1849           <return-value transfer-ownership="none">
1850             <type name="none" c:type="void"/>
1851           </return-value>
1852           <parameters>
1853             <parameter name="text" transfer-ownership="none">
1854               <type name="EditableText" c:type="AtkEditableText*"/>
1855             </parameter>
1856             <parameter name="start_pos" transfer-ownership="none">
1857               <doc xml:whitespace="preserve">start position</doc>
1858               <type name="int" c:type="gint"/>
1859             </parameter>
1860             <parameter name="end_pos" transfer-ownership="none">
1861               <doc xml:whitespace="preserve">end position</doc>
1862               <type name="int" c:type="gint"/>
1863             </parameter>
1864           </parameters>
1865         </callback>
1866       </field>
1867       <field name="cut_text">
1868         <callback name="cut_text" c:type="cut_text">
1869           <return-value transfer-ownership="none">
1870             <type name="none" c:type="void"/>
1871           </return-value>
1872           <parameters>
1873             <parameter name="text" transfer-ownership="none">
1874               <type name="EditableText" c:type="AtkEditableText*"/>
1875             </parameter>
1876             <parameter name="start_pos" transfer-ownership="none">
1877               <doc xml:whitespace="preserve">start position</doc>
1878               <type name="int" c:type="gint"/>
1879             </parameter>
1880             <parameter name="end_pos" transfer-ownership="none">
1881               <doc xml:whitespace="preserve">end position</doc>
1882               <type name="int" c:type="gint"/>
1883             </parameter>
1884           </parameters>
1885         </callback>
1886       </field>
1887       <field name="delete_text">
1888         <callback name="delete_text" c:type="delete_text">
1889           <return-value transfer-ownership="none">
1890             <type name="none" c:type="void"/>
1891           </return-value>
1892           <parameters>
1893             <parameter name="text" transfer-ownership="none">
1894               <type name="EditableText" c:type="AtkEditableText*"/>
1895             </parameter>
1896             <parameter name="start_pos" transfer-ownership="none">
1897               <doc xml:whitespace="preserve">start position</doc>
1898               <type name="int" c:type="gint"/>
1899             </parameter>
1900             <parameter name="end_pos" transfer-ownership="none">
1901               <doc xml:whitespace="preserve">end position</doc>
1902               <type name="int" c:type="gint"/>
1903             </parameter>
1904           </parameters>
1905         </callback>
1906       </field>
1907       <field name="paste_text">
1908         <callback name="paste_text" c:type="paste_text">
1909           <return-value transfer-ownership="none">
1910             <type name="none" c:type="void"/>
1911           </return-value>
1912           <parameters>
1913             <parameter name="text" transfer-ownership="none">
1914               <type name="EditableText" c:type="AtkEditableText*"/>
1915             </parameter>
1916             <parameter name="position" transfer-ownership="none">
1917               <doc xml:whitespace="preserve">position to paste</doc>
1918               <type name="int" c:type="gint"/>
1919             </parameter>
1920           </parameters>
1921         </callback>
1922       </field>
1923       <field name="pad1">
1924         <type name="Function" c:type="AtkFunction"/>
1925       </field>
1926       <field name="pad2">
1927         <type name="Function" c:type="AtkFunction"/>
1928       </field>
1929     </record>
1930     <callback name="EventListener" c:type="AtkEventListener">
1931       <doc xml:whitespace="preserve">A function which is called when an object emits a matching event,
1932 as used in #atk_add_focus_tracker.
1933 Currently the only events for which object-specific handlers are
1934 supported are events of type "focus:".  Most clients of ATK will prefer to 
1935 attach signal handlers for the various ATK signals instead.</doc>
1936       <return-value transfer-ownership="none">
1937         <type name="none" c:type="void"/>
1938       </return-value>
1939       <parameters>
1940         <parameter name="obj" transfer-ownership="none">
1941           <doc xml:whitespace="preserve">An #AtkObject instance for whom the callback will be called when the specified event (e.g. 'focus:') takes place.</doc>
1942           <type name="Object" c:type="AtkObject*"/>
1943         </parameter>
1944       </parameters>
1945     </callback>
1946     <callback name="EventListenerInit" c:type="AtkEventListenerInit">
1947       <doc xml:whitespace="preserve">An #AtkEventListenerInit function is a special function that is
1948 called in order to initialize the per-object event registration system
1949 used by #AtkEventListener, if any preparation is required.</doc>
1950       <return-value transfer-ownership="none">
1951         <type name="none" c:type="void"/>
1952       </return-value>
1953     </callback>
1954     <callback name="FocusHandler" c:type="AtkFocusHandler">
1955       <return-value transfer-ownership="none">
1956         <type name="none" c:type="void"/>
1957       </return-value>
1958       <parameters>
1959         <parameter transfer-ownership="none">
1960           <type name="Object" c:type="AtkObject*"/>
1961         </parameter>
1962         <parameter transfer-ownership="none">
1963           <type name="boolean" c:type="gboolean"/>
1964         </parameter>
1965       </parameters>
1966     </callback>
1967     <callback name="Function" c:type="AtkFunction">
1968       <return-value transfer-ownership="none">
1969         <type name="boolean" c:type="gboolean"/>
1970       </return-value>
1971       <parameters>
1972         <parameter name="data" transfer-ownership="none">
1973           <type name="any" c:type="gpointer"/>
1974         </parameter>
1975       </parameters>
1976     </callback>
1977     <class name="GObjectAccessible"
1978            c:type="AtkGObjectAccessible"
1979            parent="Object"
1980            glib:type-name="AtkGObjectAccessible"
1981            glib:get-type="atk_gobject_accessible_get_type"
1982            glib:type-struct="GObjectAccessibleClass">
1983       <function name="for_object"
1984                 c:identifier="atk_gobject_accessible_for_object">
1985         <doc xml:whitespace="preserve">Gets the accessible object for the specified @obj.</doc>
1986         <return-value transfer-ownership="full">
1987           <doc xml:whitespace="preserve">a #AtkObject which is the accessible object for the @obj</doc>
1988           <type name="Object" c:type="AtkObject*"/>
1989         </return-value>
1990         <parameters>
1991           <parameter name="obj" transfer-ownership="none">
1992             <doc xml:whitespace="preserve">a #GObject</doc>
1993             <type name="GObject.Object" c:type="GObject*"/>
1994           </parameter>
1995         </parameters>
1996       </function>
1997       <method name="get_object"
1998               c:identifier="atk_gobject_accessible_get_object">
1999         <doc xml:whitespace="preserve">Gets the GObject for which @obj is the accessible object.</doc>
2000         <return-value transfer-ownership="full">
2001           <doc xml:whitespace="preserve">a #GObject which is the object for which @obj is the accessible object</doc>
2002           <type name="GObject.Object" c:type="GObject*"/>
2003         </return-value>
2004       </method>
2005       <field name="parent">
2006         <type name="Object" c:type="AtkObject"/>
2007       </field>
2008     </class>
2009     <record name="GObjectAccessibleClass"
2010             c:type="AtkGObjectAccessibleClass"
2011             glib:is-gtype-struct-for="GObjectAccessible">
2012       <field name="parent_class">
2013         <type name="ObjectClass" c:type="AtkObjectClass"/>
2014       </field>
2015       <field name="pad1">
2016         <type name="Function" c:type="AtkFunction"/>
2017       </field>
2018       <field name="pad2">
2019         <type name="Function" c:type="AtkFunction"/>
2020       </field>
2021     </record>
2022     <class name="Hyperlink"
2023            c:type="AtkHyperlink"
2024            parent="GObject.Object"
2025            glib:type-name="AtkHyperlink"
2026            glib:get-type="atk_hyperlink_get_type"
2027            glib:type-struct="HyperlinkClass">
2028       <implements name="Action"/>
2029       <virtual-method name="get_uri" invoker="get_uri">
2030         <doc xml:whitespace="preserve">Get a the URI associated with the anchor specified 
2031 by @i of @link_. 
2032 Multiple anchors are primarily used by client-side image maps.</doc>
2033         <return-value transfer-ownership="full">
2034           <doc xml:whitespace="preserve">a string specifying the URI</doc>
2035           <type name="utf8" c:type="gchar*"/>
2036         </return-value>
2037         <parameters>
2038           <parameter name="i" transfer-ownership="none">
2039             <doc xml:whitespace="preserve">a (zero-index) integer specifying the desired anchor</doc>
2040             <type name="int" c:type="gint"/>
2041           </parameter>
2042         </parameters>
2043       </virtual-method>
2044       <virtual-method name="get_object" invoker="get_object">
2045         <doc xml:whitespace="preserve">Returns the item associated with this hyperlinks nth anchor.
2046 For instance, the returned #AtkObject will implement #AtkText
2047 if @link_ is a text hyperlink, #AtkImage if @link_ is an image
2048 hyperlink etc. 
2049 Multiple anchors are primarily used by client-side image maps.</doc>
2050         <return-value transfer-ownership="full">
2051           <doc xml:whitespace="preserve">an #AtkObject associated with this hyperlinks i-th anchor</doc>
2052           <type name="Object" c:type="AtkObject*"/>
2053         </return-value>
2054         <parameters>
2055           <parameter name="i" transfer-ownership="none">
2056             <doc xml:whitespace="preserve">a (zero-index) integer specifying the desired anchor</doc>
2057             <type name="int" c:type="gint"/>
2058           </parameter>
2059         </parameters>
2060       </virtual-method>
2061       <virtual-method name="get_end_index" invoker="get_end_index">
2062         <doc xml:whitespace="preserve">Gets the index with the hypertext document at which this link ends.</doc>
2063         <return-value transfer-ownership="none">
2064           <doc xml:whitespace="preserve">the index with the hypertext document at which this link ends</doc>
2065           <type name="int" c:type="gint"/>
2066         </return-value>
2067       </virtual-method>
2068       <virtual-method name="get_start_index" invoker="get_start_index">
2069         <doc xml:whitespace="preserve">Gets the index with the hypertext document at which this link begins.</doc>
2070         <return-value transfer-ownership="none">
2071           <doc xml:whitespace="preserve">the index with the hypertext document at which this link begins</doc>
2072           <type name="int" c:type="gint"/>
2073         </return-value>
2074       </virtual-method>
2075       <virtual-method name="is_valid" invoker="is_valid">
2076         <doc xml:whitespace="preserve">Since the document that a link is associated with may have changed
2077 this method returns %TRUE if the link is still valid (with
2078 respect to the document it references) and %FALSE otherwise.</doc>
2079         <return-value transfer-ownership="none">
2080           <doc xml:whitespace="preserve">whether or not this link is still valid</doc>
2081           <type name="boolean" c:type="gboolean"/>
2082         </return-value>
2083       </virtual-method>
2084       <virtual-method name="get_n_anchors" invoker="get_n_anchors">
2085         <doc xml:whitespace="preserve">Gets the number of anchors associated with this hyperlink.</doc>
2086         <return-value transfer-ownership="none">
2087           <doc xml:whitespace="preserve">the number of anchors associated with this hyperlink</doc>
2088           <type name="int" c:type="gint"/>
2089         </return-value>
2090       </virtual-method>
2091       <virtual-method name="link_state">
2092         <return-value transfer-ownership="none">
2093           <type name="uint" c:type="guint"/>
2094         </return-value>
2095       </virtual-method>
2096       <virtual-method name="is_selected_link">
2097         <return-value transfer-ownership="none">
2098           <type name="boolean" c:type="gboolean"/>
2099         </return-value>
2100       </virtual-method>
2101       <method name="get_uri" c:identifier="atk_hyperlink_get_uri">
2102         <doc xml:whitespace="preserve">Get a the URI associated with the anchor specified 
2103 by @i of @link_. 
2104 Multiple anchors are primarily used by client-side image maps.</doc>
2105         <return-value transfer-ownership="full">
2106           <doc xml:whitespace="preserve">a string specifying the URI</doc>
2107           <type name="utf8" c:type="gchar*"/>
2108         </return-value>
2109         <parameters>
2110           <parameter name="i" transfer-ownership="none">
2111             <doc xml:whitespace="preserve">a (zero-index) integer specifying the desired anchor</doc>
2112             <type name="int" c:type="gint"/>
2113           </parameter>
2114         </parameters>
2115       </method>
2116       <method name="get_object" c:identifier="atk_hyperlink_get_object">
2117         <doc xml:whitespace="preserve">Returns the item associated with this hyperlinks nth anchor.
2118 For instance, the returned #AtkObject will implement #AtkText
2119 if @link_ is a text hyperlink, #AtkImage if @link_ is an image
2120 hyperlink etc. 
2121 Multiple anchors are primarily used by client-side image maps.</doc>
2122         <return-value transfer-ownership="full">
2123           <doc xml:whitespace="preserve">an #AtkObject associated with this hyperlinks i-th anchor</doc>
2124           <type name="Object" c:type="AtkObject*"/>
2125         </return-value>
2126         <parameters>
2127           <parameter name="i" transfer-ownership="none">
2128             <doc xml:whitespace="preserve">a (zero-index) integer specifying the desired anchor</doc>
2129             <type name="int" c:type="gint"/>
2130           </parameter>
2131         </parameters>
2132       </method>
2133       <method name="get_end_index" c:identifier="atk_hyperlink_get_end_index">
2134         <doc xml:whitespace="preserve">Gets the index with the hypertext document at which this link ends.</doc>
2135         <return-value transfer-ownership="none">
2136           <doc xml:whitespace="preserve">the index with the hypertext document at which this link ends</doc>
2137           <type name="int" c:type="gint"/>
2138         </return-value>
2139       </method>
2140       <method name="get_start_index"
2141               c:identifier="atk_hyperlink_get_start_index">
2142         <doc xml:whitespace="preserve">Gets the index with the hypertext document at which this link begins.</doc>
2143         <return-value transfer-ownership="none">
2144           <doc xml:whitespace="preserve">the index with the hypertext document at which this link begins</doc>
2145           <type name="int" c:type="gint"/>
2146         </return-value>
2147       </method>
2148       <method name="is_valid" c:identifier="atk_hyperlink_is_valid">
2149         <doc xml:whitespace="preserve">Since the document that a link is associated with may have changed
2150 this method returns %TRUE if the link is still valid (with
2151 respect to the document it references) and %FALSE otherwise.</doc>
2152         <return-value transfer-ownership="none">
2153           <doc xml:whitespace="preserve">whether or not this link is still valid</doc>
2154           <type name="boolean" c:type="gboolean"/>
2155         </return-value>
2156       </method>
2157       <method name="is_inline" c:identifier="atk_hyperlink_is_inline">
2158         <doc xml:whitespace="preserve">Indicates whether the link currently displays some or all of its
2159 content inline.  Ordinary HTML links will usually return
2160 %FALSE, but an inline &amp;lt;src&amp;gt; HTML element will return
2161 %TRUE.</doc>
2162         <return-value transfer-ownership="none">
2163           <doc xml:whitespace="preserve">whether or not this link displays its content inline.</doc>
2164           <type name="boolean" c:type="gboolean"/>
2165         </return-value>
2166       </method>
2167       <method name="get_n_anchors" c:identifier="atk_hyperlink_get_n_anchors">
2168         <doc xml:whitespace="preserve">Gets the number of anchors associated with this hyperlink.</doc>
2169         <return-value transfer-ownership="none">
2170           <doc xml:whitespace="preserve">the number of anchors associated with this hyperlink</doc>
2171           <type name="int" c:type="gint"/>
2172         </return-value>
2173       </method>
2174       <property name="end-index" transfer-ownership="none">
2175         <type name="int" c:type="gint"/>
2176       </property>
2177       <property name="number-of-anchors" transfer-ownership="none">
2178         <type name="int" c:type="gint"/>
2179       </property>
2180       <property name="selected-link" transfer-ownership="none">
2181         <type name="boolean" c:type="gboolean"/>
2182       </property>
2183       <property name="start-index" transfer-ownership="none">
2184         <type name="int" c:type="gint"/>
2185       </property>
2186       <field name="parent">
2187         <type name="GObject.Object" c:type="GObject"/>
2188       </field>
2189       <glib:signal name="link-activated">
2190         <return-value transfer-ownership="full">
2191           <type name="none" c:type="void"/>
2192         </return-value>
2193       </glib:signal>
2194     </class>
2195     <record name="HyperlinkClass"
2196             c:type="AtkHyperlinkClass"
2197             glib:is-gtype-struct-for="Hyperlink">
2198       <field name="parent">
2199         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
2200       </field>
2201       <field name="get_uri">
2202         <callback name="get_uri" c:type="get_uri">
2203           <return-value transfer-ownership="full">
2204             <doc xml:whitespace="preserve">a string specifying the URI</doc>
2205             <type name="utf8" c:type="gchar*"/>
2206           </return-value>
2207           <parameters>
2208             <parameter name="link_" transfer-ownership="none">
2209               <type name="Hyperlink" c:type="AtkHyperlink*"/>
2210             </parameter>
2211             <parameter name="i" transfer-ownership="none">
2212               <doc xml:whitespace="preserve">a (zero-index) integer specifying the desired anchor</doc>
2213               <type name="int" c:type="gint"/>
2214             </parameter>
2215           </parameters>
2216         </callback>
2217       </field>
2218       <field name="get_object">
2219         <callback name="get_object" c:type="get_object">
2220           <return-value transfer-ownership="full">
2221             <doc xml:whitespace="preserve">an #AtkObject associated with this hyperlinks i-th anchor</doc>
2222             <type name="Object" c:type="AtkObject*"/>
2223           </return-value>
2224           <parameters>
2225             <parameter name="link_" transfer-ownership="none">
2226               <type name="Hyperlink" c:type="AtkHyperlink*"/>
2227             </parameter>
2228             <parameter name="i" transfer-ownership="none">
2229               <doc xml:whitespace="preserve">a (zero-index) integer specifying the desired anchor</doc>
2230               <type name="int" c:type="gint"/>
2231             </parameter>
2232           </parameters>
2233         </callback>
2234       </field>
2235       <field name="get_end_index">
2236         <callback name="get_end_index" c:type="get_end_index">
2237           <return-value transfer-ownership="none">
2238             <doc xml:whitespace="preserve">the index with the hypertext document at which this link ends</doc>
2239             <type name="int" c:type="gint"/>
2240           </return-value>
2241           <parameters>
2242             <parameter name="link_" transfer-ownership="none">
2243               <type name="Hyperlink" c:type="AtkHyperlink*"/>
2244             </parameter>
2245           </parameters>
2246         </callback>
2247       </field>
2248       <field name="get_start_index">
2249         <callback name="get_start_index" c:type="get_start_index">
2250           <return-value transfer-ownership="none">
2251             <doc xml:whitespace="preserve">the index with the hypertext document at which this link begins</doc>
2252             <type name="int" c:type="gint"/>
2253           </return-value>
2254           <parameters>
2255             <parameter name="link_" transfer-ownership="none">
2256               <type name="Hyperlink" c:type="AtkHyperlink*"/>
2257             </parameter>
2258           </parameters>
2259         </callback>
2260       </field>
2261       <field name="is_valid">
2262         <callback name="is_valid" c:type="is_valid">
2263           <return-value transfer-ownership="none">
2264             <doc xml:whitespace="preserve">whether or not this link is still valid</doc>
2265             <type name="boolean" c:type="gboolean"/>
2266           </return-value>
2267           <parameters>
2268             <parameter name="link_" transfer-ownership="none">
2269               <type name="Hyperlink" c:type="AtkHyperlink*"/>
2270             </parameter>
2271           </parameters>
2272         </callback>
2273       </field>
2274       <field name="get_n_anchors">
2275         <callback name="get_n_anchors" c:type="get_n_anchors">
2276           <return-value transfer-ownership="none">
2277             <doc xml:whitespace="preserve">the number of anchors associated with this hyperlink</doc>
2278             <type name="int" c:type="gint"/>
2279           </return-value>
2280           <parameters>
2281             <parameter name="link_" transfer-ownership="none">
2282               <type name="Hyperlink" c:type="AtkHyperlink*"/>
2283             </parameter>
2284           </parameters>
2285         </callback>
2286       </field>
2287       <field name="link_state">
2288         <callback name="link_state" c:type="link_state">
2289           <return-value transfer-ownership="none">
2290             <type name="uint" c:type="guint"/>
2291           </return-value>
2292           <parameters>
2293             <parameter name="link_" transfer-ownership="none">
2294               <type name="Hyperlink" c:type="AtkHyperlink*"/>
2295             </parameter>
2296           </parameters>
2297         </callback>
2298       </field>
2299       <field name="is_selected_link">
2300         <callback name="is_selected_link" c:type="is_selected_link">
2301           <return-value transfer-ownership="none">
2302             <type name="boolean" c:type="gboolean"/>
2303           </return-value>
2304           <parameters>
2305             <parameter name="link_" transfer-ownership="none">
2306               <type name="Hyperlink" c:type="AtkHyperlink*"/>
2307             </parameter>
2308           </parameters>
2309         </callback>
2310       </field>
2311       <field name="link_activated">
2312         <callback name="link_activated" c:type="link_activated">
2313           <return-value transfer-ownership="none">
2314             <type name="none" c:type="void"/>
2315           </return-value>
2316           <parameters>
2317             <parameter name="link_" transfer-ownership="none">
2318               <type name="Hyperlink" c:type="AtkHyperlink*"/>
2319             </parameter>
2320           </parameters>
2321         </callback>
2322       </field>
2323       <field name="pad1">
2324         <type name="Function" c:type="AtkFunction"/>
2325       </field>
2326     </record>
2327     <interface name="HyperlinkImpl"
2328                c:type="AtkHyperlinkImpl"
2329                glib:type-name="AtkHyperlinkImpl"
2330                glib:get-type="atk_hyperlink_impl_get_type"
2331                glib:type-struct="HyperlinkImplIface">
2332       <virtual-method name="get_hyperlink"
2333                       invoker="get_hyperlink"
2334                       version="1.12">
2335         <doc xml:whitespace="preserve">Gets the hyperlink associated with this object.
2336 Returns an AtkHyperlink object which points to this implementing AtkObject.</doc>
2337         <return-value transfer-ownership="full">
2338           <type name="Hyperlink" c:type="AtkHyperlink*"/>
2339         </return-value>
2340       </virtual-method>
2341       <method name="get_hyperlink"
2342               c:identifier="atk_hyperlink_impl_get_hyperlink"
2343               version="1.12">
2344         <doc xml:whitespace="preserve">Gets the hyperlink associated with this object.
2345 Returns an AtkHyperlink object which points to this implementing AtkObject.</doc>
2346         <return-value transfer-ownership="full">
2347           <type name="Hyperlink" c:type="AtkHyperlink*"/>
2348         </return-value>
2349       </method>
2350     </interface>
2351     <record name="HyperlinkImplIface"
2352             c:type="AtkHyperlinkImplIface"
2353             glib:is-gtype-struct-for="HyperlinkImpl">
2354       <field name="parent">
2355         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
2356       </field>
2357       <field name="get_hyperlink">
2358         <callback name="get_hyperlink" c:type="get_hyperlink">
2359           <return-value transfer-ownership="full">
2360             <type name="Hyperlink" c:type="AtkHyperlink*"/>
2361           </return-value>
2362           <parameters>
2363             <parameter name="impl" transfer-ownership="none">
2364               <type name="HyperlinkImpl" c:type="AtkHyperlinkImpl*"/>
2365             </parameter>
2366           </parameters>
2367         </callback>
2368       </field>
2369       <field name="pad1">
2370         <type name="Function" c:type="AtkFunction"/>
2371       </field>
2372     </record>
2373     <bitfield name="HyperlinkStateFlags"
2374               glib:type-name="AtkHyperlinkStateFlags"
2375               glib:get-type="atk_hyperlink_state_flags_get_type"
2376               c:type="AtkHyperlinkStateFlags">
2377       <member name="inline"
2378               value="1"
2379               c:identifier="ATK_HYPERLINK_IS_INLINE"
2380               glib:nick="inline"/>
2381     </bitfield>
2382     <interface name="Hypertext"
2383                c:type="AtkHypertext"
2384                glib:type-name="AtkHypertext"
2385                glib:get-type="atk_hypertext_get_type"
2386                glib:type-struct="HypertextIface">
2387       <virtual-method name="get_link" invoker="get_link">
2388         <doc xml:whitespace="preserve">Gets the link in this hypertext document at index 
2389 index @link_index</doc>
2390         <return-value transfer-ownership="full">
2391           <doc xml:whitespace="preserve">the link in this hypertext document at</doc>
2392           <type name="Hyperlink" c:type="AtkHyperlink*"/>
2393         </return-value>
2394         <parameters>
2395           <parameter name="link_index" transfer-ownership="none">
2396             <doc xml:whitespace="preserve">an integer specifying the desired link</doc>
2397             <type name="int" c:type="gint"/>
2398           </parameter>
2399         </parameters>
2400       </virtual-method>
2401       <virtual-method name="get_n_links" invoker="get_n_links">
2402         <doc xml:whitespace="preserve">Gets the number of links within this hypertext document.</doc>
2403         <return-value transfer-ownership="none">
2404           <doc xml:whitespace="preserve">the number of links within this hypertext document</doc>
2405           <type name="int" c:type="gint"/>
2406         </return-value>
2407       </virtual-method>
2408       <virtual-method name="get_link_index" invoker="get_link_index">
2409         <doc xml:whitespace="preserve">Gets the index into the array of hyperlinks that is associated with
2410 the character specified by @char_index.
2411 or -1 if there is no hyperlink associated with this character.</doc>
2412         <return-value transfer-ownership="none">
2413           <doc xml:whitespace="preserve">an index into the array of hyperlinks in @hypertext,</doc>
2414           <type name="int" c:type="gint"/>
2415         </return-value>
2416         <parameters>
2417           <parameter name="char_index" transfer-ownership="none">
2418             <doc xml:whitespace="preserve">a character index</doc>
2419             <type name="int" c:type="gint"/>
2420           </parameter>
2421         </parameters>
2422       </virtual-method>
2423       <method name="get_link" c:identifier="atk_hypertext_get_link">
2424         <doc xml:whitespace="preserve">Gets the link in this hypertext document at index 
2425 index @link_index</doc>
2426         <return-value transfer-ownership="full">
2427           <doc xml:whitespace="preserve">the link in this hypertext document at</doc>
2428           <type name="Hyperlink" c:type="AtkHyperlink*"/>
2429         </return-value>
2430         <parameters>
2431           <parameter name="link_index" transfer-ownership="none">
2432             <doc xml:whitespace="preserve">an integer specifying the desired link</doc>
2433             <type name="int" c:type="gint"/>
2434           </parameter>
2435         </parameters>
2436       </method>
2437       <method name="get_n_links" c:identifier="atk_hypertext_get_n_links">
2438         <doc xml:whitespace="preserve">Gets the number of links within this hypertext document.</doc>
2439         <return-value transfer-ownership="none">
2440           <doc xml:whitespace="preserve">the number of links within this hypertext document</doc>
2441           <type name="int" c:type="gint"/>
2442         </return-value>
2443       </method>
2444       <method name="get_link_index"
2445               c:identifier="atk_hypertext_get_link_index">
2446         <doc xml:whitespace="preserve">Gets the index into the array of hyperlinks that is associated with
2447 the character specified by @char_index.
2448 or -1 if there is no hyperlink associated with this character.</doc>
2449         <return-value transfer-ownership="none">
2450           <doc xml:whitespace="preserve">an index into the array of hyperlinks in @hypertext,</doc>
2451           <type name="int" c:type="gint"/>
2452         </return-value>
2453         <parameters>
2454           <parameter name="char_index" transfer-ownership="none">
2455             <doc xml:whitespace="preserve">a character index</doc>
2456             <type name="int" c:type="gint"/>
2457           </parameter>
2458         </parameters>
2459       </method>
2460       <glib:signal name="link-selected">
2461         <return-value transfer-ownership="full">
2462           <type name="none" c:type="void"/>
2463         </return-value>
2464         <parameters>
2465           <parameter name="object" transfer-ownership="none">
2466             <type name="int" c:type="gint"/>
2467           </parameter>
2468         </parameters>
2469       </glib:signal>
2470     </interface>
2471     <record name="HypertextIface"
2472             c:type="AtkHypertextIface"
2473             glib:is-gtype-struct-for="Hypertext">
2474       <field name="parent">
2475         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
2476       </field>
2477       <field name="get_link">
2478         <callback name="get_link" c:type="get_link">
2479           <return-value transfer-ownership="full">
2480             <doc xml:whitespace="preserve">the link in this hypertext document at</doc>
2481             <type name="Hyperlink" c:type="AtkHyperlink*"/>
2482           </return-value>
2483           <parameters>
2484             <parameter name="hypertext" transfer-ownership="none">
2485               <type name="Hypertext" c:type="AtkHypertext*"/>
2486             </parameter>
2487             <parameter name="link_index" transfer-ownership="none">
2488               <doc xml:whitespace="preserve">an integer specifying the desired link</doc>
2489               <type name="int" c:type="gint"/>
2490             </parameter>
2491           </parameters>
2492         </callback>
2493       </field>
2494       <field name="get_n_links">
2495         <callback name="get_n_links" c:type="get_n_links">
2496           <return-value transfer-ownership="none">
2497             <doc xml:whitespace="preserve">the number of links within this hypertext document</doc>
2498             <type name="int" c:type="gint"/>
2499           </return-value>
2500           <parameters>
2501             <parameter name="hypertext" transfer-ownership="none">
2502               <type name="Hypertext" c:type="AtkHypertext*"/>
2503             </parameter>
2504           </parameters>
2505         </callback>
2506       </field>
2507       <field name="get_link_index">
2508         <callback name="get_link_index" c:type="get_link_index">
2509           <return-value transfer-ownership="none">
2510             <doc xml:whitespace="preserve">an index into the array of hyperlinks in @hypertext,</doc>
2511             <type name="int" c:type="gint"/>
2512           </return-value>
2513           <parameters>
2514             <parameter name="hypertext" transfer-ownership="none">
2515               <type name="Hypertext" c:type="AtkHypertext*"/>
2516             </parameter>
2517             <parameter name="char_index" transfer-ownership="none">
2518               <doc xml:whitespace="preserve">a character index</doc>
2519               <type name="int" c:type="gint"/>
2520             </parameter>
2521           </parameters>
2522         </callback>
2523       </field>
2524       <field name="link_selected">
2525         <callback name="link_selected" c:type="link_selected">
2526           <return-value transfer-ownership="none">
2527             <type name="none" c:type="void"/>
2528           </return-value>
2529           <parameters>
2530             <parameter name="hypertext" transfer-ownership="none">
2531               <type name="Hypertext" c:type="AtkHypertext*"/>
2532             </parameter>
2533             <parameter name="link_index" transfer-ownership="none">
2534               <type name="int" c:type="gint"/>
2535             </parameter>
2536           </parameters>
2537         </callback>
2538       </field>
2539       <field name="pad1">
2540         <type name="Function" c:type="AtkFunction"/>
2541       </field>
2542       <field name="pad2">
2543         <type name="Function" c:type="AtkFunction"/>
2544       </field>
2545       <field name="pad3">
2546         <type name="Function" c:type="AtkFunction"/>
2547       </field>
2548     </record>
2549     <interface name="Image"
2550                c:type="AtkImage"
2551                glib:type-name="AtkImage"
2552                glib:get-type="atk_image_get_type"
2553                glib:type-struct="ImageIface">
2554       <virtual-method name="get_image_position" invoker="get_image_position">
2555         <doc xml:whitespace="preserve">Gets the position of the image in the form of a point specifying the
2556 images top-left corner.</doc>
2557         <return-value transfer-ownership="none">
2558           <type name="none" c:type="void"/>
2559         </return-value>
2560         <parameters>
2561           <parameter name="x"
2562                      direction="out"
2563                      caller-allocates="0"
2564                      transfer-ownership="full">
2565             <doc xml:whitespace="preserve">address of #gint to put x coordinate position; otherwise, -1 if value cannot be obtained.</doc>
2566             <type name="int" c:type="gint*"/>
2567           </parameter>
2568           <parameter name="y"
2569                      direction="out"
2570                      caller-allocates="0"
2571                      transfer-ownership="full">
2572             <doc xml:whitespace="preserve">address of #gint to put y coordinate position; otherwise, -1 if value cannot be obtained.</doc>
2573             <type name="int" c:type="gint*"/>
2574           </parameter>
2575           <parameter name="coord_type" transfer-ownership="none">
2576             <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
2577             <type name="CoordType" c:type="AtkCoordType"/>
2578           </parameter>
2579         </parameters>
2580       </virtual-method>
2581       <virtual-method name="get_image_description"
2582                       invoker="get_image_description">
2583         <doc xml:whitespace="preserve">Get a textual description of this image.</doc>
2584         <return-value transfer-ownership="none">
2585           <doc xml:whitespace="preserve">a string representing the image description</doc>
2586           <type name="utf8" c:type="gchar*"/>
2587         </return-value>
2588       </virtual-method>
2589       <virtual-method name="get_image_size" invoker="get_image_size">
2590         <doc xml:whitespace="preserve">Get the width and height in pixels for the specified image.
2591 The values of @width and @height are returned as -1 if the
2592 values cannot be obtained (for instance, if the object is not onscreen).</doc>
2593         <return-value transfer-ownership="none">
2594           <type name="none" c:type="void"/>
2595         </return-value>
2596         <parameters>
2597           <parameter name="width"
2598                      direction="out"
2599                      caller-allocates="0"
2600                      transfer-ownership="full">
2601             <doc xml:whitespace="preserve">filled with the image width, or -1 if the value cannot be obtained.</doc>
2602             <type name="int" c:type="gint*"/>
2603           </parameter>
2604           <parameter name="height"
2605                      direction="out"
2606                      caller-allocates="0"
2607                      transfer-ownership="full">
2608             <doc xml:whitespace="preserve">filled with the image height, or -1 if the value cannot be obtained.</doc>
2609             <type name="int" c:type="gint*"/>
2610           </parameter>
2611         </parameters>
2612       </virtual-method>
2613       <virtual-method name="set_image_description"
2614                       invoker="set_image_description">
2615         <doc xml:whitespace="preserve">Sets the textual description for this image.
2616 not be completed.</doc>
2617         <return-value transfer-ownership="none">
2618           <doc xml:whitespace="preserve">boolean TRUE, or FALSE if operation could</doc>
2619           <type name="boolean" c:type="gboolean"/>
2620         </return-value>
2621         <parameters>
2622           <parameter name="description" transfer-ownership="none">
2623             <doc xml:whitespace="preserve">a string description to set for @image</doc>
2624             <type name="utf8" c:type="gchar*"/>
2625           </parameter>
2626         </parameters>
2627       </virtual-method>
2628       <virtual-method name="get_image_locale" invoker="get_image_locale">
2629         <doc xml:whitespace="preserve">Since ATK 1.12
2630 Returns a string corresponding to the POSIX LC_MESSAGES locale used by the image description, or NULL if the image does not specify a locale.</doc>
2631         <return-value transfer-ownership="none">
2632           <type name="utf8" c:type="gchar*"/>
2633         </return-value>
2634       </virtual-method>
2635       <method name="get_image_description"
2636               c:identifier="atk_image_get_image_description">
2637         <doc xml:whitespace="preserve">Get a textual description of this image.</doc>
2638         <return-value transfer-ownership="none">
2639           <doc xml:whitespace="preserve">a string representing the image description</doc>
2640           <type name="utf8" c:type="gchar*"/>
2641         </return-value>
2642       </method>
2643       <method name="get_image_size" c:identifier="atk_image_get_image_size">
2644         <doc xml:whitespace="preserve">Get the width and height in pixels for the specified image.
2645 The values of @width and @height are returned as -1 if the
2646 values cannot be obtained (for instance, if the object is not onscreen).</doc>
2647         <return-value transfer-ownership="none">
2648           <type name="none" c:type="void"/>
2649         </return-value>
2650         <parameters>
2651           <parameter name="width"
2652                      direction="out"
2653                      caller-allocates="0"
2654                      transfer-ownership="full">
2655             <doc xml:whitespace="preserve">filled with the image width, or -1 if the value cannot be obtained.</doc>
2656             <type name="int" c:type="gint*"/>
2657           </parameter>
2658           <parameter name="height"
2659                      direction="out"
2660                      caller-allocates="0"
2661                      transfer-ownership="full">
2662             <doc xml:whitespace="preserve">filled with the image height, or -1 if the value cannot be obtained.</doc>
2663             <type name="int" c:type="gint*"/>
2664           </parameter>
2665         </parameters>
2666       </method>
2667       <method name="set_image_description"
2668               c:identifier="atk_image_set_image_description">
2669         <doc xml:whitespace="preserve">Sets the textual description for this image.
2670 not be completed.</doc>
2671         <return-value transfer-ownership="none">
2672           <doc xml:whitespace="preserve">boolean TRUE, or FALSE if operation could</doc>
2673           <type name="boolean" c:type="gboolean"/>
2674         </return-value>
2675         <parameters>
2676           <parameter name="description" transfer-ownership="none">
2677             <doc xml:whitespace="preserve">a string description to set for @image</doc>
2678             <type name="utf8" c:type="gchar*"/>
2679           </parameter>
2680         </parameters>
2681       </method>
2682       <method name="get_image_position"
2683               c:identifier="atk_image_get_image_position">
2684         <doc xml:whitespace="preserve">Gets the position of the image in the form of a point specifying the
2685 images top-left corner.</doc>
2686         <return-value transfer-ownership="none">
2687           <type name="none" c:type="void"/>
2688         </return-value>
2689         <parameters>
2690           <parameter name="x"
2691                      direction="out"
2692                      caller-allocates="0"
2693                      transfer-ownership="full">
2694             <doc xml:whitespace="preserve">address of #gint to put x coordinate position; otherwise, -1 if value cannot be obtained.</doc>
2695             <type name="int" c:type="gint*"/>
2696           </parameter>
2697           <parameter name="y"
2698                      direction="out"
2699                      caller-allocates="0"
2700                      transfer-ownership="full">
2701             <doc xml:whitespace="preserve">address of #gint to put y coordinate position; otherwise, -1 if value cannot be obtained.</doc>
2702             <type name="int" c:type="gint*"/>
2703           </parameter>
2704           <parameter name="coord_type" transfer-ownership="none">
2705             <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
2706             <type name="CoordType" c:type="AtkCoordType"/>
2707           </parameter>
2708         </parameters>
2709       </method>
2710       <method name="get_image_locale"
2711               c:identifier="atk_image_get_image_locale">
2712         <doc xml:whitespace="preserve">Since ATK 1.12
2713 Returns a string corresponding to the POSIX LC_MESSAGES locale used by the image description, or NULL if the image does not specify a locale.</doc>
2714         <return-value transfer-ownership="none">
2715           <type name="utf8" c:type="gchar*"/>
2716         </return-value>
2717       </method>
2718     </interface>
2719     <record name="ImageIface"
2720             c:type="AtkImageIface"
2721             glib:is-gtype-struct-for="Image">
2722       <field name="parent">
2723         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
2724       </field>
2725       <field name="get_image_position">
2726         <callback name="get_image_position" c:type="get_image_position">
2727           <return-value transfer-ownership="none">
2728             <type name="none" c:type="void"/>
2729           </return-value>
2730           <parameters>
2731             <parameter name="image" transfer-ownership="none">
2732               <type name="Image" c:type="AtkImage*"/>
2733             </parameter>
2734             <parameter name="x"
2735                        direction="out"
2736                        caller-allocates="0"
2737                        transfer-ownership="full">
2738               <doc xml:whitespace="preserve">address of #gint to put x coordinate position; otherwise, -1 if value cannot be obtained.</doc>
2739               <type name="int" c:type="gint*"/>
2740             </parameter>
2741             <parameter name="y"
2742                        direction="out"
2743                        caller-allocates="0"
2744                        transfer-ownership="full">
2745               <doc xml:whitespace="preserve">address of #gint to put y coordinate position; otherwise, -1 if value cannot be obtained.</doc>
2746               <type name="int" c:type="gint*"/>
2747             </parameter>
2748             <parameter name="coord_type" transfer-ownership="none">
2749               <doc xml:whitespace="preserve">specifies whether the coordinates are relative to the screen or to the components top level window</doc>
2750               <type name="CoordType" c:type="AtkCoordType"/>
2751             </parameter>
2752           </parameters>
2753         </callback>
2754       </field>
2755       <field name="get_image_description">
2756         <callback name="get_image_description" c:type="get_image_description">
2757           <return-value transfer-ownership="none">
2758             <doc xml:whitespace="preserve">a string representing the image description</doc>
2759             <type name="utf8" c:type="gchar*"/>
2760           </return-value>
2761           <parameters>
2762             <parameter name="image" transfer-ownership="none">
2763               <type name="Image" c:type="AtkImage*"/>
2764             </parameter>
2765           </parameters>
2766         </callback>
2767       </field>
2768       <field name="get_image_size">
2769         <callback name="get_image_size" c:type="get_image_size">
2770           <return-value transfer-ownership="none">
2771             <type name="none" c:type="void"/>
2772           </return-value>
2773           <parameters>
2774             <parameter name="image" transfer-ownership="none">
2775               <type name="Image" c:type="AtkImage*"/>
2776             </parameter>
2777             <parameter name="width"
2778                        direction="out"
2779                        caller-allocates="0"
2780                        transfer-ownership="full">
2781               <doc xml:whitespace="preserve">filled with the image width, or -1 if the value cannot be obtained.</doc>
2782               <type name="int" c:type="gint*"/>
2783             </parameter>
2784             <parameter name="height"
2785                        direction="out"
2786                        caller-allocates="0"
2787                        transfer-ownership="full">
2788               <doc xml:whitespace="preserve">filled with the image height, or -1 if the value cannot be obtained.</doc>
2789               <type name="int" c:type="gint*"/>
2790             </parameter>
2791           </parameters>
2792         </callback>
2793       </field>
2794       <field name="set_image_description">
2795         <callback name="set_image_description" c:type="set_image_description">
2796           <return-value transfer-ownership="none">
2797             <doc xml:whitespace="preserve">boolean TRUE, or FALSE if operation could</doc>
2798             <type name="boolean" c:type="gboolean"/>
2799           </return-value>
2800           <parameters>
2801             <parameter name="image" transfer-ownership="none">
2802               <type name="Image" c:type="AtkImage*"/>
2803             </parameter>
2804             <parameter name="description" transfer-ownership="none">
2805               <doc xml:whitespace="preserve">a string description to set for @image</doc>
2806               <type name="utf8" c:type="gchar*"/>
2807             </parameter>
2808           </parameters>
2809         </callback>
2810       </field>
2811       <field name="get_image_locale">
2812         <callback name="get_image_locale" c:type="get_image_locale">
2813           <return-value transfer-ownership="none">
2814             <type name="utf8" c:type="gchar*"/>
2815           </return-value>
2816           <parameters>
2817             <parameter name="image" transfer-ownership="none">
2818               <type name="Image" c:type="AtkImage*"/>
2819             </parameter>
2820           </parameters>
2821         </callback>
2822       </field>
2823       <field name="pad1">
2824         <type name="Function" c:type="AtkFunction"/>
2825       </field>
2826     </record>
2827     <record name="Implementor" c:type="AtkImplementor">
2828     </record>
2829     <interface name="ImplementorIface"
2830                c:type="AtkImplementorIface"
2831                glib:type-name="AtkImplementorIface"
2832                glib:get-type="atk_implementor_get_type">
2833       <method name="ref_accessible"
2834               c:identifier="atk_implementor_ref_accessible">
2835         <doc xml:whitespace="preserve">Gets a reference to an object's #AtkObject implementation, if
2836 the object implements #AtkObjectIface</doc>
2837         <return-value transfer-ownership="full">
2838           <doc xml:whitespace="preserve">a reference to an object's #AtkObject implementation</doc>
2839           <type name="Object" c:type="AtkObject*"/>
2840         </return-value>
2841       </method>
2842     </interface>
2843     <record name="KeyEventStruct" c:type="AtkKeyEventStruct">
2844       <doc xml:whitespace="preserve">Encapsulates information about a key event.</doc>
2845       <field name="type" writable="1">
2846         <type name="int" c:type="gint"/>
2847       </field>
2848       <field name="state" writable="1">
2849         <type name="uint" c:type="guint"/>
2850       </field>
2851       <field name="keyval" writable="1">
2852         <type name="uint" c:type="guint"/>
2853       </field>
2854       <field name="length" writable="1">
2855         <type name="int" c:type="gint"/>
2856       </field>
2857       <field name="string" writable="1">
2858         <type name="utf8" c:type="gchar*"/>
2859       </field>
2860       <field name="keycode" writable="1">
2861         <type name="uint16" c:type="guint16"/>
2862       </field>
2863       <field name="timestamp" writable="1">
2864         <type name="uint32" c:type="guint32"/>
2865       </field>
2866     </record>
2867     <enumeration name="KeyEventType"
2868                  glib:type-name="AtkKeyEventType"
2869                  glib:get-type="atk_key_event_type_get_type"
2870                  c:type="AtkKeyEventType">
2871       <member name="press"
2872               value="0"
2873               c:identifier="ATK_KEY_EVENT_PRESS"
2874               glib:nick="press"/>
2875       <member name="release"
2876               value="1"
2877               c:identifier="ATK_KEY_EVENT_RELEASE"
2878               glib:nick="release"/>
2879       <member name="last_defined"
2880               value="2"
2881               c:identifier="ATK_KEY_EVENT_LAST_DEFINED"
2882               glib:nick="last-defined"/>
2883     </enumeration>
2884     <callback name="KeySnoopFunc" c:type="AtkKeySnoopFunc">
2885       <doc xml:whitespace="preserve">An #AtkKeySnoopFunc is a type of callback which is called whenever a key event occurs, 
2886 if registered via atk_add_key_event_listener.  It allows for pre-emptive 
2887 interception of key events via the return code as described below.
2888 discarded without being passed to the normal GUI recipient; FALSE (zero) if the 
2889 event dispatch to the client application should proceed as normal.</doc>
2890       <return-value transfer-ownership="none">
2891         <doc xml:whitespace="preserve">TRUE (nonzero) if the event emission should be stopped and the event</doc>
2892         <type name="int" c:type="gint"/>
2893       </return-value>
2894       <parameters>
2895         <parameter name="event" transfer-ownership="none">
2896           <doc xml:whitespace="preserve">an AtkKeyEventStruct containing information about the key event for which notification is being given.</doc>
2897           <type name="KeyEventStruct" c:type="AtkKeyEventStruct*"/>
2898         </parameter>
2899         <parameter name="func_data" transfer-ownership="none">
2900           <doc xml:whitespace="preserve">a block of data which will be passed to the event listener, on notification.</doc>
2901           <type name="any" c:type="gpointer"/>
2902         </parameter>
2903       </parameters>
2904     </callback>
2905     <enumeration name="Layer"
2906                  glib:type-name="AtkLayer"
2907                  glib:get-type="atk_layer_get_type"
2908                  c:type="AtkLayer">
2909       <member name="invalid"
2910               value="0"
2911               c:identifier="ATK_LAYER_INVALID"
2912               glib:nick="invalid"/>
2913       <member name="background"
2914               value="1"
2915               c:identifier="ATK_LAYER_BACKGROUND"
2916               glib:nick="background"/>
2917       <member name="canvas"
2918               value="2"
2919               c:identifier="ATK_LAYER_CANVAS"
2920               glib:nick="canvas"/>
2921       <member name="widget"
2922               value="3"
2923               c:identifier="ATK_LAYER_WIDGET"
2924               glib:nick="widget"/>
2925       <member name="mdi"
2926               value="4"
2927               c:identifier="ATK_LAYER_MDI"
2928               glib:nick="mdi"/>
2929       <member name="popup"
2930               value="5"
2931               c:identifier="ATK_LAYER_POPUP"
2932               glib:nick="popup"/>
2933       <member name="overlay"
2934               value="6"
2935               c:identifier="ATK_LAYER_OVERLAY"
2936               glib:nick="overlay"/>
2937       <member name="window"
2938               value="7"
2939               c:identifier="ATK_LAYER_WINDOW"
2940               glib:nick="window"/>
2941     </enumeration>
2942     <class name="Misc"
2943            c:type="AtkMisc"
2944            parent="GObject.Object"
2945            glib:type-name="AtkMisc"
2946            glib:get-type="atk_misc_get_type"
2947            glib:type-struct="MiscClass">
2948       <function name="get_instance"
2949                 c:identifier="atk_misc_get_instance"
2950                 version="1.13">
2951         <doc xml:whitespace="preserve">Obtain the singleton instance of AtkMisc for this application.</doc>
2952         <return-value transfer-ownership="none">
2953           <doc xml:whitespace="preserve">The singleton instance of AtkMisc for this application.</doc>
2954           <type name="Misc" c:type="AtkMisc*"/>
2955         </return-value>
2956       </function>
2957       <virtual-method name="threads_enter"
2958                       invoker="threads_enter"
2959                       version="1.13">
2960         <doc xml:whitespace="preserve">Take the thread mutex for the GUI toolkit, 
2961 if one exists. 
2962 (This method is implemented by the toolkit ATK implementation layer;
2963 for instance, for GTK+, GAIL implements this via GDK_THREADS_ENTER).</doc>
2964         <return-value transfer-ownership="none">
2965           <type name="none" c:type="void"/>
2966         </return-value>
2967       </virtual-method>
2968       <virtual-method name="threads_leave"
2969                       invoker="threads_leave"
2970                       version="1.13">
2971         <doc xml:whitespace="preserve">Release the thread mutex for the GUI toolkit, 
2972 if one exists. This method, and atk_misc_threads_enter, 
2973 are needed in some situations by threaded application code which 
2974 services ATK requests, since fulfilling ATK requests often
2975 requires calling into the GUI toolkit.  If a long-running or
2976 potentially blocking call takes place inside such a block, it should
2977 be bracketed by atk_misc_threads_leave/atk_misc_threads_enter calls.
2978 (This method is implemented by the toolkit ATK implementation layer;
2979 for instance, for GTK+, GAIL implements this via GDK_THREADS_LEAVE).</doc>
2980         <return-value transfer-ownership="none">
2981           <type name="none" c:type="void"/>
2982         </return-value>
2983       </virtual-method>
2984       <method name="threads_enter"
2985               c:identifier="atk_misc_threads_enter"
2986               version="1.13">
2987         <doc xml:whitespace="preserve">Take the thread mutex for the GUI toolkit, 
2988 if one exists. 
2989 (This method is implemented by the toolkit ATK implementation layer;
2990 for instance, for GTK+, GAIL implements this via GDK_THREADS_ENTER).</doc>
2991         <return-value transfer-ownership="none">
2992           <type name="none" c:type="void"/>
2993         </return-value>
2994       </method>
2995       <method name="threads_leave"
2996               c:identifier="atk_misc_threads_leave"
2997               version="1.13">
2998         <doc xml:whitespace="preserve">Release the thread mutex for the GUI toolkit, 
2999 if one exists. This method, and atk_misc_threads_enter, 
3000 are needed in some situations by threaded application code which 
3001 services ATK requests, since fulfilling ATK requests often
3002 requires calling into the GUI toolkit.  If a long-running or
3003 potentially blocking call takes place inside such a block, it should
3004 be bracketed by atk_misc_threads_leave/atk_misc_threads_enter calls.
3005 (This method is implemented by the toolkit ATK implementation layer;
3006 for instance, for GTK+, GAIL implements this via GDK_THREADS_LEAVE).</doc>
3007         <return-value transfer-ownership="none">
3008           <type name="none" c:type="void"/>
3009         </return-value>
3010       </method>
3011       <field name="parent">
3012         <type name="GObject.Object" c:type="GObject"/>
3013       </field>
3014     </class>
3015     <record name="MiscClass"
3016             c:type="AtkMiscClass"
3017             glib:is-gtype-struct-for="Misc">
3018       <field name="parent">
3019         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
3020       </field>
3021       <field name="threads_enter">
3022         <callback name="threads_enter" c:type="threads_enter">
3023           <return-value transfer-ownership="none">
3024             <type name="none" c:type="void"/>
3025           </return-value>
3026           <parameters>
3027             <parameter name="misc" transfer-ownership="none">
3028               <type name="Misc" c:type="AtkMisc*"/>
3029             </parameter>
3030           </parameters>
3031         </callback>
3032       </field>
3033       <field name="threads_leave">
3034         <callback name="threads_leave" c:type="threads_leave">
3035           <return-value transfer-ownership="none">
3036             <type name="none" c:type="void"/>
3037           </return-value>
3038           <parameters>
3039             <parameter name="misc" transfer-ownership="none">
3040               <type name="Misc" c:type="AtkMisc*"/>
3041             </parameter>
3042           </parameters>
3043         </callback>
3044       </field>
3045       <field name="vfuncs">
3046         <array zero-terminated="0" c:type="gpointer" fixed-size="32">
3047           <type name="any"/>
3048         </array>
3049       </field>
3050     </record>
3051     <class name="NoOpObject"
3052            c:type="AtkNoOpObject"
3053            parent="Object"
3054            glib:type-name="AtkNoOpObject"
3055            glib:get-type="atk_no_op_object_get_type"
3056            glib:type-struct="NoOpObjectClass">
3057       <implements name="Action"/>
3058       <implements name="Component"/>
3059       <implements name="Document"/>
3060       <implements name="EditableText"/>
3061       <implements name="Hypertext"/>
3062       <implements name="Image"/>
3063       <implements name="Selection"/>
3064       <implements name="Table"/>
3065       <implements name="Text"/>
3066       <implements name="Value"/>
3067       <constructor name="new" c:identifier="atk_no_op_object_new">
3068         <doc xml:whitespace="preserve">Provides a default (non-functioning stub) #AtkObject.
3069 Application maintainers should not use this method.</doc>
3070         <return-value transfer-ownership="full">
3071           <doc xml:whitespace="preserve">a default (non-functioning stub) #AtkObject</doc>
3072           <type name="NoOpObject" c:type="AtkObject*"/>
3073         </return-value>
3074         <parameters>
3075           <parameter name="obj" transfer-ownership="none">
3076             <doc xml:whitespace="preserve">a #GObject</doc>
3077             <type name="GObject.Object" c:type="GObject*"/>
3078           </parameter>
3079         </parameters>
3080       </constructor>
3081       <field name="parent">
3082         <type name="Object" c:type="AtkObject"/>
3083       </field>
3084     </class>
3085     <record name="NoOpObjectClass"
3086             c:type="AtkNoOpObjectClass"
3087             glib:is-gtype-struct-for="NoOpObject">
3088       <field name="parent_class">
3089         <type name="ObjectClass" c:type="AtkObjectClass"/>
3090       </field>
3091     </record>
3092     <class name="NoOpObjectFactory"
3093            c:type="AtkNoOpObjectFactory"
3094            parent="ObjectFactory"
3095            glib:type-name="AtkNoOpObjectFactory"
3096            glib:get-type="atk_no_op_object_factory_get_type"
3097            glib:type-struct="NoOpObjectFactoryClass">
3098       <constructor name="new" c:identifier="atk_no_op_object_factory_new">
3099         <doc xml:whitespace="preserve">Creates an instance of an #AtkObjectFactory which generates primitive
3100 (non-functioning) #AtkObjects.</doc>
3101         <return-value transfer-ownership="full">
3102           <doc xml:whitespace="preserve">an instance of an #AtkObjectFactory</doc>
3103           <type name="NoOpObjectFactory" c:type="AtkObjectFactory*"/>
3104         </return-value>
3105       </constructor>
3106       <field name="parent">
3107         <type name="ObjectFactory" c:type="AtkObjectFactory"/>
3108       </field>
3109     </class>
3110     <record name="NoOpObjectFactoryClass"
3111             c:type="AtkNoOpObjectFactoryClass"
3112             glib:is-gtype-struct-for="NoOpObjectFactory">
3113       <field name="parent_class">
3114         <type name="ObjectFactoryClass" c:type="AtkObjectFactoryClass"/>
3115       </field>
3116     </record>
3117     <class name="Object"
3118            c:type="AtkObject"
3119            parent="GObject.Object"
3120            glib:type-name="AtkObject"
3121            glib:get-type="atk_object_get_type"
3122            glib:type-struct="ObjectClass">
3123       <virtual-method name="get_name" invoker="get_name">
3124         <doc xml:whitespace="preserve">Gets the accessible name of the accessible.</doc>
3125         <return-value transfer-ownership="none">
3126           <doc xml:whitespace="preserve">a character string representing the accessible name of the object.</doc>
3127           <type name="utf8" c:type="gchar*"/>
3128         </return-value>
3129       </virtual-method>
3130       <virtual-method name="get_description" invoker="get_description">
3131         <doc xml:whitespace="preserve">Gets the accessible description of the accessible.
3132 of the accessible.</doc>
3133         <return-value transfer-ownership="none">
3134           <doc xml:whitespace="preserve">a character string representing the accessible description</doc>
3135           <type name="utf8" c:type="gchar*"/>
3136         </return-value>
3137       </virtual-method>
3138       <virtual-method name="get_parent" invoker="get_parent">
3139         <doc xml:whitespace="preserve">Gets the accessible parent of the accessible.</doc>
3140         <return-value transfer-ownership="full">
3141           <doc xml:whitespace="preserve">a #AtkObject representing the accessible parent of the accessible</doc>
3142           <type name="Object" c:type="AtkObject*"/>
3143         </return-value>
3144       </virtual-method>
3145       <virtual-method name="get_n_children">
3146         <return-value transfer-ownership="none">
3147           <type name="int" c:type="gint"/>
3148         </return-value>
3149       </virtual-method>
3150       <virtual-method name="ref_child">
3151         <return-value transfer-ownership="full">
3152           <type name="Object" c:type="AtkObject*"/>
3153         </return-value>
3154         <parameters>
3155           <parameter name="i" transfer-ownership="none">
3156             <type name="int" c:type="gint"/>
3157           </parameter>
3158         </parameters>
3159       </virtual-method>
3160       <virtual-method name="get_index_in_parent" invoker="get_index_in_parent">
3161         <doc xml:whitespace="preserve">Gets the 0-based index of this accessible in its parent; returns -1 if the
3162 accessible does not have an accessible parent.</doc>
3163         <return-value transfer-ownership="none">
3164           <doc xml:whitespace="preserve">an integer which is the index of the accessible in its parent</doc>
3165           <type name="int" c:type="gint"/>
3166         </return-value>
3167       </virtual-method>
3168       <virtual-method name="ref_relation_set" invoker="ref_relation_set">
3169         <doc xml:whitespace="preserve">Gets the #AtkRelationSet associated with the object.</doc>
3170         <return-value transfer-ownership="full">
3171           <doc xml:whitespace="preserve">an #AtkRelationSet representing the relation set of the object.</doc>
3172           <type name="RelationSet" c:type="AtkRelationSet*"/>
3173         </return-value>
3174       </virtual-method>
3175       <virtual-method name="get_role" invoker="get_role">
3176         <doc xml:whitespace="preserve">Gets the role of the accessible.</doc>
3177         <return-value transfer-ownership="full">
3178           <doc xml:whitespace="preserve">an #AtkRole which is the role of the accessible</doc>
3179           <type name="Role" c:type="AtkRole"/>
3180         </return-value>
3181       </virtual-method>
3182       <virtual-method name="get_layer">
3183         <return-value transfer-ownership="full">
3184           <type name="Layer" c:type="AtkLayer"/>
3185         </return-value>
3186       </virtual-method>
3187       <virtual-method name="get_mdi_zorder">
3188         <return-value transfer-ownership="none">
3189           <type name="int" c:type="gint"/>
3190         </return-value>
3191       </virtual-method>
3192       <virtual-method name="ref_state_set" invoker="ref_state_set">
3193         <doc xml:whitespace="preserve">Gets a reference to the state set of the accessible; the caller must
3194 unreference it when it is no longer needed.
3195 set of the accessible</doc>
3196         <return-value transfer-ownership="full">
3197           <doc xml:whitespace="preserve">a reference to an #AtkStateSet which is the state</doc>
3198           <type name="StateSet" c:type="AtkStateSet*"/>
3199         </return-value>
3200       </virtual-method>
3201       <virtual-method name="set_name" invoker="set_name">
3202         <doc xml:whitespace="preserve">Sets the accessible name of the accessible.</doc>
3203         <return-value transfer-ownership="none">
3204           <type name="none" c:type="void"/>
3205         </return-value>
3206         <parameters>
3207           <parameter name="name" transfer-ownership="none">
3208             <doc xml:whitespace="preserve">a character string to be set as the accessible name</doc>
3209             <type name="utf8" c:type="gchar*"/>
3210           </parameter>
3211         </parameters>
3212       </virtual-method>
3213       <virtual-method name="set_description" invoker="set_description">
3214         <doc xml:whitespace="preserve">Sets the accessible description of the accessible.</doc>
3215         <return-value transfer-ownership="none">
3216           <type name="none" c:type="void"/>
3217         </return-value>
3218         <parameters>
3219           <parameter name="description" transfer-ownership="none">
3220             <type name="utf8" c:type="gchar*"/>
3221           </parameter>
3222         </parameters>
3223       </virtual-method>
3224       <virtual-method name="set_parent" invoker="set_parent">
3225         <doc xml:whitespace="preserve">Sets the accessible parent of the accessible.</doc>
3226         <return-value transfer-ownership="none">
3227           <type name="none" c:type="void"/>
3228         </return-value>
3229         <parameters>
3230           <parameter name="parent" transfer-ownership="none">
3231             <type name="Object" c:type="AtkObject*"/>
3232           </parameter>
3233         </parameters>
3234       </virtual-method>
3235       <virtual-method name="set_role" invoker="set_role">
3236         <doc xml:whitespace="preserve">Sets the role of the accessible.</doc>
3237         <return-value transfer-ownership="none">
3238           <type name="none" c:type="void"/>
3239         </return-value>
3240         <parameters>
3241           <parameter name="role" transfer-ownership="none">
3242             <type name="Role" c:type="AtkRole"/>
3243           </parameter>
3244         </parameters>
3245       </virtual-method>
3246       <virtual-method name="connect_property_change_handler"
3247                       invoker="connect_property_change_handler">
3248         <doc xml:whitespace="preserve">Specifies a function to be called when a property changes value.
3249 atk_object_remove_property_change_handler()</doc>
3250         <return-value transfer-ownership="none">
3251           <doc xml:whitespace="preserve">a #guint which is the handler id used in</doc>
3252           <type name="uint" c:type="guint"/>
3253         </return-value>
3254         <parameters>
3255           <parameter name="handler" transfer-ownership="none">
3256             <type name="PropertyChangeHandler"
3257                   c:type="AtkPropertyChangeHandler*"/>
3258           </parameter>
3259         </parameters>
3260       </virtual-method>
3261       <virtual-method name="remove_property_change_handler"
3262                       invoker="remove_property_change_handler">
3263         <doc xml:whitespace="preserve">Removes a property change handler.</doc>
3264         <return-value transfer-ownership="none">
3265           <type name="none" c:type="void"/>
3266         </return-value>
3267         <parameters>
3268           <parameter name="handler_id" transfer-ownership="none">
3269             <type name="uint" c:type="guint"/>
3270           </parameter>
3271         </parameters>
3272       </virtual-method>
3273       <virtual-method name="initialize" invoker="initialize">
3274         <doc xml:whitespace="preserve">This function is called when implementing subclasses of #AtkObject.
3275 It does initialization required for the new object. It is intended
3276 that this function should called only in the ..._new() functions used
3277 to create an instance of a subclass of #AtkObject</doc>
3278         <return-value transfer-ownership="none">
3279           <type name="none" c:type="void"/>
3280         </return-value>
3281         <parameters>
3282           <parameter name="data" transfer-ownership="none">
3283             <doc xml:whitespace="preserve">a #gpointer which identifies the object for which the AtkObject was created.</doc>
3284             <type name="any" c:type="gpointer"/>
3285           </parameter>
3286         </parameters>
3287       </virtual-method>
3288       <virtual-method name="get_attributes"
3289                       invoker="get_attributes"
3290                       version="1.12">
3291         <doc xml:whitespace="preserve">Get a list of properties applied to this object as a whole, as an #AtkAttributeSet consisting of 
3292 name-value pairs. As such these attributes may be considered weakly-typed properties or annotations, 
3293 as distinct from strongly-typed object data available via other get/set methods.
3294 Not all objects have explicit "name-value pair" #AtkAttributeSet properties.
3295 the object, or an empty set if the object has no name-value pair attributes assigned to it.</doc>
3296         <return-value transfer-ownership="full">
3297           <doc xml:whitespace="preserve">an #AtkAttributeSet consisting of all explicit properties/annotations applied to</doc>
3298           <type name="AttributeSet" c:type="AtkAttributeSet*"/>
3299         </return-value>
3300       </virtual-method>
3301       <method name="get_name" c:identifier="atk_object_get_name">
3302         <doc xml:whitespace="preserve">Gets the accessible name of the accessible.</doc>
3303         <return-value transfer-ownership="none">
3304           <doc xml:whitespace="preserve">a character string representing the accessible name of the object.</doc>
3305           <type name="utf8" c:type="gchar*"/>
3306         </return-value>
3307       </method>
3308       <method name="get_description" c:identifier="atk_object_get_description">
3309         <doc xml:whitespace="preserve">Gets the accessible description of the accessible.
3310 of the accessible.</doc>
3311         <return-value transfer-ownership="none">
3312           <doc xml:whitespace="preserve">a character string representing the accessible description</doc>
3313           <type name="utf8" c:type="gchar*"/>
3314         </return-value>
3315       </method>
3316       <method name="get_parent" c:identifier="atk_object_get_parent">
3317         <doc xml:whitespace="preserve">Gets the accessible parent of the accessible.</doc>
3318         <return-value transfer-ownership="full">
3319           <doc xml:whitespace="preserve">a #AtkObject representing the accessible parent of the accessible</doc>
3320           <type name="Object" c:type="AtkObject*"/>
3321         </return-value>
3322       </method>
3323       <method name="get_n_accessible_children"
3324               c:identifier="atk_object_get_n_accessible_children">
3325         <doc xml:whitespace="preserve">Gets the number of accessible children of the accessible.
3326 of the accessible.</doc>
3327         <return-value transfer-ownership="none">
3328           <doc xml:whitespace="preserve">an integer representing the number of accessible children</doc>
3329           <type name="int" c:type="gint"/>
3330         </return-value>
3331       </method>
3332       <method name="ref_accessible_child"
3333               c:identifier="atk_object_ref_accessible_child">
3334         <doc xml:whitespace="preserve">Gets a reference to the specified accessible child of the object.
3335 The accessible children are 0-based so the first accessible child is
3336 at index 0, the second at index 1 and so on.
3337 of the accessible.</doc>
3338         <return-value transfer-ownership="full">
3339           <doc xml:whitespace="preserve">an #AtkObject representing the specified accessible child</doc>
3340           <type name="Object" c:type="AtkObject*"/>
3341         </return-value>
3342         <parameters>
3343           <parameter name="i" transfer-ownership="none">
3344             <doc xml:whitespace="preserve">a gint representing the position of the child, starting from 0</doc>
3345             <type name="int" c:type="gint"/>
3346           </parameter>
3347         </parameters>
3348       </method>
3349       <method name="ref_relation_set"
3350               c:identifier="atk_object_ref_relation_set">
3351         <doc xml:whitespace="preserve">Gets the #AtkRelationSet associated with the object.</doc>
3352         <return-value transfer-ownership="full">
3353           <doc xml:whitespace="preserve">an #AtkRelationSet representing the relation set of the object.</doc>
3354           <type name="RelationSet" c:type="AtkRelationSet*"/>
3355         </return-value>
3356       </method>
3357       <method name="get_role" c:identifier="atk_object_get_role">
3358         <doc xml:whitespace="preserve">Gets the role of the accessible.</doc>
3359         <return-value transfer-ownership="full">
3360           <doc xml:whitespace="preserve">an #AtkRole which is the role of the accessible</doc>
3361           <type name="Role" c:type="AtkRole"/>
3362         </return-value>
3363       </method>
3364       <method name="get_attributes"
3365               c:identifier="atk_object_get_attributes"
3366               version="1.12">
3367         <doc xml:whitespace="preserve">Get a list of properties applied to this object as a whole, as an #AtkAttributeSet consisting of 
3368 name-value pairs. As such these attributes may be considered weakly-typed properties or annotations, 
3369 as distinct from strongly-typed object data available via other get/set methods.
3370 Not all objects have explicit "name-value pair" #AtkAttributeSet properties.
3371 the object, or an empty set if the object has no name-value pair attributes assigned to it.</doc>
3372         <return-value transfer-ownership="full">
3373           <doc xml:whitespace="preserve">an #AtkAttributeSet consisting of all explicit properties/annotations applied to</doc>
3374           <type name="AttributeSet" c:type="AtkAttributeSet*"/>
3375         </return-value>
3376       </method>
3377       <method name="ref_state_set" c:identifier="atk_object_ref_state_set">
3378         <doc xml:whitespace="preserve">Gets a reference to the state set of the accessible; the caller must
3379 unreference it when it is no longer needed.
3380 set of the accessible</doc>
3381         <return-value transfer-ownership="full">
3382           <doc xml:whitespace="preserve">a reference to an #AtkStateSet which is the state</doc>
3383           <type name="StateSet" c:type="AtkStateSet*"/>
3384         </return-value>
3385       </method>
3386       <method name="get_index_in_parent"
3387               c:identifier="atk_object_get_index_in_parent">
3388         <doc xml:whitespace="preserve">Gets the 0-based index of this accessible in its parent; returns -1 if the
3389 accessible does not have an accessible parent.</doc>
3390         <return-value transfer-ownership="none">
3391           <doc xml:whitespace="preserve">an integer which is the index of the accessible in its parent</doc>
3392           <type name="int" c:type="gint"/>
3393         </return-value>
3394       </method>
3395       <method name="set_name" c:identifier="atk_object_set_name">
3396         <doc xml:whitespace="preserve">Sets the accessible name of the accessible.</doc>
3397         <return-value transfer-ownership="none">
3398           <type name="none" c:type="void"/>
3399         </return-value>
3400         <parameters>
3401           <parameter name="name" transfer-ownership="none">
3402             <doc xml:whitespace="preserve">a character string to be set as the accessible name</doc>
3403             <type name="utf8" c:type="gchar*"/>
3404           </parameter>
3405         </parameters>
3406       </method>
3407       <method name="set_description" c:identifier="atk_object_set_description">
3408         <doc xml:whitespace="preserve">Sets the accessible description of the accessible.</doc>
3409         <return-value transfer-ownership="none">
3410           <type name="none" c:type="void"/>
3411         </return-value>
3412         <parameters>
3413           <parameter name="description" transfer-ownership="none">
3414             <type name="utf8" c:type="gchar*"/>
3415           </parameter>
3416         </parameters>
3417       </method>
3418       <method name="set_parent" c:identifier="atk_object_set_parent">
3419         <doc xml:whitespace="preserve">Sets the accessible parent of the accessible.</doc>
3420         <return-value transfer-ownership="none">
3421           <type name="none" c:type="void"/>
3422         </return-value>
3423         <parameters>
3424           <parameter name="parent" transfer-ownership="none">
3425             <type name="Object" c:type="AtkObject*"/>
3426           </parameter>
3427         </parameters>
3428       </method>
3429       <method name="set_role" c:identifier="atk_object_set_role">
3430         <doc xml:whitespace="preserve">Sets the role of the accessible.</doc>
3431         <return-value transfer-ownership="none">
3432           <type name="none" c:type="void"/>
3433         </return-value>
3434         <parameters>
3435           <parameter name="role" transfer-ownership="none">
3436             <type name="Role" c:type="AtkRole"/>
3437           </parameter>
3438         </parameters>
3439       </method>
3440       <method name="connect_property_change_handler"
3441               c:identifier="atk_object_connect_property_change_handler">
3442         <doc xml:whitespace="preserve">Specifies a function to be called when a property changes value.
3443 atk_object_remove_property_change_handler()</doc>
3444         <return-value transfer-ownership="none">
3445           <doc xml:whitespace="preserve">a #guint which is the handler id used in</doc>
3446           <type name="uint" c:type="guint"/>
3447         </return-value>
3448         <parameters>
3449           <parameter name="handler" transfer-ownership="none" scope="call">
3450             <type name="PropertyChangeHandler"
3451                   c:type="AtkPropertyChangeHandler*"/>
3452           </parameter>
3453         </parameters>
3454       </method>
3455       <method name="remove_property_change_handler"
3456               c:identifier="atk_object_remove_property_change_handler">
3457         <doc xml:whitespace="preserve">Removes a property change handler.</doc>
3458         <return-value transfer-ownership="none">
3459           <type name="none" c:type="void"/>
3460         </return-value>
3461         <parameters>
3462           <parameter name="handler_id" transfer-ownership="none">
3463             <type name="uint" c:type="guint"/>
3464           </parameter>
3465         </parameters>
3466       </method>
3467       <method name="notify_state_change"
3468               c:identifier="atk_object_notify_state_change">
3469         <doc xml:whitespace="preserve">Emits a state-change signal for the specified state.</doc>
3470         <return-value transfer-ownership="none">
3471           <type name="none" c:type="void"/>
3472         </return-value>
3473         <parameters>
3474           <parameter name="state" transfer-ownership="none">
3475             <doc xml:whitespace="preserve">an #AtkState whose state is changed</doc>
3476             <type name="State" c:type="AtkState"/>
3477           </parameter>
3478           <parameter name="value" transfer-ownership="none">
3479             <type name="boolean" c:type="gboolean"/>
3480           </parameter>
3481         </parameters>
3482       </method>
3483       <method name="initialize" c:identifier="atk_object_initialize">
3484         <doc xml:whitespace="preserve">This function is called when implementing subclasses of #AtkObject.
3485 It does initialization required for the new object. It is intended
3486 that this function should called only in the ..._new() functions used
3487 to create an instance of a subclass of #AtkObject</doc>
3488         <return-value transfer-ownership="none">
3489           <type name="none" c:type="void"/>
3490         </return-value>
3491         <parameters>
3492           <parameter name="data" transfer-ownership="none">
3493             <doc xml:whitespace="preserve">a #gpointer which identifies the object for which the AtkObject was created.</doc>
3494             <type name="any" c:type="gpointer"/>
3495           </parameter>
3496         </parameters>
3497       </method>
3498       <method name="add_relationship"
3499               c:identifier="atk_object_add_relationship">
3500         <doc xml:whitespace="preserve">Adds a relationship of the specified type with the specified target.
3501 Returns TRUE if the relationship is added.</doc>
3502         <return-value transfer-ownership="none">
3503           <type name="boolean" c:type="gboolean"/>
3504         </return-value>
3505         <parameters>
3506           <parameter name="relationship" transfer-ownership="none">
3507             <doc xml:whitespace="preserve">The #AtkRelationType of the relation</doc>
3508             <type name="RelationType" c:type="AtkRelationType"/>
3509           </parameter>
3510           <parameter name="target" transfer-ownership="none">
3511             <doc xml:whitespace="preserve">The #AtkObject which is to be the target of the relation.</doc>
3512             <type name="Object" c:type="AtkObject*"/>
3513           </parameter>
3514         </parameters>
3515       </method>
3516       <method name="remove_relationship"
3517               c:identifier="atk_object_remove_relationship">
3518         <doc xml:whitespace="preserve">Removes a relationship of the specified type with the specified target.
3519 Returns TRUE if the relationship is removed.</doc>
3520         <return-value transfer-ownership="none">
3521           <type name="boolean" c:type="gboolean"/>
3522         </return-value>
3523         <parameters>
3524           <parameter name="relationship" transfer-ownership="none">
3525             <doc xml:whitespace="preserve">The #AtkRelationType of the relation</doc>
3526             <type name="RelationType" c:type="AtkRelationType"/>
3527           </parameter>
3528           <parameter name="target" transfer-ownership="none">
3529             <doc xml:whitespace="preserve">The #AtkObject which is the target of the relation to be removed.</doc>
3530             <type name="Object" c:type="AtkObject*"/>
3531           </parameter>
3532         </parameters>
3533       </method>
3534       <property name="accessible-component-layer" transfer-ownership="none">
3535         <type name="int" c:type="gint"/>
3536       </property>
3537       <property name="accessible-component-mdi-zorder"
3538                 transfer-ownership="none">
3539         <type name="int" c:type="gint"/>
3540       </property>
3541       <property name="accessible-description"
3542                 writable="1"
3543                 transfer-ownership="none">
3544         <type name="utf8" c:type="gchararray"/>
3545       </property>
3546       <property name="accessible-hypertext-nlinks" transfer-ownership="none">
3547         <type name="int" c:type="gint"/>
3548       </property>
3549       <property name="accessible-name" writable="1" transfer-ownership="none">
3550         <type name="utf8" c:type="gchararray"/>
3551       </property>
3552       <property name="accessible-parent"
3553                 writable="1"
3554                 transfer-ownership="none">
3555         <type name="Object" c:type="AtkObject"/>
3556       </property>
3557       <property name="accessible-role" writable="1" transfer-ownership="none">
3558         <type name="int" c:type="gint"/>
3559       </property>
3560       <property name="accessible-table-caption"
3561                 writable="1"
3562                 transfer-ownership="none">
3563         <type name="utf8" c:type="gchararray"/>
3564       </property>
3565       <property name="accessible-table-caption-object"
3566                 writable="1"
3567                 transfer-ownership="none">
3568         <type name="Object" c:type="AtkObject"/>
3569       </property>
3570       <property name="accessible-table-column-description"
3571                 writable="1"
3572                 transfer-ownership="none">
3573         <type name="utf8" c:type="gchararray"/>
3574       </property>
3575       <property name="accessible-table-column-header"
3576                 writable="1"
3577                 transfer-ownership="none">
3578         <type name="Object" c:type="AtkObject"/>
3579       </property>
3580       <property name="accessible-table-row-description"
3581                 writable="1"
3582                 transfer-ownership="none">
3583         <type name="utf8" c:type="gchararray"/>
3584       </property>
3585       <property name="accessible-table-row-header"
3586                 writable="1"
3587                 transfer-ownership="none">
3588         <type name="Object" c:type="AtkObject"/>
3589       </property>
3590       <property name="accessible-table-summary"
3591                 writable="1"
3592                 transfer-ownership="none">
3593         <type name="Object" c:type="AtkObject"/>
3594       </property>
3595       <property name="accessible-value" writable="1" transfer-ownership="none">
3596         <type name="double" c:type="gdouble"/>
3597       </property>
3598       <field name="parent">
3599         <type name="GObject.Object" c:type="GObject"/>
3600       </field>
3601       <field name="description">
3602         <type name="utf8" c:type="gchar*"/>
3603       </field>
3604       <field name="name">
3605         <type name="utf8" c:type="gchar*"/>
3606       </field>
3607       <field name="accessible_parent">
3608         <type name="Object" c:type="AtkObject*"/>
3609       </field>
3610       <field name="role">
3611         <type name="Role" c:type="AtkRole"/>
3612       </field>
3613       <field name="relation_set">
3614         <type name="RelationSet" c:type="AtkRelationSet*"/>
3615       </field>
3616       <field name="layer">
3617         <type name="Layer" c:type="AtkLayer"/>
3618       </field>
3619       <glib:signal name="active-descendant-changed">
3620         <return-value transfer-ownership="full">
3621           <type name="none" c:type="void"/>
3622         </return-value>
3623         <parameters>
3624           <parameter name="object" transfer-ownership="none">
3625             <type name="any" c:type="gpointer"/>
3626           </parameter>
3627         </parameters>
3628       </glib:signal>
3629       <glib:signal name="children-changed">
3630         <return-value transfer-ownership="full">
3631           <type name="none" c:type="void"/>
3632         </return-value>
3633         <parameters>
3634           <parameter name="object" transfer-ownership="none">
3635             <type name="uint" c:type="guint"/>
3636           </parameter>
3637           <parameter name="p0" transfer-ownership="none">
3638             <type name="any" c:type="gpointer"/>
3639           </parameter>
3640         </parameters>
3641       </glib:signal>
3642       <glib:signal name="focus-event">
3643         <return-value transfer-ownership="full">
3644           <type name="none" c:type="void"/>
3645         </return-value>
3646         <parameters>
3647           <parameter name="object" transfer-ownership="none">
3648             <type name="boolean" c:type="gboolean"/>
3649           </parameter>
3650         </parameters>
3651       </glib:signal>
3652       <glib:signal name="property-change">
3653         <return-value transfer-ownership="full">
3654           <type name="none" c:type="void"/>
3655         </return-value>
3656         <parameters>
3657           <parameter name="object" transfer-ownership="none">
3658             <type name="any" c:type="gpointer"/>
3659           </parameter>
3660         </parameters>
3661       </glib:signal>
3662       <glib:signal name="state-change">
3663         <return-value transfer-ownership="full">
3664           <type name="none" c:type="void"/>
3665         </return-value>
3666         <parameters>
3667           <parameter name="object" transfer-ownership="none">
3668             <type name="utf8" c:type="gchararray"/>
3669           </parameter>
3670           <parameter name="p0" transfer-ownership="none">
3671             <type name="boolean" c:type="gboolean"/>
3672           </parameter>
3673         </parameters>
3674       </glib:signal>
3675       <glib:signal name="visible-data-changed">
3676         <return-value transfer-ownership="full">
3677           <type name="none" c:type="void"/>
3678         </return-value>
3679       </glib:signal>
3680     </class>
3681     <record name="ObjectClass"
3682             c:type="AtkObjectClass"
3683             glib:is-gtype-struct-for="Object">
3684       <field name="parent">
3685         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
3686       </field>
3687       <field name="get_name">
3688         <callback name="get_name" c:type="get_name">
3689           <return-value transfer-ownership="none">
3690             <doc xml:whitespace="preserve">a character string representing the accessible name of the object.</doc>
3691             <type name="utf8" c:type="gchar*"/>
3692           </return-value>
3693           <parameters>
3694             <parameter name="accessible" transfer-ownership="none">
3695               <type name="Object" c:type="AtkObject*"/>
3696             </parameter>
3697           </parameters>
3698         </callback>
3699       </field>
3700       <field name="get_description">
3701         <callback name="get_description" c:type="get_description">
3702           <return-value transfer-ownership="none">
3703             <doc xml:whitespace="preserve">a character string representing the accessible description</doc>
3704             <type name="utf8" c:type="gchar*"/>
3705           </return-value>
3706           <parameters>
3707             <parameter name="accessible" transfer-ownership="none">
3708               <type name="Object" c:type="AtkObject*"/>
3709             </parameter>
3710           </parameters>
3711         </callback>
3712       </field>
3713       <field name="get_parent">
3714         <callback name="get_parent" c:type="get_parent">
3715           <return-value transfer-ownership="full">
3716             <doc xml:whitespace="preserve">a #AtkObject representing the accessible parent of the accessible</doc>
3717             <type name="Object" c:type="AtkObject*"/>
3718           </return-value>
3719           <parameters>
3720             <parameter name="accessible" transfer-ownership="none">
3721               <type name="Object" c:type="AtkObject*"/>
3722             </parameter>
3723           </parameters>
3724         </callback>
3725       </field>
3726       <field name="get_n_children">
3727         <callback name="get_n_children" c:type="get_n_children">
3728           <return-value transfer-ownership="none">
3729             <type name="int" c:type="gint"/>
3730           </return-value>
3731           <parameters>
3732             <parameter name="accessible" transfer-ownership="none">
3733               <type name="Object" c:type="AtkObject*"/>
3734             </parameter>
3735           </parameters>
3736         </callback>
3737       </field>
3738       <field name="ref_child">
3739         <callback name="ref_child" c:type="ref_child">
3740           <return-value transfer-ownership="full">
3741             <type name="Object" c:type="AtkObject*"/>
3742           </return-value>
3743           <parameters>
3744             <parameter name="accessible" transfer-ownership="none">
3745               <type name="Object" c:type="AtkObject*"/>
3746             </parameter>
3747             <parameter name="i" transfer-ownership="none">
3748               <type name="int" c:type="gint"/>
3749             </parameter>
3750           </parameters>
3751         </callback>
3752       </field>
3753       <field name="get_index_in_parent">
3754         <callback name="get_index_in_parent" c:type="get_index_in_parent">
3755           <return-value transfer-ownership="none">
3756             <doc xml:whitespace="preserve">an integer which is the index of the accessible in its parent</doc>
3757             <type name="int" c:type="gint"/>
3758           </return-value>
3759           <parameters>
3760             <parameter name="accessible" transfer-ownership="none">
3761               <type name="Object" c:type="AtkObject*"/>
3762             </parameter>
3763           </parameters>
3764         </callback>
3765       </field>
3766       <field name="ref_relation_set">
3767         <callback name="ref_relation_set" c:type="ref_relation_set">
3768           <return-value transfer-ownership="full">
3769             <doc xml:whitespace="preserve">an #AtkRelationSet representing the relation set of the object.</doc>
3770             <type name="RelationSet" c:type="AtkRelationSet*"/>
3771           </return-value>
3772           <parameters>
3773             <parameter name="accessible" transfer-ownership="none">
3774               <type name="Object" c:type="AtkObject*"/>
3775             </parameter>
3776           </parameters>
3777         </callback>
3778       </field>
3779       <field name="get_role">
3780         <callback name="get_role" c:type="get_role">
3781           <return-value transfer-ownership="full">
3782             <doc xml:whitespace="preserve">an #AtkRole which is the role of the accessible</doc>
3783             <type name="Role" c:type="AtkRole"/>
3784           </return-value>
3785           <parameters>
3786             <parameter name="accessible" transfer-ownership="none">
3787               <type name="Object" c:type="AtkObject*"/>
3788             </parameter>
3789           </parameters>
3790         </callback>
3791       </field>
3792       <field name="get_layer">
3793         <callback name="get_layer" c:type="get_layer">
3794           <return-value transfer-ownership="full">
3795             <type name="Layer" c:type="AtkLayer"/>
3796           </return-value>
3797           <parameters>
3798             <parameter name="accessible" transfer-ownership="none">
3799               <type name="Object" c:type="AtkObject*"/>
3800             </parameter>
3801           </parameters>
3802         </callback>
3803       </field>
3804       <field name="get_mdi_zorder">
3805         <callback name="get_mdi_zorder" c:type="get_mdi_zorder">
3806           <return-value transfer-ownership="none">
3807             <type name="int" c:type="gint"/>
3808           </return-value>
3809           <parameters>
3810             <parameter name="accessible" transfer-ownership="none">
3811               <type name="Object" c:type="AtkObject*"/>
3812             </parameter>
3813           </parameters>
3814         </callback>
3815       </field>
3816       <field name="ref_state_set">
3817         <callback name="ref_state_set" c:type="ref_state_set">
3818           <return-value transfer-ownership="full">
3819             <doc xml:whitespace="preserve">a reference to an #AtkStateSet which is the state</doc>
3820             <type name="StateSet" c:type="AtkStateSet*"/>
3821           </return-value>
3822           <parameters>
3823             <parameter name="accessible" transfer-ownership="none">
3824               <type name="Object" c:type="AtkObject*"/>
3825             </parameter>
3826           </parameters>
3827         </callback>
3828       </field>
3829       <field name="set_name">
3830         <callback name="set_name" c:type="set_name">
3831           <return-value transfer-ownership="none">
3832             <type name="none" c:type="void"/>
3833           </return-value>
3834           <parameters>
3835             <parameter name="accessible" transfer-ownership="none">
3836               <type name="Object" c:type="AtkObject*"/>
3837             </parameter>
3838             <parameter name="name" transfer-ownership="none">
3839               <doc xml:whitespace="preserve">a character string to be set as the accessible name</doc>
3840               <type name="utf8" c:type="gchar*"/>
3841             </parameter>
3842           </parameters>
3843         </callback>
3844       </field>
3845       <field name="set_description">
3846         <callback name="set_description" c:type="set_description">
3847           <return-value transfer-ownership="none">
3848             <type name="none" c:type="void"/>
3849           </return-value>
3850           <parameters>
3851             <parameter name="accessible" transfer-ownership="none">
3852               <type name="Object" c:type="AtkObject*"/>
3853             </parameter>
3854             <parameter name="description" transfer-ownership="none">
3855               <type name="utf8" c:type="gchar*"/>
3856             </parameter>
3857           </parameters>
3858         </callback>
3859       </field>
3860       <field name="set_parent">
3861         <callback name="set_parent" c:type="set_parent">
3862           <return-value transfer-ownership="none">
3863             <type name="none" c:type="void"/>
3864           </return-value>
3865           <parameters>
3866             <parameter name="accessible" transfer-ownership="none">
3867               <type name="Object" c:type="AtkObject*"/>
3868             </parameter>
3869             <parameter name="parent" transfer-ownership="none">
3870               <type name="Object" c:type="AtkObject*"/>
3871             </parameter>
3872           </parameters>
3873         </callback>
3874       </field>
3875       <field name="set_role">
3876         <callback name="set_role" c:type="set_role">
3877           <return-value transfer-ownership="none">
3878             <type name="none" c:type="void"/>
3879           </return-value>
3880           <parameters>
3881             <parameter name="accessible" transfer-ownership="none">
3882               <type name="Object" c:type="AtkObject*"/>
3883             </parameter>
3884             <parameter name="role" transfer-ownership="none">
3885               <type name="Role" c:type="AtkRole"/>
3886             </parameter>
3887           </parameters>
3888         </callback>
3889       </field>
3890       <field name="connect_property_change_handler">
3891         <callback name="connect_property_change_handler"
3892                   c:type="connect_property_change_handler">
3893           <return-value transfer-ownership="none">
3894             <doc xml:whitespace="preserve">a #guint which is the handler id used in</doc>
3895             <type name="uint" c:type="guint"/>
3896           </return-value>
3897           <parameters>
3898             <parameter name="accessible" transfer-ownership="none">
3899               <type name="Object" c:type="AtkObject*"/>
3900             </parameter>
3901             <parameter name="handler" transfer-ownership="none">
3902               <type name="PropertyChangeHandler"
3903                     c:type="AtkPropertyChangeHandler*"/>
3904             </parameter>
3905           </parameters>
3906         </callback>
3907       </field>
3908       <field name="remove_property_change_handler">
3909         <callback name="remove_property_change_handler"
3910                   c:type="remove_property_change_handler">
3911           <return-value transfer-ownership="none">
3912             <type name="none" c:type="void"/>
3913           </return-value>
3914           <parameters>
3915             <parameter name="accessible" transfer-ownership="none">
3916               <type name="Object" c:type="AtkObject*"/>
3917             </parameter>
3918             <parameter name="handler_id" transfer-ownership="none">
3919               <type name="uint" c:type="guint"/>
3920             </parameter>
3921           </parameters>
3922         </callback>
3923       </field>
3924       <field name="initialize">
3925         <callback name="initialize" c:type="initialize">
3926           <return-value transfer-ownership="none">
3927             <type name="none" c:type="void"/>
3928           </return-value>
3929           <parameters>
3930             <parameter name="accessible" transfer-ownership="none">
3931               <type name="Object" c:type="AtkObject*"/>
3932             </parameter>
3933             <parameter name="data" transfer-ownership="none">
3934               <doc xml:whitespace="preserve">a #gpointer which identifies the object for which the AtkObject was created.</doc>
3935               <type name="any" c:type="gpointer"/>
3936             </parameter>
3937           </parameters>
3938         </callback>
3939       </field>
3940       <field name="children_changed">
3941         <callback name="children_changed" c:type="children_changed">
3942           <return-value transfer-ownership="none">
3943             <type name="none" c:type="void"/>
3944           </return-value>
3945           <parameters>
3946             <parameter name="accessible" transfer-ownership="none">
3947               <type name="Object" c:type="AtkObject*"/>
3948             </parameter>
3949             <parameter name="change_index" transfer-ownership="none">
3950               <type name="uint" c:type="guint"/>
3951             </parameter>
3952             <parameter name="changed_child" transfer-ownership="none">
3953               <type name="any" c:type="gpointer"/>
3954             </parameter>
3955           </parameters>
3956         </callback>
3957       </field>
3958       <field name="focus_event">
3959         <callback name="focus_event" c:type="focus_event">
3960           <return-value transfer-ownership="none">
3961             <type name="none" c:type="void"/>
3962           </return-value>
3963           <parameters>
3964             <parameter name="accessible" transfer-ownership="none">
3965               <type name="Object" c:type="AtkObject*"/>
3966             </parameter>
3967             <parameter name="focus_in" transfer-ownership="none">
3968               <type name="boolean" c:type="gboolean"/>
3969             </parameter>
3970           </parameters>
3971         </callback>
3972       </field>
3973       <field name="property_change">
3974         <callback name="property_change" c:type="property_change">
3975           <return-value transfer-ownership="none">
3976             <type name="none" c:type="void"/>
3977           </return-value>
3978           <parameters>
3979             <parameter name="accessible" transfer-ownership="none">
3980               <type name="Object" c:type="AtkObject*"/>
3981             </parameter>
3982             <parameter name="values" transfer-ownership="none">
3983               <type name="PropertyValues" c:type="AtkPropertyValues*"/>
3984             </parameter>
3985           </parameters>
3986         </callback>
3987       </field>
3988       <field name="state_change">
3989         <callback name="state_change" c:type="state_change">
3990           <return-value transfer-ownership="none">
3991             <type name="none" c:type="void"/>
3992           </return-value>
3993           <parameters>
3994             <parameter name="accessible" transfer-ownership="none">
3995               <type name="Object" c:type="AtkObject*"/>
3996             </parameter>
3997             <parameter name="name" transfer-ownership="none">
3998               <type name="utf8" c:type="gchar*"/>
3999             </parameter>
4000             <parameter name="state_set" transfer-ownership="none">
4001               <type name="boolean" c:type="gboolean"/>
4002             </parameter>
4003           </parameters>
4004         </callback>
4005       </field>
4006       <field name="visible_data_changed">
4007         <callback name="visible_data_changed" c:type="visible_data_changed">
4008           <return-value transfer-ownership="none">
4009             <type name="none" c:type="void"/>
4010           </return-value>
4011           <parameters>
4012             <parameter name="accessible" transfer-ownership="none">
4013               <type name="Object" c:type="AtkObject*"/>
4014             </parameter>
4015           </parameters>
4016         </callback>
4017       </field>
4018       <field name="active_descendant_changed">
4019         <callback name="active_descendant_changed"
4020                   c:type="active_descendant_changed">
4021           <return-value transfer-ownership="none">
4022             <type name="none" c:type="void"/>
4023           </return-value>
4024           <parameters>
4025             <parameter name="accessible" transfer-ownership="none">
4026               <type name="Object" c:type="AtkObject*"/>
4027             </parameter>
4028             <parameter name="child" transfer-ownership="none">
4029               <type name="any" c:type="gpointer*"/>
4030             </parameter>
4031           </parameters>
4032         </callback>
4033       </field>
4034       <field name="get_attributes">
4035         <callback name="get_attributes" c:type="get_attributes">
4036           <return-value transfer-ownership="full">
4037             <doc xml:whitespace="preserve">an #AtkAttributeSet consisting of all explicit properties/annotations applied to</doc>
4038             <type name="AttributeSet" c:type="AtkAttributeSet*"/>
4039           </return-value>
4040           <parameters>
4041             <parameter name="accessible" transfer-ownership="none">
4042               <type name="Object" c:type="AtkObject*"/>
4043             </parameter>
4044           </parameters>
4045         </callback>
4046       </field>
4047       <field name="pad1">
4048         <type name="Function" c:type="AtkFunction"/>
4049       </field>
4050       <field name="pad2">
4051         <type name="Function" c:type="AtkFunction"/>
4052       </field>
4053     </record>
4054     <class name="ObjectFactory"
4055            c:type="AtkObjectFactory"
4056            parent="GObject.Object"
4057            glib:type-name="AtkObjectFactory"
4058            glib:get-type="atk_object_factory_get_type"
4059            glib:type-struct="ObjectFactoryClass">
4060       <virtual-method name="invalidate" invoker="invalidate">
4061         <doc xml:whitespace="preserve">Inform @factory that it is no longer being used to create
4062 accessibles. When called, @factory may need to inform
4063 #AtkObjects which it has created that they need to be re-instantiated.
4064 in object registries.</doc>
4065         <return-value transfer-ownership="none">
4066           <type name="none" c:type="void"/>
4067         </return-value>
4068       </virtual-method>
4069       <method name="create_accessible"
4070               c:identifier="atk_object_factory_create_accessible">
4071         <doc xml:whitespace="preserve">Provides an #AtkObject that implements an accessibility interface 
4072 on behalf of @obj
4073 on behalf of @obj</doc>
4074         <return-value transfer-ownership="full">
4075           <doc xml:whitespace="preserve">an #AtkObject that implements an accessibility interface</doc>
4076           <type name="Object" c:type="AtkObject*"/>
4077         </return-value>
4078         <parameters>
4079           <parameter name="obj" transfer-ownership="none">
4080             <doc xml:whitespace="preserve">a #GObject</doc>
4081             <type name="GObject.Object" c:type="GObject*"/>
4082           </parameter>
4083         </parameters>
4084       </method>
4085       <method name="invalidate" c:identifier="atk_object_factory_invalidate">
4086         <doc xml:whitespace="preserve">Inform @factory that it is no longer being used to create
4087 accessibles. When called, @factory may need to inform
4088 #AtkObjects which it has created that they need to be re-instantiated.
4089 in object registries.</doc>
4090         <return-value transfer-ownership="none">
4091           <type name="none" c:type="void"/>
4092         </return-value>
4093       </method>
4094       <method name="get_accessible_type"
4095               c:identifier="atk_object_factory_get_accessible_type">
4096         <doc xml:whitespace="preserve">Gets the GType of the accessible which is created by the factory. 
4097 The value G_TYPE_INVALID is returned if no type if found.</doc>
4098         <return-value transfer-ownership="none">
4099           <doc xml:whitespace="preserve">the type of the accessible which is created by the @factory.</doc>
4100           <type name="GType" c:type="GType"/>
4101         </return-value>
4102       </method>
4103       <field name="parent">
4104         <type name="GObject.Object" c:type="GObject"/>
4105       </field>
4106     </class>
4107     <record name="ObjectFactoryClass"
4108             c:type="AtkObjectFactoryClass"
4109             glib:is-gtype-struct-for="ObjectFactory">
4110       <field name="parent_class">
4111         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
4112       </field>
4113       <field name="create_accessible">
4114         <callback name="create_accessible" c:type="create_accessible">
4115           <return-value transfer-ownership="full">
4116             <type name="Object" c:type="AtkObject*"/>
4117           </return-value>
4118           <parameters>
4119             <parameter name="obj" transfer-ownership="none">
4120               <type name="GObject.Object" c:type="GObject*"/>
4121             </parameter>
4122           </parameters>
4123         </callback>
4124       </field>
4125       <field name="invalidate">
4126         <callback name="invalidate" c:type="invalidate">
4127           <return-value transfer-ownership="none">
4128             <type name="none" c:type="void"/>
4129           </return-value>
4130           <parameters>
4131             <parameter name="factory" transfer-ownership="none">
4132               <type name="ObjectFactory" c:type="AtkObjectFactory*"/>
4133             </parameter>
4134           </parameters>
4135         </callback>
4136       </field>
4137       <field name="get_accessible_type">
4138         <callback name="get_accessible_type" c:type="get_accessible_type">
4139           <return-value transfer-ownership="none">
4140             <type name="GType" c:type="GType"/>
4141           </return-value>
4142         </callback>
4143       </field>
4144       <field name="pad1">
4145         <type name="Function" c:type="AtkFunction"/>
4146       </field>
4147       <field name="pad2">
4148         <type name="Function" c:type="AtkFunction"/>
4149       </field>
4150     </record>
4151     <class name="Plug"
4152            c:type="AtkPlug"
4153            parent="Object"
4154            glib:type-name="AtkPlug"
4155            glib:get-type="atk_plug_get_type"
4156            glib:type-struct="PlugClass">
4157       <implements name="Component"/>
4158       <constructor name="new" c:identifier="atk_plug_new">
4159         <return-value transfer-ownership="full">
4160           <type name="Plug" c:type="AtkObject*"/>
4161         </return-value>
4162       </constructor>
4163       <virtual-method name="get_object_id">
4164         <return-value transfer-ownership="full">
4165           <type name="utf8" c:type="gchar*"/>
4166         </return-value>
4167       </virtual-method>
4168       <method name="get_id" c:identifier="atk_plug_get_id">
4169         <return-value transfer-ownership="full">
4170           <type name="utf8" c:type="gchar*"/>
4171         </return-value>
4172       </method>
4173       <field name="parent">
4174         <type name="Object" c:type="AtkObject"/>
4175       </field>
4176     </class>
4177     <record name="PlugClass"
4178             c:type="AtkPlugClass"
4179             glib:is-gtype-struct-for="Plug">
4180       <field name="parent_class">
4181         <type name="ObjectClass" c:type="AtkObjectClass"/>
4182       </field>
4183       <field name="get_object_id">
4184         <callback name="get_object_id" c:type="get_object_id">
4185           <return-value transfer-ownership="full">
4186             <type name="utf8" c:type="gchar*"/>
4187           </return-value>
4188           <parameters>
4189             <parameter name="obj" transfer-ownership="none">
4190               <type name="Plug" c:type="AtkPlug*"/>
4191             </parameter>
4192           </parameters>
4193         </callback>
4194       </field>
4195     </record>
4196     <callback name="PropertyChangeHandler" c:type="AtkPropertyChangeHandler">
4197       <return-value transfer-ownership="none">
4198         <type name="none" c:type="void"/>
4199       </return-value>
4200       <parameters>
4201         <parameter transfer-ownership="none">
4202           <type name="Object" c:type="AtkObject*"/>
4203         </parameter>
4204         <parameter transfer-ownership="none">
4205           <type name="PropertyValues" c:type="AtkPropertyValues*"/>
4206         </parameter>
4207       </parameters>
4208     </callback>
4209     <record name="PropertyValues" c:type="_AtkPropertyValues">
4210     </record>
4211     <record name="Rectangle"
4212             c:type="AtkRectangle"
4213             glib:type-name="AtkRectangle"
4214             glib:get-type="atk_rectangle_get_type">
4215       <field name="x" writable="1">
4216         <type name="int" c:type="gint"/>
4217       </field>
4218       <field name="y" writable="1">
4219         <type name="int" c:type="gint"/>
4220       </field>
4221       <field name="width" writable="1">
4222         <type name="int" c:type="gint"/>
4223       </field>
4224       <field name="height" writable="1">
4225         <type name="int" c:type="gint"/>
4226       </field>
4227     </record>
4228     <class name="Registry"
4229            c:type="AtkRegistry"
4230            parent="GObject.Object"
4231            glib:type-name="AtkRegistry"
4232            glib:get-type="atk_registry_get_type"
4233            glib:type-struct="RegistryClass">
4234       <method name="set_factory_type"
4235               c:identifier="atk_registry_set_factory_type">
4236         <doc xml:whitespace="preserve">Associate an #AtkObjectFactory subclass with a #GType. Note:
4237 The associated @factory_type will thereafter be responsible for
4238 the creation of new #AtkObject implementations for instances
4239 appropriate for @type.</doc>
4240         <return-value transfer-ownership="none">
4241           <type name="none" c:type="void"/>
4242         </return-value>
4243         <parameters>
4244           <parameter name="type" transfer-ownership="none">
4245             <doc xml:whitespace="preserve">an #AtkObject type</doc>
4246             <type name="GType" c:type="GType"/>
4247           </parameter>
4248           <parameter name="factory_type" transfer-ownership="none">
4249             <doc xml:whitespace="preserve">an #AtkObjectFactory type to associate with @type.  Must implement AtkObject appropriate for @type.</doc>
4250             <type name="GType" c:type="GType"/>
4251           </parameter>
4252         </parameters>
4253       </method>
4254       <method name="get_factory_type"
4255               c:identifier="atk_registry_get_factory_type">
4256         <doc xml:whitespace="preserve">Provides a #GType indicating the #AtkObjectFactory subclass
4257 associated with @type.</doc>
4258         <return-value transfer-ownership="none">
4259           <doc xml:whitespace="preserve">a #GType associated with type @type</doc>
4260           <type name="GType" c:type="GType"/>
4261         </return-value>
4262         <parameters>
4263           <parameter name="type" transfer-ownership="none">
4264             <doc xml:whitespace="preserve">a #GType with which to look up the associated #AtkObjectFactory subclass</doc>
4265             <type name="GType" c:type="GType"/>
4266           </parameter>
4267         </parameters>
4268       </method>
4269       <method name="get_factory" c:identifier="atk_registry_get_factory">
4270         <doc xml:whitespace="preserve">Gets an #AtkObjectFactory appropriate for creating #AtkObjects
4271 appropriate for @type.
4272 appropriate for @type.</doc>
4273         <return-value transfer-ownership="full">
4274           <doc xml:whitespace="preserve">an #AtkObjectFactory appropriate for creating #AtkObjects</doc>
4275           <type name="ObjectFactory" c:type="AtkObjectFactory*"/>
4276         </return-value>
4277         <parameters>
4278           <parameter name="type" transfer-ownership="none">
4279             <doc xml:whitespace="preserve">a #GType with which to look up the associated #AtkObjectFactory</doc>
4280             <type name="GType" c:type="GType"/>
4281           </parameter>
4282         </parameters>
4283       </method>
4284     </class>
4285     <record name="RegistryClass"
4286             c:type="_AtkRegistryClass"
4287             glib:is-gtype-struct-for="Registry">
4288     </record>
4289     <class name="Relation"
4290            c:type="AtkRelation"
4291            parent="GObject.Object"
4292            glib:type-name="AtkRelation"
4293            glib:get-type="atk_relation_get_type"
4294            glib:type-struct="RelationClass">
4295       <constructor name="new" c:identifier="atk_relation_new">
4296         <doc xml:whitespace="preserve">Create a new relation for the specified key and the specified list
4297 of targets.  See also atk_object_add_relationship().</doc>
4298         <return-value transfer-ownership="full">
4299           <doc xml:whitespace="preserve">a pointer to a new #AtkRelation</doc>
4300           <type name="Relation" c:type="AtkRelation*"/>
4301         </return-value>
4302         <parameters>
4303           <parameter name="targets" transfer-ownership="none">
4304             <doc xml:whitespace="preserve">an array of pointers to #AtkObjects</doc>
4305             <type name="Object" c:type="AtkObject**"/>
4306           </parameter>
4307           <parameter name="n_targets" transfer-ownership="none">
4308             <doc xml:whitespace="preserve">number of #AtkObjects pointed to by @targets</doc>
4309             <type name="int" c:type="gint"/>
4310           </parameter>
4311           <parameter name="relationship" transfer-ownership="none">
4312             <doc xml:whitespace="preserve">an #AtkRelationType with which to create the new #AtkRelation</doc>
4313             <type name="RelationType" c:type="AtkRelationType"/>
4314           </parameter>
4315         </parameters>
4316       </constructor>
4317       <function name="type_register" c:identifier="atk_relation_type_register">
4318         <doc xml:whitespace="preserve">Associate @name with a new #AtkRelationType</doc>
4319         <return-value transfer-ownership="full">
4320           <doc xml:whitespace="preserve">an #AtkRelationType associated with @name</doc>
4321           <type name="RelationType" c:type="AtkRelationType"/>
4322         </return-value>
4323         <parameters>
4324           <parameter name="name" transfer-ownership="none">
4325             <doc xml:whitespace="preserve">a name string</doc>
4326             <type name="utf8" c:type="gchar*"/>
4327           </parameter>
4328         </parameters>
4329       </function>
4330       <function name="type_get_name" c:identifier="atk_relation_type_get_name">
4331         <doc xml:whitespace="preserve">Gets the description string describing the #AtkRelationType @type.</doc>
4332         <return-value transfer-ownership="none">
4333           <doc xml:whitespace="preserve">the string describing the AtkRelationType</doc>
4334           <type name="utf8" c:type="gchar*"/>
4335         </return-value>
4336         <parameters>
4337           <parameter name="type" transfer-ownership="none">
4338             <doc xml:whitespace="preserve">The #AtkRelationType whose name is required</doc>
4339             <type name="RelationType" c:type="AtkRelationType"/>
4340           </parameter>
4341         </parameters>
4342       </function>
4343       <function name="type_for_name" c:identifier="atk_relation_type_for_name">
4344         <doc xml:whitespace="preserve">Get the #AtkRelationType type corresponding to a relation name.
4345 or #ATK_RELATION_NULL if no matching relation type is found.</doc>
4346         <return-value transfer-ownership="full">
4347           <doc xml:whitespace="preserve">the #AtkRelationType enumerated type corresponding to the specified name,</doc>
4348           <type name="RelationType" c:type="AtkRelationType"/>
4349         </return-value>
4350         <parameters>
4351           <parameter name="name" transfer-ownership="none">
4352             <doc xml:whitespace="preserve">a string which is the (non-localized) name of an ATK relation type.</doc>
4353             <type name="utf8" c:type="gchar*"/>
4354           </parameter>
4355         </parameters>
4356       </function>
4357       <method name="get_relation_type"
4358               c:identifier="atk_relation_get_relation_type">
4359         <doc xml:whitespace="preserve">Gets the type of @relation</doc>
4360         <return-value transfer-ownership="full">
4361           <doc xml:whitespace="preserve">the type of @relation</doc>
4362           <type name="RelationType" c:type="AtkRelationType"/>
4363         </return-value>
4364       </method>
4365       <method name="get_target" c:identifier="atk_relation_get_target">
4366         <doc xml:whitespace="preserve">Gets the target list of @relation</doc>
4367         <return-value transfer-ownership="full">
4368           <doc xml:whitespace="preserve">the target list of @relation</doc>
4369           <array name="GLib.PtrArray" c:type="GPtrArray*">
4370             <type name="any" c:type="gpointer"/>
4371           </array>
4372         </return-value>
4373       </method>
4374       <method name="add_target"
4375               c:identifier="atk_relation_add_target"
4376               version="1.9">
4377         <doc xml:whitespace="preserve">Adds the specified AtkObject to the target for the relation, if it is
4378 not already present.  See also atk_object_add_relationship().</doc>
4379         <return-value transfer-ownership="none">
4380           <type name="none" c:type="void"/>
4381         </return-value>
4382         <parameters>
4383           <parameter name="target" transfer-ownership="none">
4384             <doc xml:whitespace="preserve">an #AtkObject</doc>
4385             <type name="Object" c:type="AtkObject*"/>
4386           </parameter>
4387         </parameters>
4388       </method>
4389       <method name="remove_target" c:identifier="atk_relation_remove_target">
4390         <doc xml:whitespace="preserve">Remove the specified AtkObject from the target for the relation.
4391 Returns TRUE if the removal is successful.</doc>
4392         <return-value transfer-ownership="none">
4393           <type name="boolean" c:type="gboolean"/>
4394         </return-value>
4395         <parameters>
4396           <parameter name="target" transfer-ownership="none">
4397             <doc xml:whitespace="preserve">an #AtkObject</doc>
4398             <type name="Object" c:type="AtkObject*"/>
4399           </parameter>
4400         </parameters>
4401       </method>
4402       <property name="relation-type" writable="1" transfer-ownership="none">
4403         <type name="RelationType" c:type="AtkRelationType"/>
4404       </property>
4405       <property name="target" writable="1" transfer-ownership="none">
4406         <type name="GObject.ValueArray" c:type="GValueArray"/>
4407       </property>
4408       <field name="parent">
4409         <type name="GObject.Object" c:type="GObject"/>
4410       </field>
4411       <field name="target">
4412         <type name="GLib.PtrArray" c:type="GPtrArray*"/>
4413       </field>
4414       <field name="relationship">
4415         <type name="RelationType" c:type="AtkRelationType"/>
4416       </field>
4417     </class>
4418     <record name="RelationClass"
4419             c:type="AtkRelationClass"
4420             glib:is-gtype-struct-for="Relation">
4421       <field name="parent">
4422         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
4423       </field>
4424     </record>
4425     <class name="RelationSet"
4426            c:type="AtkRelationSet"
4427            parent="GObject.Object"
4428            glib:type-name="AtkRelationSet"
4429            glib:get-type="atk_relation_set_get_type"
4430            glib:type-struct="RelationSetClass">
4431       <constructor name="new" c:identifier="atk_relation_set_new">
4432         <doc xml:whitespace="preserve">Creates a new empty relation set.</doc>
4433         <return-value transfer-ownership="full">
4434           <doc xml:whitespace="preserve">a new #AtkRelationSet</doc>
4435           <type name="RelationSet" c:type="AtkRelationSet*"/>
4436         </return-value>
4437       </constructor>
4438       <method name="contains" c:identifier="atk_relation_set_contains">
4439         <doc xml:whitespace="preserve">Determines whether the relation set contains a relation that matches the
4440 specified type.
4441 in @set, %FALSE otherwise</doc>
4442         <return-value transfer-ownership="none">
4443           <doc xml:whitespace="preserve">%TRUE if @relationship is the relationship type of a relation</doc>
4444           <type name="boolean" c:type="gboolean"/>
4445         </return-value>
4446         <parameters>
4447           <parameter name="relationship" transfer-ownership="none">
4448             <doc xml:whitespace="preserve">an #AtkRelationType</doc>
4449             <type name="RelationType" c:type="AtkRelationType"/>
4450           </parameter>
4451         </parameters>
4452       </method>
4453       <method name="remove" c:identifier="atk_relation_set_remove">
4454         <doc xml:whitespace="preserve">Removes a relation from the relation set.
4455 This function unref's the #AtkRelation so it will be deleted unless there
4456 is another reference to it.</doc>
4457         <return-value transfer-ownership="none">
4458           <type name="none" c:type="void"/>
4459         </return-value>
4460         <parameters>
4461           <parameter name="relation" transfer-ownership="none">
4462             <doc xml:whitespace="preserve">an #AtkRelation</doc>
4463             <type name="Relation" c:type="AtkRelation*"/>
4464           </parameter>
4465         </parameters>
4466       </method>
4467       <method name="add" c:identifier="atk_relation_set_add">
4468         <doc xml:whitespace="preserve">Add a new relation to the current relation set if it is not already
4469 present.
4470 This function ref's the AtkRelation so the caller of this function
4471 should unref it to ensure that it will be destroyed when the AtkRelationSet
4472 is destroyed.</doc>
4473         <return-value transfer-ownership="none">
4474           <type name="none" c:type="void"/>
4475         </return-value>
4476         <parameters>
4477           <parameter name="relation" transfer-ownership="none">
4478             <doc xml:whitespace="preserve">an #AtkRelation</doc>
4479             <type name="Relation" c:type="AtkRelation*"/>
4480           </parameter>
4481         </parameters>
4482       </method>
4483       <method name="get_n_relations"
4484               c:identifier="atk_relation_set_get_n_relations">
4485         <doc xml:whitespace="preserve">Determines the number of relations in a relation set.</doc>
4486         <return-value transfer-ownership="none">
4487           <doc xml:whitespace="preserve">an integer representing the number of relations in the set.</doc>
4488           <type name="int" c:type="gint"/>
4489         </return-value>
4490       </method>
4491       <method name="get_relation" c:identifier="atk_relation_set_get_relation">
4492         <return-value transfer-ownership="full">
4493           <type name="Relation" c:type="AtkRelation*"/>
4494         </return-value>
4495         <parameters>
4496           <parameter name="i" transfer-ownership="none">
4497             <type name="int" c:type="gint"/>
4498           </parameter>
4499         </parameters>
4500       </method>
4501       <method name="get_relation_by_type"
4502               c:identifier="atk_relation_set_get_relation_by_type">
4503         <doc xml:whitespace="preserve">Finds a relation that matches the specified type.</doc>
4504         <return-value transfer-ownership="full">
4505           <doc xml:whitespace="preserve">an #AtkRelation, which is a relation matching the specified type.</doc>
4506           <type name="Relation" c:type="AtkRelation*"/>
4507         </return-value>
4508         <parameters>
4509           <parameter name="relationship" transfer-ownership="none">
4510             <doc xml:whitespace="preserve">an #AtkRelationType</doc>
4511             <type name="RelationType" c:type="AtkRelationType"/>
4512           </parameter>
4513         </parameters>
4514       </method>
4515       <method name="add_relation_by_type"
4516               c:identifier="atk_relation_set_add_relation_by_type"
4517               version="1.9">
4518         <doc xml:whitespace="preserve">Add a new relation of the specified type with the specified target to 
4519 the current relation set if the relation set does not contain a relation
4520 of that type. If it is does contain a relation of that typea the target
4521 is added to the relation.</doc>
4522         <return-value transfer-ownership="none">
4523           <type name="none" c:type="void"/>
4524         </return-value>
4525         <parameters>
4526           <parameter name="relationship" transfer-ownership="none">
4527             <doc xml:whitespace="preserve">an #AtkRelationType</doc>
4528             <type name="RelationType" c:type="AtkRelationType"/>
4529           </parameter>
4530           <parameter name="target" transfer-ownership="none">
4531             <doc xml:whitespace="preserve">an #AtkObject</doc>
4532             <type name="Object" c:type="AtkObject*"/>
4533           </parameter>
4534         </parameters>
4535       </method>
4536       <field name="parent">
4537         <type name="GObject.Object" c:type="GObject"/>
4538       </field>
4539       <field name="relations">
4540         <type name="GLib.PtrArray" c:type="GPtrArray*"/>
4541       </field>
4542     </class>
4543     <record name="RelationSetClass"
4544             c:type="AtkRelationSetClass"
4545             glib:is-gtype-struct-for="RelationSet">
4546       <field name="parent">
4547         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
4548       </field>
4549       <field name="pad1">
4550         <type name="Function" c:type="AtkFunction"/>
4551       </field>
4552       <field name="pad2">
4553         <type name="Function" c:type="AtkFunction"/>
4554       </field>
4555     </record>
4556     <enumeration name="RelationType"
4557                  glib:type-name="AtkRelationType"
4558                  glib:get-type="atk_relation_type_get_type"
4559                  c:type="AtkRelationType">
4560       <member name="null"
4561               value="0"
4562               c:identifier="ATK_RELATION_NULL"
4563               glib:nick="null"/>
4564       <member name="controlled_by"
4565               value="1"
4566               c:identifier="ATK_RELATION_CONTROLLED_BY"
4567               glib:nick="controlled-by"/>
4568       <member name="controller_for"
4569               value="2"
4570               c:identifier="ATK_RELATION_CONTROLLER_FOR"
4571               glib:nick="controller-for"/>
4572       <member name="label_for"
4573               value="3"
4574               c:identifier="ATK_RELATION_LABEL_FOR"
4575               glib:nick="label-for"/>
4576       <member name="labelled_by"
4577               value="4"
4578               c:identifier="ATK_RELATION_LABELLED_BY"
4579               glib:nick="labelled-by"/>
4580       <member name="member_of"
4581               value="5"
4582               c:identifier="ATK_RELATION_MEMBER_OF"
4583               glib:nick="member-of"/>
4584       <member name="node_child_of"
4585               value="6"
4586               c:identifier="ATK_RELATION_NODE_CHILD_OF"
4587               glib:nick="node-child-of"/>
4588       <member name="flows_to"
4589               value="7"
4590               c:identifier="ATK_RELATION_FLOWS_TO"
4591               glib:nick="flows-to"/>
4592       <member name="flows_from"
4593               value="8"
4594               c:identifier="ATK_RELATION_FLOWS_FROM"
4595               glib:nick="flows-from"/>
4596       <member name="subwindow_of"
4597               value="9"
4598               c:identifier="ATK_RELATION_SUBWINDOW_OF"
4599               glib:nick="subwindow-of"/>
4600       <member name="embeds"
4601               value="10"
4602               c:identifier="ATK_RELATION_EMBEDS"
4603               glib:nick="embeds"/>
4604       <member name="embedded_by"
4605               value="11"
4606               c:identifier="ATK_RELATION_EMBEDDED_BY"
4607               glib:nick="embedded-by"/>
4608       <member name="popup_for"
4609               value="12"
4610               c:identifier="ATK_RELATION_POPUP_FOR"
4611               glib:nick="popup-for"/>
4612       <member name="parent_window_of"
4613               value="13"
4614               c:identifier="ATK_RELATION_PARENT_WINDOW_OF"
4615               glib:nick="parent-window-of"/>
4616       <member name="described_by"
4617               value="14"
4618               c:identifier="ATK_RELATION_DESCRIBED_BY"
4619               glib:nick="described-by"/>
4620       <member name="description_for"
4621               value="15"
4622               c:identifier="ATK_RELATION_DESCRIPTION_FOR"
4623               glib:nick="description-for"/>
4624       <member name="node_parent_of"
4625               value="16"
4626               c:identifier="ATK_RELATION_NODE_PARENT_OF"
4627               glib:nick="node-parent-of"/>
4628       <member name="last_defined"
4629               value="17"
4630               c:identifier="ATK_RELATION_LAST_DEFINED"
4631               glib:nick="last-defined"/>
4632     </enumeration>
4633     <enumeration name="Role"
4634                  glib:type-name="AtkRole"
4635                  glib:get-type="atk_role_get_type"
4636                  c:type="AtkRole">
4637       <member name="invalid"
4638               value="0"
4639               c:identifier="ATK_ROLE_INVALID"
4640               glib:nick="invalid"/>
4641       <member name="accel_label"
4642               value="1"
4643               c:identifier="ATK_ROLE_ACCEL_LABEL"
4644               glib:nick="accel-label"/>
4645       <member name="alert"
4646               value="2"
4647               c:identifier="ATK_ROLE_ALERT"
4648               glib:nick="alert"/>
4649       <member name="animation"
4650               value="3"
4651               c:identifier="ATK_ROLE_ANIMATION"
4652               glib:nick="animation"/>
4653       <member name="arrow"
4654               value="4"
4655               c:identifier="ATK_ROLE_ARROW"
4656               glib:nick="arrow"/>
4657       <member name="calendar"
4658               value="5"
4659               c:identifier="ATK_ROLE_CALENDAR"
4660               glib:nick="calendar"/>
4661       <member name="canvas"
4662               value="6"
4663               c:identifier="ATK_ROLE_CANVAS"
4664               glib:nick="canvas"/>
4665       <member name="check_box"
4666               value="7"
4667               c:identifier="ATK_ROLE_CHECK_BOX"
4668               glib:nick="check-box"/>
4669       <member name="check_menu_item"
4670               value="8"
4671               c:identifier="ATK_ROLE_CHECK_MENU_ITEM"
4672               glib:nick="check-menu-item"/>
4673       <member name="color_chooser"
4674               value="9"
4675               c:identifier="ATK_ROLE_COLOR_CHOOSER"
4676               glib:nick="color-chooser"/>
4677       <member name="column_header"
4678               value="10"
4679               c:identifier="ATK_ROLE_COLUMN_HEADER"
4680               glib:nick="column-header"/>
4681       <member name="combo_box"
4682               value="11"
4683               c:identifier="ATK_ROLE_COMBO_BOX"
4684               glib:nick="combo-box"/>
4685       <member name="date_editor"
4686               value="12"
4687               c:identifier="ATK_ROLE_DATE_EDITOR"
4688               glib:nick="date-editor"/>
4689       <member name="desktop_icon"
4690               value="13"
4691               c:identifier="ATK_ROLE_DESKTOP_ICON"
4692               glib:nick="desktop-icon"/>
4693       <member name="desktop_frame"
4694               value="14"
4695               c:identifier="ATK_ROLE_DESKTOP_FRAME"
4696               glib:nick="desktop-frame"/>
4697       <member name="dial"
4698               value="15"
4699               c:identifier="ATK_ROLE_DIAL"
4700               glib:nick="dial"/>
4701       <member name="dialog"
4702               value="16"
4703               c:identifier="ATK_ROLE_DIALOG"
4704               glib:nick="dialog"/>
4705       <member name="directory_pane"
4706               value="17"
4707               c:identifier="ATK_ROLE_DIRECTORY_PANE"
4708               glib:nick="directory-pane"/>
4709       <member name="drawing_area"
4710               value="18"
4711               c:identifier="ATK_ROLE_DRAWING_AREA"
4712               glib:nick="drawing-area"/>
4713       <member name="file_chooser"
4714               value="19"
4715               c:identifier="ATK_ROLE_FILE_CHOOSER"
4716               glib:nick="file-chooser"/>
4717       <member name="filler"
4718               value="20"
4719               c:identifier="ATK_ROLE_FILLER"
4720               glib:nick="filler"/>
4721       <member name="font_chooser"
4722               value="21"
4723               c:identifier="ATK_ROLE_FONT_CHOOSER"
4724               glib:nick="font-chooser"/>
4725       <member name="frame"
4726               value="22"
4727               c:identifier="ATK_ROLE_FRAME"
4728               glib:nick="frame"/>
4729       <member name="glass_pane"
4730               value="23"
4731               c:identifier="ATK_ROLE_GLASS_PANE"
4732               glib:nick="glass-pane"/>
4733       <member name="html_container"
4734               value="24"
4735               c:identifier="ATK_ROLE_HTML_CONTAINER"
4736               glib:nick="html-container"/>
4737       <member name="icon"
4738               value="25"
4739               c:identifier="ATK_ROLE_ICON"
4740               glib:nick="icon"/>
4741       <member name="image"
4742               value="26"
4743               c:identifier="ATK_ROLE_IMAGE"
4744               glib:nick="image"/>
4745       <member name="internal_frame"
4746               value="27"
4747               c:identifier="ATK_ROLE_INTERNAL_FRAME"
4748               glib:nick="internal-frame"/>
4749       <member name="label"
4750               value="28"
4751               c:identifier="ATK_ROLE_LABEL"
4752               glib:nick="label"/>
4753       <member name="layered_pane"
4754               value="29"
4755               c:identifier="ATK_ROLE_LAYERED_PANE"
4756               glib:nick="layered-pane"/>
4757       <member name="list"
4758               value="30"
4759               c:identifier="ATK_ROLE_LIST"
4760               glib:nick="list"/>
4761       <member name="list_item"
4762               value="31"
4763               c:identifier="ATK_ROLE_LIST_ITEM"
4764               glib:nick="list-item"/>
4765       <member name="menu"
4766               value="32"
4767               c:identifier="ATK_ROLE_MENU"
4768               glib:nick="menu"/>
4769       <member name="menu_bar"
4770               value="33"
4771               c:identifier="ATK_ROLE_MENU_BAR"
4772               glib:nick="menu-bar"/>
4773       <member name="menu_item"
4774               value="34"
4775               c:identifier="ATK_ROLE_MENU_ITEM"
4776               glib:nick="menu-item"/>
4777       <member name="option_pane"
4778               value="35"
4779               c:identifier="ATK_ROLE_OPTION_PANE"
4780               glib:nick="option-pane"/>
4781       <member name="page_tab"
4782               value="36"
4783               c:identifier="ATK_ROLE_PAGE_TAB"
4784               glib:nick="page-tab"/>
4785       <member name="page_tab_list"
4786               value="37"
4787               c:identifier="ATK_ROLE_PAGE_TAB_LIST"
4788               glib:nick="page-tab-list"/>
4789       <member name="panel"
4790               value="38"
4791               c:identifier="ATK_ROLE_PANEL"
4792               glib:nick="panel"/>
4793       <member name="password_text"
4794               value="39"
4795               c:identifier="ATK_ROLE_PASSWORD_TEXT"
4796               glib:nick="password-text"/>
4797       <member name="popup_menu"
4798               value="40"
4799               c:identifier="ATK_ROLE_POPUP_MENU"
4800               glib:nick="popup-menu"/>
4801       <member name="progress_bar"
4802               value="41"
4803               c:identifier="ATK_ROLE_PROGRESS_BAR"
4804               glib:nick="progress-bar"/>
4805       <member name="push_button"
4806               value="42"
4807               c:identifier="ATK_ROLE_PUSH_BUTTON"
4808               glib:nick="push-button"/>
4809       <member name="radio_button"
4810               value="43"
4811               c:identifier="ATK_ROLE_RADIO_BUTTON"
4812               glib:nick="radio-button"/>
4813       <member name="radio_menu_item"
4814               value="44"
4815               c:identifier="ATK_ROLE_RADIO_MENU_ITEM"
4816               glib:nick="radio-menu-item"/>
4817       <member name="root_pane"
4818               value="45"
4819               c:identifier="ATK_ROLE_ROOT_PANE"
4820               glib:nick="root-pane"/>
4821       <member name="row_header"
4822               value="46"
4823               c:identifier="ATK_ROLE_ROW_HEADER"
4824               glib:nick="row-header"/>
4825       <member name="scroll_bar"
4826               value="47"
4827               c:identifier="ATK_ROLE_SCROLL_BAR"
4828               glib:nick="scroll-bar"/>
4829       <member name="scroll_pane"
4830               value="48"
4831               c:identifier="ATK_ROLE_SCROLL_PANE"
4832               glib:nick="scroll-pane"/>
4833       <member name="separator"
4834               value="49"
4835               c:identifier="ATK_ROLE_SEPARATOR"
4836               glib:nick="separator"/>
4837       <member name="slider"
4838               value="50"
4839               c:identifier="ATK_ROLE_SLIDER"
4840               glib:nick="slider"/>
4841       <member name="split_pane"
4842               value="51"
4843               c:identifier="ATK_ROLE_SPLIT_PANE"
4844               glib:nick="split-pane"/>
4845       <member name="spin_button"
4846               value="52"
4847               c:identifier="ATK_ROLE_SPIN_BUTTON"
4848               glib:nick="spin-button"/>
4849       <member name="statusbar"
4850               value="53"
4851               c:identifier="ATK_ROLE_STATUSBAR"
4852               glib:nick="statusbar"/>
4853       <member name="table"
4854               value="54"
4855               c:identifier="ATK_ROLE_TABLE"
4856               glib:nick="table"/>
4857       <member name="table_cell"
4858               value="55"
4859               c:identifier="ATK_ROLE_TABLE_CELL"
4860               glib:nick="table-cell"/>
4861       <member name="table_column_header"
4862               value="56"
4863               c:identifier="ATK_ROLE_TABLE_COLUMN_HEADER"
4864               glib:nick="table-column-header"/>
4865       <member name="table_row_header"
4866               value="57"
4867               c:identifier="ATK_ROLE_TABLE_ROW_HEADER"
4868               glib:nick="table-row-header"/>
4869       <member name="tear_off_menu_item"
4870               value="58"
4871               c:identifier="ATK_ROLE_TEAR_OFF_MENU_ITEM"
4872               glib:nick="tear-off-menu-item"/>
4873       <member name="terminal"
4874               value="59"
4875               c:identifier="ATK_ROLE_TERMINAL"
4876               glib:nick="terminal"/>
4877       <member name="text"
4878               value="60"
4879               c:identifier="ATK_ROLE_TEXT"
4880               glib:nick="text"/>
4881       <member name="toggle_button"
4882               value="61"
4883               c:identifier="ATK_ROLE_TOGGLE_BUTTON"
4884               glib:nick="toggle-button"/>
4885       <member name="tool_bar"
4886               value="62"
4887               c:identifier="ATK_ROLE_TOOL_BAR"
4888               glib:nick="tool-bar"/>
4889       <member name="tool_tip"
4890               value="63"
4891               c:identifier="ATK_ROLE_TOOL_TIP"
4892               glib:nick="tool-tip"/>
4893       <member name="tree"
4894               value="64"
4895               c:identifier="ATK_ROLE_TREE"
4896               glib:nick="tree"/>
4897       <member name="tree_table"
4898               value="65"
4899               c:identifier="ATK_ROLE_TREE_TABLE"
4900               glib:nick="tree-table"/>
4901       <member name="unknown"
4902               value="66"
4903               c:identifier="ATK_ROLE_UNKNOWN"
4904               glib:nick="unknown"/>
4905       <member name="viewport"
4906               value="67"
4907               c:identifier="ATK_ROLE_VIEWPORT"
4908               glib:nick="viewport"/>
4909       <member name="window"
4910               value="68"
4911               c:identifier="ATK_ROLE_WINDOW"
4912               glib:nick="window"/>
4913       <member name="header"
4914               value="69"
4915               c:identifier="ATK_ROLE_HEADER"
4916               glib:nick="header"/>
4917       <member name="footer"
4918               value="70"
4919               c:identifier="ATK_ROLE_FOOTER"
4920               glib:nick="footer"/>
4921       <member name="paragraph"
4922               value="71"
4923               c:identifier="ATK_ROLE_PARAGRAPH"
4924               glib:nick="paragraph"/>
4925       <member name="ruler"
4926               value="72"
4927               c:identifier="ATK_ROLE_RULER"
4928               glib:nick="ruler"/>
4929       <member name="application"
4930               value="73"
4931               c:identifier="ATK_ROLE_APPLICATION"
4932               glib:nick="application"/>
4933       <member name="autocomplete"
4934               value="74"
4935               c:identifier="ATK_ROLE_AUTOCOMPLETE"
4936               glib:nick="autocomplete"/>
4937       <member name="editbar"
4938               value="75"
4939               c:identifier="ATK_ROLE_EDITBAR"
4940               glib:nick="editbar"/>
4941       <member name="embedded"
4942               value="76"
4943               c:identifier="ATK_ROLE_EMBEDDED"
4944               glib:nick="embedded"/>
4945       <member name="entry"
4946               value="77"
4947               c:identifier="ATK_ROLE_ENTRY"
4948               glib:nick="entry"/>
4949       <member name="chart"
4950               value="78"
4951               c:identifier="ATK_ROLE_CHART"
4952               glib:nick="chart"/>
4953       <member name="caption"
4954               value="79"
4955               c:identifier="ATK_ROLE_CAPTION"
4956               glib:nick="caption"/>
4957       <member name="document_frame"
4958               value="80"
4959               c:identifier="ATK_ROLE_DOCUMENT_FRAME"
4960               glib:nick="document-frame"/>
4961       <member name="heading"
4962               value="81"
4963               c:identifier="ATK_ROLE_HEADING"
4964               glib:nick="heading"/>
4965       <member name="page"
4966               value="82"
4967               c:identifier="ATK_ROLE_PAGE"
4968               glib:nick="page"/>
4969       <member name="section"
4970               value="83"
4971               c:identifier="ATK_ROLE_SECTION"
4972               glib:nick="section"/>
4973       <member name="redundant_object"
4974               value="84"
4975               c:identifier="ATK_ROLE_REDUNDANT_OBJECT"
4976               glib:nick="redundant-object"/>
4977       <member name="form"
4978               value="85"
4979               c:identifier="ATK_ROLE_FORM"
4980               glib:nick="form"/>
4981       <member name="link"
4982               value="86"
4983               c:identifier="ATK_ROLE_LINK"
4984               glib:nick="link"/>
4985       <member name="input_method_window"
4986               value="87"
4987               c:identifier="ATK_ROLE_INPUT_METHOD_WINDOW"
4988               glib:nick="input-method-window"/>
4989       <member name="last_defined"
4990               value="88"
4991               c:identifier="ATK_ROLE_LAST_DEFINED"
4992               glib:nick="last-defined"/>
4993     </enumeration>
4994     <interface name="Selection"
4995                c:type="AtkSelection"
4996                glib:type-name="AtkSelection"
4997                glib:get-type="atk_selection_get_type"
4998                glib:type-struct="SelectionIface">
4999       <virtual-method name="add_selection" invoker="add_selection">
5000         <doc xml:whitespace="preserve">Adds the specified accessible child of the object to the
5001 object's selection.</doc>
5002         <return-value transfer-ownership="none">
5003           <doc xml:whitespace="preserve">TRUE if success, FALSE otherwise.</doc>
5004           <type name="boolean" c:type="gboolean"/>
5005         </return-value>
5006         <parameters>
5007           <parameter name="i" transfer-ownership="none">
5008             <doc xml:whitespace="preserve">a #gint specifying the child index.</doc>
5009             <type name="int" c:type="gint"/>
5010           </parameter>
5011         </parameters>
5012       </virtual-method>
5013       <virtual-method name="clear_selection" invoker="clear_selection">
5014         <doc xml:whitespace="preserve">Clears the selection in the object so that no children in the object
5015 are selected.</doc>
5016         <return-value transfer-ownership="none">
5017           <doc xml:whitespace="preserve">TRUE if success, FALSE otherwise.</doc>
5018           <type name="boolean" c:type="gboolean"/>
5019         </return-value>
5020       </virtual-method>
5021       <virtual-method name="ref_selection" invoker="ref_selection">
5022         <doc xml:whitespace="preserve">Gets a reference to the accessible object representing the specified 
5023 selected child of the object.
5024 indication of whether AtkSelectionIface is implemented, they should
5025 use type checking/interface checking macros or the
5026 atk_get_accessible_value() convenience method.
5027 if @selection does not implement this interface.</doc>
5028         <return-value transfer-ownership="full">
5029           <doc xml:whitespace="preserve">an #AtkObject representing the selected accessible , or %NULL</doc>
5030           <type name="Object" c:type="AtkObject*"/>
5031         </return-value>
5032         <parameters>
5033           <parameter name="i" transfer-ownership="none">
5034             <doc xml:whitespace="preserve">a #gint specifying the index in the selection set.  (e.g. the ith selection as opposed to the ith child).</doc>
5035             <type name="int" c:type="gint"/>
5036           </parameter>
5037         </parameters>
5038       </virtual-method>
5039       <virtual-method name="get_selection_count" invoker="get_selection_count">
5040         <doc xml:whitespace="preserve">Gets the number of accessible children currently selected.
5041 indication of whether AtkSelectionIface is implemented, they should
5042 use type checking/interface checking macros or the
5043 atk_get_accessible_value() convenience method.
5044 if @selection does not implement this interface.</doc>
5045         <return-value transfer-ownership="none">
5046           <doc xml:whitespace="preserve">a gint representing the number of items selected, or 0</doc>
5047           <type name="int" c:type="gint"/>
5048         </return-value>
5049       </virtual-method>
5050       <virtual-method name="is_child_selected" invoker="is_child_selected">
5051         <doc xml:whitespace="preserve">Determines if the current child of this object is selected
5052 indication of whether AtkSelectionIface is implemented, they should
5053 use type checking/interface checking macros or the
5054 atk_get_accessible_value() convenience method.
5055 if @selection does not implement this interface.</doc>
5056         <return-value transfer-ownership="none">
5057           <doc xml:whitespace="preserve">a gboolean representing the specified child is selected, or 0</doc>
5058           <type name="boolean" c:type="gboolean"/>
5059         </return-value>
5060         <parameters>
5061           <parameter name="i" transfer-ownership="none">
5062             <doc xml:whitespace="preserve">a #gint specifying the child index.</doc>
5063             <type name="int" c:type="gint"/>
5064           </parameter>
5065         </parameters>
5066       </virtual-method>
5067       <virtual-method name="remove_selection" invoker="remove_selection">
5068         <doc xml:whitespace="preserve">Removes the specified child of the object from the object's selection.</doc>
5069         <return-value transfer-ownership="none">
5070           <doc xml:whitespace="preserve">TRUE if success, FALSE otherwise.</doc>
5071           <type name="boolean" c:type="gboolean"/>
5072         </return-value>
5073         <parameters>
5074           <parameter name="i" transfer-ownership="none">
5075             <doc xml:whitespace="preserve">a #gint specifying the index in the selection set.  (e.g. the ith selection as opposed to the ith child).</doc>
5076             <type name="int" c:type="gint"/>
5077           </parameter>
5078         </parameters>
5079       </virtual-method>
5080       <virtual-method name="select_all_selection"
5081                       invoker="select_all_selection">
5082         <doc xml:whitespace="preserve">Causes every child of the object to be selected if the object
5083 supports multiple selections.</doc>
5084         <return-value transfer-ownership="none">
5085           <doc xml:whitespace="preserve">TRUE if success, FALSE otherwise.</doc>
5086           <type name="boolean" c:type="gboolean"/>
5087         </return-value>
5088       </virtual-method>
5089       <method name="add_selection" c:identifier="atk_selection_add_selection">
5090         <doc xml:whitespace="preserve">Adds the specified accessible child of the object to the
5091 object's selection.</doc>
5092         <return-value transfer-ownership="none">
5093           <doc xml:whitespace="preserve">TRUE if success, FALSE otherwise.</doc>
5094           <type name="boolean" c:type="gboolean"/>
5095         </return-value>
5096         <parameters>
5097           <parameter name="i" transfer-ownership="none">
5098             <doc xml:whitespace="preserve">a #gint specifying the child index.</doc>
5099             <type name="int" c:type="gint"/>
5100           </parameter>
5101         </parameters>
5102       </method>
5103       <method name="clear_selection"
5104               c:identifier="atk_selection_clear_selection">
5105         <doc xml:whitespace="preserve">Clears the selection in the object so that no children in the object
5106 are selected.</doc>
5107         <return-value transfer-ownership="none">
5108           <doc xml:whitespace="preserve">TRUE if success, FALSE otherwise.</doc>
5109           <type name="boolean" c:type="gboolean"/>
5110         </return-value>
5111       </method>
5112       <method name="ref_selection" c:identifier="atk_selection_ref_selection">
5113         <doc xml:whitespace="preserve">Gets a reference to the accessible object representing the specified 
5114 selected child of the object.
5115 indication of whether AtkSelectionIface is implemented, they should
5116 use type checking/interface checking macros or the
5117 atk_get_accessible_value() convenience method.
5118 if @selection does not implement this interface.</doc>
5119         <return-value transfer-ownership="full">
5120           <doc xml:whitespace="preserve">an #AtkObject representing the selected accessible , or %NULL</doc>
5121           <type name="Object" c:type="AtkObject*"/>
5122         </return-value>
5123         <parameters>
5124           <parameter name="i" transfer-ownership="none">
5125             <doc xml:whitespace="preserve">a #gint specifying the index in the selection set.  (e.g. the ith selection as opposed to the ith child).</doc>
5126             <type name="int" c:type="gint"/>
5127           </parameter>
5128         </parameters>
5129       </method>
5130       <method name="get_selection_count"
5131               c:identifier="atk_selection_get_selection_count">
5132         <doc xml:whitespace="preserve">Gets the number of accessible children currently selected.
5133 indication of whether AtkSelectionIface is implemented, they should
5134 use type checking/interface checking macros or the
5135 atk_get_accessible_value() convenience method.
5136 if @selection does not implement this interface.</doc>
5137         <return-value transfer-ownership="none">
5138           <doc xml:whitespace="preserve">a gint representing the number of items selected, or 0</doc>
5139           <type name="int" c:type="gint"/>
5140         </return-value>
5141       </method>
5142       <method name="is_child_selected"
5143               c:identifier="atk_selection_is_child_selected">
5144         <doc xml:whitespace="preserve">Determines if the current child of this object is selected
5145 indication of whether AtkSelectionIface is implemented, they should
5146 use type checking/interface checking macros or the
5147 atk_get_accessible_value() convenience method.
5148 if @selection does not implement this interface.</doc>
5149         <return-value transfer-ownership="none">
5150           <doc xml:whitespace="preserve">a gboolean representing the specified child is selected, or 0</doc>
5151           <type name="boolean" c:type="gboolean"/>
5152         </return-value>
5153         <parameters>
5154           <parameter name="i" transfer-ownership="none">
5155             <doc xml:whitespace="preserve">a #gint specifying the child index.</doc>
5156             <type name="int" c:type="gint"/>
5157           </parameter>
5158         </parameters>
5159       </method>
5160       <method name="remove_selection"
5161               c:identifier="atk_selection_remove_selection">
5162         <doc xml:whitespace="preserve">Removes the specified child of the object from the object's selection.</doc>
5163         <return-value transfer-ownership="none">
5164           <doc xml:whitespace="preserve">TRUE if success, FALSE otherwise.</doc>
5165           <type name="boolean" c:type="gboolean"/>
5166         </return-value>
5167         <parameters>
5168           <parameter name="i" transfer-ownership="none">
5169             <doc xml:whitespace="preserve">a #gint specifying the index in the selection set.  (e.g. the ith selection as opposed to the ith child).</doc>
5170             <type name="int" c:type="gint"/>
5171           </parameter>
5172         </parameters>
5173       </method>
5174       <method name="select_all_selection"
5175               c:identifier="atk_selection_select_all_selection">
5176         <doc xml:whitespace="preserve">Causes every child of the object to be selected if the object
5177 supports multiple selections.</doc>
5178         <return-value transfer-ownership="none">
5179           <doc xml:whitespace="preserve">TRUE if success, FALSE otherwise.</doc>
5180           <type name="boolean" c:type="gboolean"/>
5181         </return-value>
5182       </method>
5183       <glib:signal name="selection-changed">
5184         <return-value transfer-ownership="full">
5185           <type name="none" c:type="void"/>
5186         </return-value>
5187       </glib:signal>
5188     </interface>
5189     <record name="SelectionIface"
5190             c:type="AtkSelectionIface"
5191             glib:is-gtype-struct-for="Selection">
5192       <field name="parent">
5193         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
5194       </field>
5195       <field name="add_selection">
5196         <callback name="add_selection" c:type="add_selection">
5197           <return-value transfer-ownership="none">
5198             <doc xml:whitespace="preserve">TRUE if success, FALSE otherwise.</doc>
5199             <type name="boolean" c:type="gboolean"/>
5200           </return-value>
5201           <parameters>
5202             <parameter name="selection" transfer-ownership="none">
5203               <type name="Selection" c:type="AtkSelection*"/>
5204             </parameter>
5205             <parameter name="i" transfer-ownership="none">
5206               <doc xml:whitespace="preserve">a #gint specifying the child index.</doc>
5207               <type name="int" c:type="gint"/>
5208             </parameter>
5209           </parameters>
5210         </callback>
5211       </field>
5212       <field name="clear_selection">
5213         <callback name="clear_selection" c:type="clear_selection">
5214           <return-value transfer-ownership="none">
5215             <doc xml:whitespace="preserve">TRUE if success, FALSE otherwise.</doc>
5216             <type name="boolean" c:type="gboolean"/>
5217           </return-value>
5218           <parameters>
5219             <parameter name="selection" transfer-ownership="none">
5220               <type name="Selection" c:type="AtkSelection*"/>
5221             </parameter>
5222           </parameters>
5223         </callback>
5224       </field>
5225       <field name="ref_selection">
5226         <callback name="ref_selection" c:type="ref_selection">
5227           <return-value transfer-ownership="full">
5228             <doc xml:whitespace="preserve">an #AtkObject representing the selected accessible , or %NULL</doc>
5229             <type name="Object" c:type="AtkObject*"/>
5230           </return-value>
5231           <parameters>
5232             <parameter name="selection" transfer-ownership="none">
5233               <type name="Selection" c:type="AtkSelection*"/>
5234             </parameter>
5235             <parameter name="i" transfer-ownership="none">
5236               <doc xml:whitespace="preserve">a #gint specifying the index in the selection set.  (e.g. the ith selection as opposed to the ith child).</doc>
5237               <type name="int" c:type="gint"/>
5238             </parameter>
5239           </parameters>
5240         </callback>
5241       </field>
5242       <field name="get_selection_count">
5243         <callback name="get_selection_count" c:type="get_selection_count">
5244           <return-value transfer-ownership="none">
5245             <doc xml:whitespace="preserve">a gint representing the number of items selected, or 0</doc>
5246             <type name="int" c:type="gint"/>
5247           </return-value>
5248           <parameters>
5249             <parameter name="selection" transfer-ownership="none">
5250               <type name="Selection" c:type="AtkSelection*"/>
5251             </parameter>
5252           </parameters>
5253         </callback>
5254       </field>
5255       <field name="is_child_selected">
5256         <callback name="is_child_selected" c:type="is_child_selected">
5257           <return-value transfer-ownership="none">
5258             <doc xml:whitespace="preserve">a gboolean representing the specified child is selected, or 0</doc>
5259             <type name="boolean" c:type="gboolean"/>
5260           </return-value>
5261           <parameters>
5262             <parameter name="selection" transfer-ownership="none">
5263               <type name="Selection" c:type="AtkSelection*"/>
5264             </parameter>
5265             <parameter name="i" transfer-ownership="none">
5266               <doc xml:whitespace="preserve">a #gint specifying the child index.</doc>
5267               <type name="int" c:type="gint"/>
5268             </parameter>
5269           </parameters>
5270         </callback>
5271       </field>
5272       <field name="remove_selection">
5273         <callback name="remove_selection" c:type="remove_selection">
5274           <return-value transfer-ownership="none">
5275             <doc xml:whitespace="preserve">TRUE if success, FALSE otherwise.</doc>
5276             <type name="boolean" c:type="gboolean"/>
5277           </return-value>
5278           <parameters>
5279             <parameter name="selection" transfer-ownership="none">
5280               <type name="Selection" c:type="AtkSelection*"/>
5281             </parameter>
5282             <parameter name="i" transfer-ownership="none">
5283               <doc xml:whitespace="preserve">a #gint specifying the index in the selection set.  (e.g. the ith selection as opposed to the ith child).</doc>
5284               <type name="int" c:type="gint"/>
5285             </parameter>
5286           </parameters>
5287         </callback>
5288       </field>
5289       <field name="select_all_selection">
5290         <callback name="select_all_selection" c:type="select_all_selection">
5291           <return-value transfer-ownership="none">
5292             <doc xml:whitespace="preserve">TRUE if success, FALSE otherwise.</doc>
5293             <type name="boolean" c:type="gboolean"/>
5294           </return-value>
5295           <parameters>
5296             <parameter name="selection" transfer-ownership="none">
5297               <type name="Selection" c:type="AtkSelection*"/>
5298             </parameter>
5299           </parameters>
5300         </callback>
5301       </field>
5302       <field name="selection_changed">
5303         <callback name="selection_changed" c:type="selection_changed">
5304           <return-value transfer-ownership="none">
5305             <type name="none" c:type="void"/>
5306           </return-value>
5307           <parameters>
5308             <parameter name="selection" transfer-ownership="none">
5309               <type name="Selection" c:type="AtkSelection*"/>
5310             </parameter>
5311           </parameters>
5312         </callback>
5313       </field>
5314       <field name="pad1">
5315         <type name="Function" c:type="AtkFunction"/>
5316       </field>
5317       <field name="pad2">
5318         <type name="Function" c:type="AtkFunction"/>
5319       </field>
5320     </record>
5321     <class name="Socket"
5322            c:type="AtkSocket"
5323            parent="Object"
5324            glib:type-name="AtkSocket"
5325            glib:get-type="atk_socket_get_type"
5326            glib:type-struct="SocketClass">
5327       <implements name="Component"/>
5328       <constructor name="new" c:identifier="atk_socket_new">
5329         <return-value transfer-ownership="full">
5330           <type name="Socket" c:type="AtkObject*"/>
5331         </return-value>
5332       </constructor>
5333       <virtual-method name="embed" invoker="embed">
5334         <doc xml:whitespace="preserve">Embeds the children of an #AtkPlug as the children of the #AtkSocket.  The
5335 plug may be in the same process or in a different process.</doc>
5336         <return-value transfer-ownership="none">
5337           <type name="none" c:type="void"/>
5338         </return-value>
5339         <parameters>
5340           <parameter name="plug_id" transfer-ownership="full">
5341             <doc xml:whitespace="preserve">the ID of an #AtkPlug</doc>
5342             <type name="utf8" c:type="gchar*"/>
5343           </parameter>
5344         </parameters>
5345       </virtual-method>
5346       <method name="embed" c:identifier="atk_socket_embed">
5347         <doc xml:whitespace="preserve">Embeds the children of an #AtkPlug as the children of the #AtkSocket.  The
5348 plug may be in the same process or in a different process.</doc>
5349         <return-value transfer-ownership="none">
5350           <type name="none" c:type="void"/>
5351         </return-value>
5352         <parameters>
5353           <parameter name="plug_id" transfer-ownership="full">
5354             <doc xml:whitespace="preserve">the ID of an #AtkPlug</doc>
5355             <type name="utf8" c:type="gchar*"/>
5356           </parameter>
5357         </parameters>
5358       </method>
5359       <method name="is_occupied" c:identifier="atk_socket_is_occupied">
5360         <doc xml:whitespace="preserve">Determines whether or not the socket has an embedded plug.</doc>
5361         <return-value transfer-ownership="none">
5362           <doc xml:whitespace="preserve">TRUE if a plug is embedded in the socket</doc>
5363           <type name="boolean" c:type="gboolean"/>
5364         </return-value>
5365       </method>
5366       <field name="parent">
5367         <type name="Object" c:type="AtkObject"/>
5368       </field>
5369       <field name="embedded_plug_id">
5370         <type name="utf8" c:type="gchar*"/>
5371       </field>
5372     </class>
5373     <record name="SocketClass"
5374             c:type="AtkSocketClass"
5375             glib:is-gtype-struct-for="Socket">
5376       <field name="parent_class">
5377         <type name="ObjectClass" c:type="AtkObjectClass"/>
5378       </field>
5379       <field name="embed">
5380         <callback name="embed" c:type="embed">
5381           <return-value transfer-ownership="none">
5382             <type name="none" c:type="void"/>
5383           </return-value>
5384           <parameters>
5385             <parameter name="obj" transfer-ownership="none">
5386               <type name="Socket" c:type="AtkSocket*"/>
5387             </parameter>
5388             <parameter name="plug_id" transfer-ownership="full">
5389               <doc xml:whitespace="preserve">the ID of an #AtkPlug</doc>
5390               <type name="utf8" c:type="gchar*"/>
5391             </parameter>
5392           </parameters>
5393         </callback>
5394       </field>
5395     </record>
5396     <class name="StateSet"
5397            c:type="AtkStateSet"
5398            parent="GObject.Object"
5399            glib:type-name="AtkStateSet"
5400            glib:get-type="atk_state_set_get_type"
5401            glib:type-struct="StateSetClass">
5402       <constructor name="new" c:identifier="atk_state_set_new">
5403         <doc xml:whitespace="preserve">Creates a new empty state set.</doc>
5404         <return-value transfer-ownership="full">
5405           <doc xml:whitespace="preserve">a new #AtkStateSet</doc>
5406           <type name="StateSet" c:type="AtkStateSet*"/>
5407         </return-value>
5408       </constructor>
5409       <method name="is_empty" c:identifier="atk_state_set_is_empty">
5410         <doc xml:whitespace="preserve">Checks whether the state set is empty, i.e. has no states set.</doc>
5411         <return-value transfer-ownership="none">
5412           <doc xml:whitespace="preserve">%TRUE if @set has no states set, otherwise %FALSE</doc>
5413           <type name="boolean" c:type="gboolean"/>
5414         </return-value>
5415       </method>
5416       <method name="add_state" c:identifier="atk_state_set_add_state">
5417         <doc xml:whitespace="preserve">Add a new state for the specified type to the current state set if
5418 it is not already present.</doc>
5419         <return-value transfer-ownership="none">
5420           <doc xml:whitespace="preserve">%TRUE if  the state for @type is not already in @set.</doc>
5421           <type name="boolean" c:type="gboolean"/>
5422         </return-value>
5423         <parameters>
5424           <parameter name="type" transfer-ownership="none">
5425             <doc xml:whitespace="preserve">an #AtkStateType</doc>
5426             <type name="StateType" c:type="AtkStateType"/>
5427           </parameter>
5428         </parameters>
5429       </method>
5430       <method name="add_states" c:identifier="atk_state_set_add_states">
5431         <doc xml:whitespace="preserve">Add the states for the specified types to the current state set.</doc>
5432         <return-value transfer-ownership="none">
5433           <type name="none" c:type="void"/>
5434         </return-value>
5435         <parameters>
5436           <parameter name="types" transfer-ownership="none">
5437             <doc xml:whitespace="preserve">an array of #AtkStateType</doc>
5438             <type name="StateType" c:type="AtkStateType*"/>
5439           </parameter>
5440           <parameter name="n_types" transfer-ownership="none">
5441             <doc xml:whitespace="preserve">The number of elements in the array</doc>
5442             <type name="int" c:type="gint"/>
5443           </parameter>
5444         </parameters>
5445       </method>
5446       <method name="clear_states" c:identifier="atk_state_set_clear_states">
5447         <doc xml:whitespace="preserve">Removes all states from the state set.</doc>
5448         <return-value transfer-ownership="none">
5449           <type name="none" c:type="void"/>
5450         </return-value>
5451       </method>
5452       <method name="contains_state"
5453               c:identifier="atk_state_set_contains_state">
5454         <doc xml:whitespace="preserve">Checks whether the state for the specified type is in the specified set.</doc>
5455         <return-value transfer-ownership="none">
5456           <doc xml:whitespace="preserve">%TRUE if @type is the state type is in @set.</doc>
5457           <type name="boolean" c:type="gboolean"/>
5458         </return-value>
5459         <parameters>
5460           <parameter name="type" transfer-ownership="none">
5461             <doc xml:whitespace="preserve">an #AtkStateType</doc>
5462             <type name="StateType" c:type="AtkStateType"/>
5463           </parameter>
5464         </parameters>
5465       </method>
5466       <method name="contains_states"
5467               c:identifier="atk_state_set_contains_states">
5468         <doc xml:whitespace="preserve">Checks whether the states for all the specified types are in the 
5469 specified set.</doc>
5470         <return-value transfer-ownership="none">
5471           <doc xml:whitespace="preserve">%TRUE if all the states for @type are in @set.</doc>
5472           <type name="boolean" c:type="gboolean"/>
5473         </return-value>
5474         <parameters>
5475           <parameter name="types" transfer-ownership="none">
5476             <doc xml:whitespace="preserve">an array of #AtkStateType</doc>
5477             <type name="StateType" c:type="AtkStateType*"/>
5478           </parameter>
5479           <parameter name="n_types" transfer-ownership="none">
5480             <doc xml:whitespace="preserve">The number of elements in the array</doc>
5481             <type name="int" c:type="gint"/>
5482           </parameter>
5483         </parameters>
5484       </method>
5485       <method name="remove_state" c:identifier="atk_state_set_remove_state">
5486         <doc xml:whitespace="preserve">Removes the state for the specified type from the state set.</doc>
5487         <return-value transfer-ownership="none">
5488           <doc xml:whitespace="preserve">%TRUE if @type was the state type is in @set.</doc>
5489           <type name="boolean" c:type="gboolean"/>
5490         </return-value>
5491         <parameters>
5492           <parameter name="type" transfer-ownership="none">
5493             <doc xml:whitespace="preserve">an #AtkType</doc>
5494             <type name="StateType" c:type="AtkStateType"/>
5495           </parameter>
5496         </parameters>
5497       </method>
5498       <method name="and_sets" c:identifier="atk_state_set_and_sets">
5499         <doc xml:whitespace="preserve">Constructs the intersection of the two sets, returning %NULL if the
5500 intersection is empty.</doc>
5501         <return-value transfer-ownership="full">
5502           <doc xml:whitespace="preserve">a new #AtkStateSet which is the intersection of the two sets.</doc>
5503           <type name="StateSet" c:type="AtkStateSet*"/>
5504         </return-value>
5505         <parameters>
5506           <parameter name="compare_set" transfer-ownership="none">
5507             <doc xml:whitespace="preserve">another #AtkStateSet</doc>
5508             <type name="StateSet" c:type="AtkStateSet*"/>
5509           </parameter>
5510         </parameters>
5511       </method>
5512       <method name="or_sets" c:identifier="atk_state_set_or_sets">
5513         <doc xml:whitespace="preserve">Constructs the union of the two sets.
5514 returning %NULL is empty.</doc>
5515         <return-value transfer-ownership="full">
5516           <doc xml:whitespace="preserve">a new #AtkStateSet which is the union of the two sets,</doc>
5517           <type name="StateSet" c:type="AtkStateSet*"/>
5518         </return-value>
5519         <parameters>
5520           <parameter name="compare_set" transfer-ownership="none">
5521             <doc xml:whitespace="preserve">another #AtkStateSet</doc>
5522             <type name="StateSet" c:type="AtkStateSet*"/>
5523           </parameter>
5524         </parameters>
5525       </method>
5526       <method name="xor_sets" c:identifier="atk_state_set_xor_sets">
5527         <doc xml:whitespace="preserve">Constructs the exclusive-or of the two sets, returning %NULL is empty.
5528 The set returned by this operation contains the states in exactly
5529 one of the two sets.
5530 in exactly one of the two sets.</doc>
5531         <return-value transfer-ownership="full">
5532           <doc xml:whitespace="preserve">a new #AtkStateSet which contains the states which are</doc>
5533           <type name="StateSet" c:type="AtkStateSet*"/>
5534         </return-value>
5535         <parameters>
5536           <parameter name="compare_set" transfer-ownership="none">
5537             <doc xml:whitespace="preserve">another #AtkStateSet</doc>
5538             <type name="StateSet" c:type="AtkStateSet*"/>
5539           </parameter>
5540         </parameters>
5541       </method>
5542       <field name="parent">
5543         <type name="GObject.Object" c:type="GObject"/>
5544       </field>
5545     </class>
5546     <record name="StateSetClass"
5547             c:type="AtkStateSetClass"
5548             glib:is-gtype-struct-for="StateSet">
5549       <field name="parent">
5550         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
5551       </field>
5552     </record>
5553     <enumeration name="StateType"
5554                  glib:type-name="AtkStateType"
5555                  glib:get-type="atk_state_type_get_type"
5556                  c:type="AtkStateType">
5557       <member name="invalid"
5558               value="0"
5559               c:identifier="ATK_STATE_INVALID"
5560               glib:nick="invalid"/>
5561       <member name="active"
5562               value="1"
5563               c:identifier="ATK_STATE_ACTIVE"
5564               glib:nick="active"/>
5565       <member name="armed"
5566               value="2"
5567               c:identifier="ATK_STATE_ARMED"
5568               glib:nick="armed"/>
5569       <member name="busy"
5570               value="3"
5571               c:identifier="ATK_STATE_BUSY"
5572               glib:nick="busy"/>
5573       <member name="checked"
5574               value="4"
5575               c:identifier="ATK_STATE_CHECKED"
5576               glib:nick="checked"/>
5577       <member name="defunct"
5578               value="5"
5579               c:identifier="ATK_STATE_DEFUNCT"
5580               glib:nick="defunct"/>
5581       <member name="editable"
5582               value="6"
5583               c:identifier="ATK_STATE_EDITABLE"
5584               glib:nick="editable"/>
5585       <member name="enabled"
5586               value="7"
5587               c:identifier="ATK_STATE_ENABLED"
5588               glib:nick="enabled"/>
5589       <member name="expandable"
5590               value="8"
5591               c:identifier="ATK_STATE_EXPANDABLE"
5592               glib:nick="expandable"/>
5593       <member name="expanded"
5594               value="9"
5595               c:identifier="ATK_STATE_EXPANDED"
5596               glib:nick="expanded"/>
5597       <member name="focusable"
5598               value="10"
5599               c:identifier="ATK_STATE_FOCUSABLE"
5600               glib:nick="focusable"/>
5601       <member name="focused"
5602               value="11"
5603               c:identifier="ATK_STATE_FOCUSED"
5604               glib:nick="focused"/>
5605       <member name="horizontal"
5606               value="12"
5607               c:identifier="ATK_STATE_HORIZONTAL"
5608               glib:nick="horizontal"/>
5609       <member name="iconified"
5610               value="13"
5611               c:identifier="ATK_STATE_ICONIFIED"
5612               glib:nick="iconified"/>
5613       <member name="modal"
5614               value="14"
5615               c:identifier="ATK_STATE_MODAL"
5616               glib:nick="modal"/>
5617       <member name="multi_line"
5618               value="15"
5619               c:identifier="ATK_STATE_MULTI_LINE"
5620               glib:nick="multi-line"/>
5621       <member name="multiselectable"
5622               value="16"
5623               c:identifier="ATK_STATE_MULTISELECTABLE"
5624               glib:nick="multiselectable"/>
5625       <member name="opaque"
5626               value="17"
5627               c:identifier="ATK_STATE_OPAQUE"
5628               glib:nick="opaque"/>
5629       <member name="pressed"
5630               value="18"
5631               c:identifier="ATK_STATE_PRESSED"
5632               glib:nick="pressed"/>
5633       <member name="resizable"
5634               value="19"
5635               c:identifier="ATK_STATE_RESIZABLE"
5636               glib:nick="resizable"/>
5637       <member name="selectable"
5638               value="20"
5639               c:identifier="ATK_STATE_SELECTABLE"
5640               glib:nick="selectable"/>
5641       <member name="selected"
5642               value="21"
5643               c:identifier="ATK_STATE_SELECTED"
5644               glib:nick="selected"/>
5645       <member name="sensitive"
5646               value="22"
5647               c:identifier="ATK_STATE_SENSITIVE"
5648               glib:nick="sensitive"/>
5649       <member name="showing"
5650               value="23"
5651               c:identifier="ATK_STATE_SHOWING"
5652               glib:nick="showing"/>
5653       <member name="single_line"
5654               value="24"
5655               c:identifier="ATK_STATE_SINGLE_LINE"
5656               glib:nick="single-line"/>
5657       <member name="stale"
5658               value="25"
5659               c:identifier="ATK_STATE_STALE"
5660               glib:nick="stale"/>
5661       <member name="transient"
5662               value="26"
5663               c:identifier="ATK_STATE_TRANSIENT"
5664               glib:nick="transient"/>
5665       <member name="vertical"
5666               value="27"
5667               c:identifier="ATK_STATE_VERTICAL"
5668               glib:nick="vertical"/>
5669       <member name="visible"
5670               value="28"
5671               c:identifier="ATK_STATE_VISIBLE"
5672               glib:nick="visible"/>
5673       <member name="manages_descendants"
5674               value="29"
5675               c:identifier="ATK_STATE_MANAGES_DESCENDANTS"
5676               glib:nick="manages-descendants"/>
5677       <member name="indeterminate"
5678               value="30"
5679               c:identifier="ATK_STATE_INDETERMINATE"
5680               glib:nick="indeterminate"/>
5681       <member name="truncated"
5682               value="31"
5683               c:identifier="ATK_STATE_TRUNCATED"
5684               glib:nick="truncated"/>
5685       <member name="required"
5686               value="32"
5687               c:identifier="ATK_STATE_REQUIRED"
5688               glib:nick="required"/>
5689       <member name="invalid_entry"
5690               value="33"
5691               c:identifier="ATK_STATE_INVALID_ENTRY"
5692               glib:nick="invalid-entry"/>
5693       <member name="supports_autocompletion"
5694               value="34"
5695               c:identifier="ATK_STATE_SUPPORTS_AUTOCOMPLETION"
5696               glib:nick="supports-autocompletion"/>
5697       <member name="selectable_text"
5698               value="35"
5699               c:identifier="ATK_STATE_SELECTABLE_TEXT"
5700               glib:nick="selectable-text"/>
5701       <member name="default"
5702               value="36"
5703               c:identifier="ATK_STATE_DEFAULT"
5704               glib:nick="default"/>
5705       <member name="animated"
5706               value="37"
5707               c:identifier="ATK_STATE_ANIMATED"
5708               glib:nick="animated"/>
5709       <member name="visited"
5710               value="38"
5711               c:identifier="ATK_STATE_VISITED"
5712               glib:nick="visited"/>
5713       <member name="last_defined"
5714               value="39"
5715               c:identifier="ATK_STATE_LAST_DEFINED"
5716               glib:nick="last-defined"/>
5717     </enumeration>
5718     <interface name="StreamableContent"
5719                c:type="AtkStreamableContent"
5720                glib:type-name="AtkStreamableContent"
5721                glib:get-type="atk_streamable_content_get_type"
5722                glib:type-struct="StreamableContentIface">
5723       <virtual-method name="get_n_mime_types" invoker="get_n_mime_types">
5724         <doc xml:whitespace="preserve">Gets the number of mime types supported by this object.</doc>
5725         <return-value transfer-ownership="none">
5726           <doc xml:whitespace="preserve">a gint which is the number of mime types supported by the object.</doc>
5727           <type name="int" c:type="gint"/>
5728         </return-value>
5729       </virtual-method>
5730       <virtual-method name="get_mime_type" invoker="get_mime_type">
5731         <doc xml:whitespace="preserve">Gets the character string of the specified mime type. The first mime
5732 type is at position 0, the second at position 1, and so on.
5733 should not free the character string.</doc>
5734         <return-value transfer-ownership="none">
5735           <type name="utf8" c:type="gchar*"/>
5736         </return-value>
5737         <parameters>
5738           <parameter name="i" transfer-ownership="none">
5739             <doc xml:whitespace="preserve">a gint representing the position of the mime type starting from 0</doc>
5740             <type name="int" c:type="gint"/>
5741           </parameter>
5742         </parameters>
5743       </virtual-method>
5744       <virtual-method name="get_stream" invoker="get_stream">
5745         <doc xml:whitespace="preserve">Gets the content in the specified mime type.
5746 type.</doc>
5747         <return-value transfer-ownership="full">
5748           <doc xml:whitespace="preserve">A #GIOChannel which contains the content in the specified mime</doc>
5749           <type name="GLib.IOChannel" c:type="GIOChannel*"/>
5750         </return-value>
5751         <parameters>
5752           <parameter name="mime_type" transfer-ownership="none">
5753             <doc xml:whitespace="preserve">a gchar* representing the mime type</doc>
5754             <type name="utf8" c:type="gchar*"/>
5755           </parameter>
5756         </parameters>
5757       </virtual-method>
5758       <virtual-method name="get_uri" invoker="get_uri" version="1.12">
5759         <doc xml:whitespace="preserve">Get a string representing a URI in IETF standard format
5760 (see http://www.ietf.org/rfc/rfc2396.txt) from which the object's content
5761 may be streamed in the specified mime-type, if one is available.
5762 If mime_type is NULL, the URI for the default (and possibly only) mime-type is
5763 returned. 
5764 Note that it is possible for get_uri to return NULL but for
5765 get_stream to work nonetheless, since not all GIOChannels connect to URIs.
5766 can be constructed.</doc>
5767         <return-value transfer-ownership="none">
5768           <doc xml:whitespace="preserve">Returns a string representing a URI, or NULL if no corresponding URI</doc>
5769           <type name="utf8" c:type="gchar*"/>
5770         </return-value>
5771         <parameters>
5772           <parameter name="mime_type" transfer-ownership="none">
5773             <doc xml:whitespace="preserve">a gchar* representing the mime type, or NULL to request a URI for the default mime type.</doc>
5774             <type name="utf8" c:type="gchar*"/>
5775           </parameter>
5776         </parameters>
5777       </virtual-method>
5778       <method name="get_n_mime_types"
5779               c:identifier="atk_streamable_content_get_n_mime_types">
5780         <doc xml:whitespace="preserve">Gets the number of mime types supported by this object.</doc>
5781         <return-value transfer-ownership="none">
5782           <doc xml:whitespace="preserve">a gint which is the number of mime types supported by the object.</doc>
5783           <type name="int" c:type="gint"/>
5784         </return-value>
5785       </method>
5786       <method name="get_mime_type"
5787               c:identifier="atk_streamable_content_get_mime_type">
5788         <doc xml:whitespace="preserve">Gets the character string of the specified mime type. The first mime
5789 type is at position 0, the second at position 1, and so on.
5790 should not free the character string.</doc>
5791         <return-value transfer-ownership="none">
5792           <type name="utf8" c:type="gchar*"/>
5793         </return-value>
5794         <parameters>
5795           <parameter name="i" transfer-ownership="none">
5796             <doc xml:whitespace="preserve">a gint representing the position of the mime type starting from 0</doc>
5797             <type name="int" c:type="gint"/>
5798           </parameter>
5799         </parameters>
5800       </method>
5801       <method name="get_stream"
5802               c:identifier="atk_streamable_content_get_stream">
5803         <doc xml:whitespace="preserve">Gets the content in the specified mime type.
5804 type.</doc>
5805         <return-value transfer-ownership="full">
5806           <doc xml:whitespace="preserve">A #GIOChannel which contains the content in the specified mime</doc>
5807           <type name="GLib.IOChannel" c:type="GIOChannel*"/>
5808         </return-value>
5809         <parameters>
5810           <parameter name="mime_type" transfer-ownership="none">
5811             <doc xml:whitespace="preserve">a gchar* representing the mime type</doc>
5812             <type name="utf8" c:type="gchar*"/>
5813           </parameter>
5814         </parameters>
5815       </method>
5816       <method name="get_uri"
5817               c:identifier="atk_streamable_content_get_uri"
5818               version="1.12">
5819         <doc xml:whitespace="preserve">Get a string representing a URI in IETF standard format
5820 (see http://www.ietf.org/rfc/rfc2396.txt) from which the object's content
5821 may be streamed in the specified mime-type, if one is available.
5822 If mime_type is NULL, the URI for the default (and possibly only) mime-type is
5823 returned. 
5824 Note that it is possible for get_uri to return NULL but for
5825 get_stream to work nonetheless, since not all GIOChannels connect to URIs.
5826 can be constructed.</doc>
5827         <return-value transfer-ownership="full">
5828           <doc xml:whitespace="preserve">Returns a string representing a URI, or NULL if no corresponding URI</doc>
5829           <type name="utf8" c:type="gchar*"/>
5830         </return-value>
5831         <parameters>
5832           <parameter name="mime_type" transfer-ownership="none">
5833             <doc xml:whitespace="preserve">a gchar* representing the mime type, or NULL to request a URI for the default mime type.</doc>
5834             <type name="utf8" c:type="gchar*"/>
5835           </parameter>
5836         </parameters>
5837       </method>
5838     </interface>
5839     <record name="StreamableContentIface"
5840             c:type="AtkStreamableContentIface"
5841             glib:is-gtype-struct-for="StreamableContent">
5842       <field name="parent">
5843         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
5844       </field>
5845       <field name="get_n_mime_types">
5846         <callback name="get_n_mime_types" c:type="get_n_mime_types">
5847           <return-value transfer-ownership="none">
5848             <doc xml:whitespace="preserve">a gint which is the number of mime types supported by the object.</doc>
5849             <type name="int" c:type="gint"/>
5850           </return-value>
5851           <parameters>
5852             <parameter name="streamable" transfer-ownership="none">
5853               <type name="StreamableContent" c:type="AtkStreamableContent*"/>
5854             </parameter>
5855           </parameters>
5856         </callback>
5857       </field>
5858       <field name="get_mime_type">
5859         <callback name="get_mime_type" c:type="get_mime_type">
5860           <return-value transfer-ownership="none">
5861             <type name="utf8" c:type="gchar*"/>
5862           </return-value>
5863           <parameters>
5864             <parameter name="streamable" transfer-ownership="none">
5865               <type name="StreamableContent" c:type="AtkStreamableContent*"/>
5866             </parameter>
5867             <parameter name="i" transfer-ownership="none">
5868               <doc xml:whitespace="preserve">a gint representing the position of the mime type starting from 0</doc>
5869               <type name="int" c:type="gint"/>
5870             </parameter>
5871           </parameters>
5872         </callback>
5873       </field>
5874       <field name="get_stream">
5875         <callback name="get_stream" c:type="get_stream">
5876           <return-value transfer-ownership="full">
5877             <doc xml:whitespace="preserve">A #GIOChannel which contains the content in the specified mime</doc>
5878             <type name="GLib.IOChannel" c:type="GIOChannel*"/>
5879           </return-value>
5880           <parameters>
5881             <parameter name="streamable" transfer-ownership="none">
5882               <type name="StreamableContent" c:type="AtkStreamableContent*"/>
5883             </parameter>
5884             <parameter name="mime_type" transfer-ownership="none">
5885               <doc xml:whitespace="preserve">a gchar* representing the mime type</doc>
5886               <type name="utf8" c:type="gchar*"/>
5887             </parameter>
5888           </parameters>
5889         </callback>
5890       </field>
5891       <field name="get_uri">
5892         <callback name="get_uri" c:type="get_uri">
5893           <return-value transfer-ownership="none">
5894             <doc xml:whitespace="preserve">Returns a string representing a URI, or NULL if no corresponding URI</doc>
5895             <type name="utf8" c:type="gchar*"/>
5896           </return-value>
5897           <parameters>
5898             <parameter name="streamable" transfer-ownership="none">
5899               <type name="StreamableContent" c:type="AtkStreamableContent*"/>
5900             </parameter>
5901             <parameter name="mime_type" transfer-ownership="none">
5902               <doc xml:whitespace="preserve">a gchar* representing the mime type, or NULL to request a URI for the default mime type.</doc>
5903               <type name="utf8" c:type="gchar*"/>
5904             </parameter>
5905           </parameters>
5906         </callback>
5907       </field>
5908       <field name="pad1">
5909         <type name="Function" c:type="AtkFunction"/>
5910       </field>
5911       <field name="pad2">
5912         <type name="Function" c:type="AtkFunction"/>
5913       </field>
5914       <field name="pad3">
5915         <type name="Function" c:type="AtkFunction"/>
5916       </field>
5917     </record>
5918     <interface name="Table"
5919                c:type="AtkTable"
5920                glib:type-name="AtkTable"
5921                glib:get-type="atk_table_get_type"
5922                glib:type-struct="TableIface">
5923       <virtual-method name="ref_at" invoker="ref_at">
5924         <doc xml:whitespace="preserve">Get a reference to the table cell at @row, @column.</doc>
5925         <return-value transfer-ownership="full">
5926           <doc xml:whitespace="preserve">a AtkObject* representing the referred to accessible</doc>
5927           <type name="Object" c:type="AtkObject*"/>
5928         </return-value>
5929         <parameters>
5930           <parameter name="row" transfer-ownership="none">
5931             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
5932             <type name="int" c:type="gint"/>
5933           </parameter>
5934           <parameter name="column" transfer-ownership="none">
5935             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
5936             <type name="int" c:type="gint"/>
5937           </parameter>
5938         </parameters>
5939       </virtual-method>
5940       <virtual-method name="get_index_at" invoker="get_index_at">
5941         <doc xml:whitespace="preserve">Gets a #gint representing the index at the specified @row and @column.
5942 The value -1 is returned if the object at row,column is not a child
5943 of table or table does not implement this interface.</doc>
5944         <return-value transfer-ownership="none">
5945           <doc xml:whitespace="preserve">a #gint representing the index at specified position.</doc>
5946           <type name="int" c:type="gint"/>
5947         </return-value>
5948         <parameters>
5949           <parameter name="row" transfer-ownership="none">
5950             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
5951             <type name="int" c:type="gint"/>
5952           </parameter>
5953           <parameter name="column" transfer-ownership="none">
5954             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
5955             <type name="int" c:type="gint"/>
5956           </parameter>
5957         </parameters>
5958       </virtual-method>
5959       <virtual-method name="get_column_at_index" invoker="get_column_at_index">
5960         <doc xml:whitespace="preserve">Gets a #gint representing the column at the specified @index_. 
5961 or -1 if the table does not implement this interface</doc>
5962         <return-value transfer-ownership="none">
5963           <doc xml:whitespace="preserve">a gint representing the column at the specified index,</doc>
5964           <type name="int" c:type="gint"/>
5965         </return-value>
5966         <parameters>
5967           <parameter name="index_" transfer-ownership="none">
5968             <doc xml:whitespace="preserve">a #gint representing an index in @table</doc>
5969             <type name="int" c:type="gint"/>
5970           </parameter>
5971         </parameters>
5972       </virtual-method>
5973       <virtual-method name="get_row_at_index" invoker="get_row_at_index">
5974         <doc xml:whitespace="preserve">Gets a #gint representing the row at the specified @index_.
5975 or -1 if the table does not implement this interface</doc>
5976         <return-value transfer-ownership="none">
5977           <doc xml:whitespace="preserve">a gint representing the row at the specified index,</doc>
5978           <type name="int" c:type="gint"/>
5979         </return-value>
5980         <parameters>
5981           <parameter name="index_" transfer-ownership="none">
5982             <doc xml:whitespace="preserve">a #gint representing an index in @table</doc>
5983             <type name="int" c:type="gint"/>
5984           </parameter>
5985         </parameters>
5986       </virtual-method>
5987       <virtual-method name="get_n_columns" invoker="get_n_columns">
5988         <doc xml:whitespace="preserve">Gets the number of columns in the table.
5989 if value does not implement this interface.</doc>
5990         <return-value transfer-ownership="none">
5991           <doc xml:whitespace="preserve">a gint representing the number of columns, or 0</doc>
5992           <type name="int" c:type="gint"/>
5993         </return-value>
5994       </virtual-method>
5995       <virtual-method name="get_n_rows" invoker="get_n_rows">
5996         <doc xml:whitespace="preserve">Gets the number of rows in the table.
5997 if value does not implement this interface.</doc>
5998         <return-value transfer-ownership="none">
5999           <doc xml:whitespace="preserve">a gint representing the number of rows, or 0</doc>
6000           <type name="int" c:type="gint"/>
6001         </return-value>
6002       </virtual-method>
6003       <virtual-method name="get_column_extent_at"
6004                       invoker="get_column_extent_at">
6005         <doc xml:whitespace="preserve">Gets the number of columns occupied by the accessible object
6006 at the specified @row and @column in the @table.
6007 if value does not implement this interface.</doc>
6008         <return-value transfer-ownership="none">
6009           <doc xml:whitespace="preserve">a gint representing the column extent at specified position, or 0</doc>
6010           <type name="int" c:type="gint"/>
6011         </return-value>
6012         <parameters>
6013           <parameter name="row" transfer-ownership="none">
6014             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6015             <type name="int" c:type="gint"/>
6016           </parameter>
6017           <parameter name="column" transfer-ownership="none">
6018             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6019             <type name="int" c:type="gint"/>
6020           </parameter>
6021         </parameters>
6022       </virtual-method>
6023       <virtual-method name="get_row_extent_at" invoker="get_row_extent_at">
6024         <doc xml:whitespace="preserve">Gets the number of rows occupied by the accessible object
6025 at a specified @row and @column in the @table.
6026 if value does not implement this interface.</doc>
6027         <return-value transfer-ownership="none">
6028           <doc xml:whitespace="preserve">a gint representing the row extent at specified position, or 0</doc>
6029           <type name="int" c:type="gint"/>
6030         </return-value>
6031         <parameters>
6032           <parameter name="row" transfer-ownership="none">
6033             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6034             <type name="int" c:type="gint"/>
6035           </parameter>
6036           <parameter name="column" transfer-ownership="none">
6037             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6038             <type name="int" c:type="gint"/>
6039           </parameter>
6040         </parameters>
6041       </virtual-method>
6042       <virtual-method name="get_caption" invoker="get_caption">
6043         <doc xml:whitespace="preserve">Gets the caption for the @table.
6044 if value does not implement this interface.</doc>
6045         <return-value transfer-ownership="full">
6046           <doc xml:whitespace="preserve">a AtkObject* representing the table caption, or %NULL</doc>
6047           <type name="Object" c:type="AtkObject*"/>
6048         </return-value>
6049       </virtual-method>
6050       <virtual-method name="get_column_description"
6051                       invoker="get_column_description">
6052         <doc xml:whitespace="preserve">Gets the description text of the specified @column in the table
6053 if value does not implement this interface.</doc>
6054         <return-value transfer-ownership="none">
6055           <doc xml:whitespace="preserve">a gchar* representing the column description, or %NULL</doc>
6056           <type name="utf8" c:type="gchar*"/>
6057         </return-value>
6058         <parameters>
6059           <parameter name="column" transfer-ownership="none">
6060             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6061             <type name="int" c:type="gint"/>
6062           </parameter>
6063         </parameters>
6064       </virtual-method>
6065       <virtual-method name="get_column_header" invoker="get_column_header">
6066         <doc xml:whitespace="preserve">Gets the column header of a specified column in an accessible table.
6067 %NULL if value does not implement this interface.</doc>
6068         <return-value transfer-ownership="full">
6069           <doc xml:whitespace="preserve">a AtkObject* representing the specified column header, or</doc>
6070           <type name="Object" c:type="AtkObject*"/>
6071         </return-value>
6072         <parameters>
6073           <parameter name="column" transfer-ownership="none">
6074             <doc xml:whitespace="preserve">a #gint representing a column in the table</doc>
6075             <type name="int" c:type="gint"/>
6076           </parameter>
6077         </parameters>
6078       </virtual-method>
6079       <virtual-method name="get_row_description" invoker="get_row_description">
6080         <doc xml:whitespace="preserve">Gets the description text of the specified row in the table
6081 if value does not implement this interface.</doc>
6082         <return-value transfer-ownership="none">
6083           <doc xml:whitespace="preserve">a gchar* representing the row description, or %NULL</doc>
6084           <type name="utf8" c:type="gchar*"/>
6085         </return-value>
6086         <parameters>
6087           <parameter name="row" transfer-ownership="none">
6088             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6089             <type name="int" c:type="gint"/>
6090           </parameter>
6091         </parameters>
6092       </virtual-method>
6093       <virtual-method name="get_row_header" invoker="get_row_header">
6094         <doc xml:whitespace="preserve">Gets the row header of a specified row in an accessible table.
6095 %NULL if value does not implement this interface.</doc>
6096         <return-value transfer-ownership="full">
6097           <doc xml:whitespace="preserve">a AtkObject* representing the specified row header, or</doc>
6098           <type name="Object" c:type="AtkObject*"/>
6099         </return-value>
6100         <parameters>
6101           <parameter name="row" transfer-ownership="none">
6102             <doc xml:whitespace="preserve">a #gint representing a row in the table</doc>
6103             <type name="int" c:type="gint"/>
6104           </parameter>
6105         </parameters>
6106       </virtual-method>
6107       <virtual-method name="get_summary" invoker="get_summary">
6108         <doc xml:whitespace="preserve">Gets the summary description of the table.
6109 or zero if value does not implement this interface.</doc>
6110         <return-value transfer-ownership="full">
6111           <doc xml:whitespace="preserve">a AtkObject* representing a summary description of the table,</doc>
6112           <type name="Object" c:type="AtkObject*"/>
6113         </return-value>
6114       </virtual-method>
6115       <virtual-method name="set_caption" invoker="set_caption">
6116         <doc xml:whitespace="preserve">Sets the caption for the table.</doc>
6117         <return-value transfer-ownership="none">
6118           <type name="none" c:type="void"/>
6119         </return-value>
6120         <parameters>
6121           <parameter name="caption" transfer-ownership="none">
6122             <doc xml:whitespace="preserve">a #AtkObject representing the caption to set for @table</doc>
6123             <type name="Object" c:type="AtkObject*"/>
6124           </parameter>
6125         </parameters>
6126       </virtual-method>
6127       <virtual-method name="set_column_description"
6128                       invoker="set_column_description">
6129         <doc xml:whitespace="preserve">Sets the description text for the specified @column of the @table.</doc>
6130         <return-value transfer-ownership="none">
6131           <type name="none" c:type="void"/>
6132         </return-value>
6133         <parameters>
6134           <parameter name="column" transfer-ownership="none">
6135             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6136             <type name="int" c:type="gint"/>
6137           </parameter>
6138           <parameter name="description" transfer-ownership="none">
6139             <doc xml:whitespace="preserve">a #gchar representing the description text to set for the specified @column of the @table</doc>
6140             <type name="utf8" c:type="gchar*"/>
6141           </parameter>
6142         </parameters>
6143       </virtual-method>
6144       <virtual-method name="set_column_header" invoker="set_column_header">
6145         <doc xml:whitespace="preserve">Sets the specified column header to @header.</doc>
6146         <return-value transfer-ownership="none">
6147           <type name="none" c:type="void"/>
6148         </return-value>
6149         <parameters>
6150           <parameter name="column" transfer-ownership="none">
6151             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6152             <type name="int" c:type="gint"/>
6153           </parameter>
6154           <parameter name="header" transfer-ownership="none">
6155             <doc xml:whitespace="preserve">an #AtkTable</doc>
6156             <type name="Object" c:type="AtkObject*"/>
6157           </parameter>
6158         </parameters>
6159       </virtual-method>
6160       <virtual-method name="set_row_description" invoker="set_row_description">
6161         <doc xml:whitespace="preserve">Sets the description text for the specified @row of @table.</doc>
6162         <return-value transfer-ownership="none">
6163           <type name="none" c:type="void"/>
6164         </return-value>
6165         <parameters>
6166           <parameter name="row" transfer-ownership="none">
6167             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6168             <type name="int" c:type="gint"/>
6169           </parameter>
6170           <parameter name="description" transfer-ownership="none">
6171             <doc xml:whitespace="preserve">a #gchar representing the description text to set for the specified @row of @table</doc>
6172             <type name="utf8" c:type="gchar*"/>
6173           </parameter>
6174         </parameters>
6175       </virtual-method>
6176       <virtual-method name="set_row_header" invoker="set_row_header">
6177         <doc xml:whitespace="preserve">Sets the specified row header to @header.</doc>
6178         <return-value transfer-ownership="none">
6179           <type name="none" c:type="void"/>
6180         </return-value>
6181         <parameters>
6182           <parameter name="row" transfer-ownership="none">
6183             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6184             <type name="int" c:type="gint"/>
6185           </parameter>
6186           <parameter name="header" transfer-ownership="none">
6187             <doc xml:whitespace="preserve">an #AtkTable</doc>
6188             <type name="Object" c:type="AtkObject*"/>
6189           </parameter>
6190         </parameters>
6191       </virtual-method>
6192       <virtual-method name="set_summary" invoker="set_summary">
6193         <doc xml:whitespace="preserve">Sets the summary description of the table.</doc>
6194         <return-value transfer-ownership="none">
6195           <type name="none" c:type="void"/>
6196         </return-value>
6197         <parameters>
6198           <parameter name="accessible" transfer-ownership="none">
6199             <doc xml:whitespace="preserve">an #AtkObject representing the summary description to set for @table</doc>
6200             <type name="Object" c:type="AtkObject*"/>
6201           </parameter>
6202         </parameters>
6203       </virtual-method>
6204       <virtual-method name="get_selected_columns"
6205                       invoker="get_selected_columns">
6206         <doc xml:whitespace="preserve">Gets the selected columns of the table by initializing **selected with 
6207 the selected column numbers. This array should be freed by the caller.
6208 or %0 if value does not implement this interface.</doc>
6209         <return-value transfer-ownership="none">
6210           <doc xml:whitespace="preserve">a gint representing the number of selected columns,</doc>
6211           <type name="int" c:type="gint"/>
6212         </return-value>
6213         <parameters>
6214           <parameter name="selected"
6215                      direction="out"
6216                      caller-allocates="0"
6217                      transfer-ownership="full">
6218             <doc xml:whitespace="preserve">a #gint** that is to contain the selected columns numbers</doc>
6219             <type name="int" c:type="gint**"/>
6220           </parameter>
6221         </parameters>
6222       </virtual-method>
6223       <virtual-method name="get_selected_rows" invoker="get_selected_rows">
6224         <doc xml:whitespace="preserve">Gets the selected rows of the table by initializing **selected with 
6225 the selected row numbers. This array should be freed by the caller.
6226 or zero if value does not implement this interface.</doc>
6227         <return-value transfer-ownership="none">
6228           <doc xml:whitespace="preserve">a gint representing the number of selected rows,</doc>
6229           <type name="int" c:type="gint"/>
6230         </return-value>
6231         <parameters>
6232           <parameter name="selected"
6233                      direction="out"
6234                      caller-allocates="0"
6235                      transfer-ownership="full">
6236             <doc xml:whitespace="preserve">a #gint** that is to contain the selected row numbers</doc>
6237             <type name="int" c:type="gint**"/>
6238           </parameter>
6239         </parameters>
6240       </virtual-method>
6241       <virtual-method name="is_column_selected" invoker="is_column_selected">
6242         <doc xml:whitespace="preserve">Gets a boolean value indicating whether the specified @column
6243 is selected
6244 if value does not implement this interface.</doc>
6245         <return-value transfer-ownership="none">
6246           <doc xml:whitespace="preserve">a gboolean representing if the column is selected, or 0</doc>
6247           <type name="boolean" c:type="gboolean"/>
6248         </return-value>
6249         <parameters>
6250           <parameter name="column" transfer-ownership="none">
6251             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6252             <type name="int" c:type="gint"/>
6253           </parameter>
6254         </parameters>
6255       </virtual-method>
6256       <virtual-method name="is_row_selected" invoker="is_row_selected">
6257         <doc xml:whitespace="preserve">Gets a boolean value indicating whether the specified @row
6258 is selected
6259 if value does not implement this interface.</doc>
6260         <return-value transfer-ownership="none">
6261           <doc xml:whitespace="preserve">a gboolean representing if the row is selected, or 0</doc>
6262           <type name="boolean" c:type="gboolean"/>
6263         </return-value>
6264         <parameters>
6265           <parameter name="row" transfer-ownership="none">
6266             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6267             <type name="int" c:type="gint"/>
6268           </parameter>
6269         </parameters>
6270       </virtual-method>
6271       <virtual-method name="is_selected" invoker="is_selected">
6272         <doc xml:whitespace="preserve">Gets a boolean value indicating whether the accessible object
6273 at the specified @row and @column is selected
6274 if value does not implement this interface.</doc>
6275         <return-value transfer-ownership="none">
6276           <doc xml:whitespace="preserve">a gboolean representing if the cell is selected, or 0</doc>
6277           <type name="boolean" c:type="gboolean"/>
6278         </return-value>
6279         <parameters>
6280           <parameter name="row" transfer-ownership="none">
6281             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6282             <type name="int" c:type="gint"/>
6283           </parameter>
6284           <parameter name="column" transfer-ownership="none">
6285             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6286             <type name="int" c:type="gint"/>
6287           </parameter>
6288         </parameters>
6289       </virtual-method>
6290       <virtual-method name="add_row_selection" invoker="add_row_selection">
6291         <doc xml:whitespace="preserve">Adds the specified @row to the selection. 
6292 or 0 if value does not implement this interface.</doc>
6293         <return-value transfer-ownership="none">
6294           <doc xml:whitespace="preserve">a gboolean representing if row was successfully added to selection,</doc>
6295           <type name="boolean" c:type="gboolean"/>
6296         </return-value>
6297         <parameters>
6298           <parameter name="row" transfer-ownership="none">
6299             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6300             <type name="int" c:type="gint"/>
6301           </parameter>
6302         </parameters>
6303       </virtual-method>
6304       <virtual-method name="remove_row_selection"
6305                       invoker="remove_row_selection">
6306         <doc xml:whitespace="preserve">Removes the specified @row from the selection. 
6307 the selection, or 0 if value does not implement this interface.</doc>
6308         <return-value transfer-ownership="none">
6309           <doc xml:whitespace="preserve">a gboolean representing if the row was successfully removed from</doc>
6310           <type name="boolean" c:type="gboolean"/>
6311         </return-value>
6312         <parameters>
6313           <parameter name="row" transfer-ownership="none">
6314             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6315             <type name="int" c:type="gint"/>
6316           </parameter>
6317         </parameters>
6318       </virtual-method>
6319       <virtual-method name="add_column_selection"
6320                       invoker="add_column_selection">
6321         <doc xml:whitespace="preserve">Adds the specified @column to the selection. 
6322 the selection, or 0 if value does not implement this interface.</doc>
6323         <return-value transfer-ownership="none">
6324           <doc xml:whitespace="preserve">a gboolean representing if the column was successfully added to</doc>
6325           <type name="boolean" c:type="gboolean"/>
6326         </return-value>
6327         <parameters>
6328           <parameter name="column" transfer-ownership="none">
6329             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6330             <type name="int" c:type="gint"/>
6331           </parameter>
6332         </parameters>
6333       </virtual-method>
6334       <virtual-method name="remove_column_selection"
6335                       invoker="remove_column_selection">
6336         <doc xml:whitespace="preserve">Adds the specified @column to the selection. 
6337 the selection, or 0 if value does not implement this interface.</doc>
6338         <return-value transfer-ownership="none">
6339           <doc xml:whitespace="preserve">a gboolean representing if the column was successfully removed from</doc>
6340           <type name="boolean" c:type="gboolean"/>
6341         </return-value>
6342         <parameters>
6343           <parameter name="column" transfer-ownership="none">
6344             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6345             <type name="int" c:type="gint"/>
6346           </parameter>
6347         </parameters>
6348       </virtual-method>
6349       <method name="ref_at" c:identifier="atk_table_ref_at">
6350         <doc xml:whitespace="preserve">Get a reference to the table cell at @row, @column.</doc>
6351         <return-value transfer-ownership="full">
6352           <doc xml:whitespace="preserve">a AtkObject* representing the referred to accessible</doc>
6353           <type name="Object" c:type="AtkObject*"/>
6354         </return-value>
6355         <parameters>
6356           <parameter name="row" transfer-ownership="none">
6357             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6358             <type name="int" c:type="gint"/>
6359           </parameter>
6360           <parameter name="column" transfer-ownership="none">
6361             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6362             <type name="int" c:type="gint"/>
6363           </parameter>
6364         </parameters>
6365       </method>
6366       <method name="get_index_at" c:identifier="atk_table_get_index_at">
6367         <doc xml:whitespace="preserve">Gets a #gint representing the index at the specified @row and @column.
6368 The value -1 is returned if the object at row,column is not a child
6369 of table or table does not implement this interface.</doc>
6370         <return-value transfer-ownership="none">
6371           <doc xml:whitespace="preserve">a #gint representing the index at specified position.</doc>
6372           <type name="int" c:type="gint"/>
6373         </return-value>
6374         <parameters>
6375           <parameter name="row" transfer-ownership="none">
6376             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6377             <type name="int" c:type="gint"/>
6378           </parameter>
6379           <parameter name="column" transfer-ownership="none">
6380             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6381             <type name="int" c:type="gint"/>
6382           </parameter>
6383         </parameters>
6384       </method>
6385       <method name="get_column_at_index"
6386               c:identifier="atk_table_get_column_at_index">
6387         <doc xml:whitespace="preserve">Gets a #gint representing the column at the specified @index_. 
6388 or -1 if the table does not implement this interface</doc>
6389         <return-value transfer-ownership="none">
6390           <doc xml:whitespace="preserve">a gint representing the column at the specified index,</doc>
6391           <type name="int" c:type="gint"/>
6392         </return-value>
6393         <parameters>
6394           <parameter name="index_" transfer-ownership="none">
6395             <doc xml:whitespace="preserve">a #gint representing an index in @table</doc>
6396             <type name="int" c:type="gint"/>
6397           </parameter>
6398         </parameters>
6399       </method>
6400       <method name="get_row_at_index"
6401               c:identifier="atk_table_get_row_at_index">
6402         <doc xml:whitespace="preserve">Gets a #gint representing the row at the specified @index_.
6403 or -1 if the table does not implement this interface</doc>
6404         <return-value transfer-ownership="none">
6405           <doc xml:whitespace="preserve">a gint representing the row at the specified index,</doc>
6406           <type name="int" c:type="gint"/>
6407         </return-value>
6408         <parameters>
6409           <parameter name="index_" transfer-ownership="none">
6410             <doc xml:whitespace="preserve">a #gint representing an index in @table</doc>
6411             <type name="int" c:type="gint"/>
6412           </parameter>
6413         </parameters>
6414       </method>
6415       <method name="get_n_columns" c:identifier="atk_table_get_n_columns">
6416         <doc xml:whitespace="preserve">Gets the number of columns in the table.
6417 if value does not implement this interface.</doc>
6418         <return-value transfer-ownership="none">
6419           <doc xml:whitespace="preserve">a gint representing the number of columns, or 0</doc>
6420           <type name="int" c:type="gint"/>
6421         </return-value>
6422       </method>
6423       <method name="get_n_rows" c:identifier="atk_table_get_n_rows">
6424         <doc xml:whitespace="preserve">Gets the number of rows in the table.
6425 if value does not implement this interface.</doc>
6426         <return-value transfer-ownership="none">
6427           <doc xml:whitespace="preserve">a gint representing the number of rows, or 0</doc>
6428           <type name="int" c:type="gint"/>
6429         </return-value>
6430       </method>
6431       <method name="get_column_extent_at"
6432               c:identifier="atk_table_get_column_extent_at">
6433         <doc xml:whitespace="preserve">Gets the number of columns occupied by the accessible object
6434 at the specified @row and @column in the @table.
6435 if value does not implement this interface.</doc>
6436         <return-value transfer-ownership="none">
6437           <doc xml:whitespace="preserve">a gint representing the column extent at specified position, or 0</doc>
6438           <type name="int" c:type="gint"/>
6439         </return-value>
6440         <parameters>
6441           <parameter name="row" transfer-ownership="none">
6442             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6443             <type name="int" c:type="gint"/>
6444           </parameter>
6445           <parameter name="column" transfer-ownership="none">
6446             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6447             <type name="int" c:type="gint"/>
6448           </parameter>
6449         </parameters>
6450       </method>
6451       <method name="get_row_extent_at"
6452               c:identifier="atk_table_get_row_extent_at">
6453         <doc xml:whitespace="preserve">Gets the number of rows occupied by the accessible object
6454 at a specified @row and @column in the @table.
6455 if value does not implement this interface.</doc>
6456         <return-value transfer-ownership="none">
6457           <doc xml:whitespace="preserve">a gint representing the row extent at specified position, or 0</doc>
6458           <type name="int" c:type="gint"/>
6459         </return-value>
6460         <parameters>
6461           <parameter name="row" transfer-ownership="none">
6462             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6463             <type name="int" c:type="gint"/>
6464           </parameter>
6465           <parameter name="column" transfer-ownership="none">
6466             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6467             <type name="int" c:type="gint"/>
6468           </parameter>
6469         </parameters>
6470       </method>
6471       <method name="get_caption" c:identifier="atk_table_get_caption">
6472         <doc xml:whitespace="preserve">Gets the caption for the @table.
6473 if value does not implement this interface.</doc>
6474         <return-value transfer-ownership="full">
6475           <doc xml:whitespace="preserve">a AtkObject* representing the table caption, or %NULL</doc>
6476           <type name="Object" c:type="AtkObject*"/>
6477         </return-value>
6478       </method>
6479       <method name="get_column_description"
6480               c:identifier="atk_table_get_column_description">
6481         <doc xml:whitespace="preserve">Gets the description text of the specified @column in the table
6482 if value does not implement this interface.</doc>
6483         <return-value transfer-ownership="none">
6484           <doc xml:whitespace="preserve">a gchar* representing the column description, or %NULL</doc>
6485           <type name="utf8" c:type="gchar*"/>
6486         </return-value>
6487         <parameters>
6488           <parameter name="column" transfer-ownership="none">
6489             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6490             <type name="int" c:type="gint"/>
6491           </parameter>
6492         </parameters>
6493       </method>
6494       <method name="get_column_header"
6495               c:identifier="atk_table_get_column_header">
6496         <doc xml:whitespace="preserve">Gets the column header of a specified column in an accessible table.
6497 %NULL if value does not implement this interface.</doc>
6498         <return-value transfer-ownership="full">
6499           <doc xml:whitespace="preserve">a AtkObject* representing the specified column header, or</doc>
6500           <type name="Object" c:type="AtkObject*"/>
6501         </return-value>
6502         <parameters>
6503           <parameter name="column" transfer-ownership="none">
6504             <doc xml:whitespace="preserve">a #gint representing a column in the table</doc>
6505             <type name="int" c:type="gint"/>
6506           </parameter>
6507         </parameters>
6508       </method>
6509       <method name="get_row_description"
6510               c:identifier="atk_table_get_row_description">
6511         <doc xml:whitespace="preserve">Gets the description text of the specified row in the table
6512 if value does not implement this interface.</doc>
6513         <return-value transfer-ownership="none">
6514           <doc xml:whitespace="preserve">a gchar* representing the row description, or %NULL</doc>
6515           <type name="utf8" c:type="gchar*"/>
6516         </return-value>
6517         <parameters>
6518           <parameter name="row" transfer-ownership="none">
6519             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6520             <type name="int" c:type="gint"/>
6521           </parameter>
6522         </parameters>
6523       </method>
6524       <method name="get_row_header" c:identifier="atk_table_get_row_header">
6525         <doc xml:whitespace="preserve">Gets the row header of a specified row in an accessible table.
6526 %NULL if value does not implement this interface.</doc>
6527         <return-value transfer-ownership="full">
6528           <doc xml:whitespace="preserve">a AtkObject* representing the specified row header, or</doc>
6529           <type name="Object" c:type="AtkObject*"/>
6530         </return-value>
6531         <parameters>
6532           <parameter name="row" transfer-ownership="none">
6533             <doc xml:whitespace="preserve">a #gint representing a row in the table</doc>
6534             <type name="int" c:type="gint"/>
6535           </parameter>
6536         </parameters>
6537       </method>
6538       <method name="get_summary" c:identifier="atk_table_get_summary">
6539         <doc xml:whitespace="preserve">Gets the summary description of the table.
6540 or zero if value does not implement this interface.</doc>
6541         <return-value transfer-ownership="full">
6542           <doc xml:whitespace="preserve">a AtkObject* representing a summary description of the table,</doc>
6543           <type name="Object" c:type="AtkObject*"/>
6544         </return-value>
6545       </method>
6546       <method name="set_caption" c:identifier="atk_table_set_caption">
6547         <doc xml:whitespace="preserve">Sets the caption for the table.</doc>
6548         <return-value transfer-ownership="none">
6549           <type name="none" c:type="void"/>
6550         </return-value>
6551         <parameters>
6552           <parameter name="caption" transfer-ownership="none">
6553             <doc xml:whitespace="preserve">a #AtkObject representing the caption to set for @table</doc>
6554             <type name="Object" c:type="AtkObject*"/>
6555           </parameter>
6556         </parameters>
6557       </method>
6558       <method name="set_column_description"
6559               c:identifier="atk_table_set_column_description">
6560         <doc xml:whitespace="preserve">Sets the description text for the specified @column of the @table.</doc>
6561         <return-value transfer-ownership="none">
6562           <type name="none" c:type="void"/>
6563         </return-value>
6564         <parameters>
6565           <parameter name="column" transfer-ownership="none">
6566             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6567             <type name="int" c:type="gint"/>
6568           </parameter>
6569           <parameter name="description" transfer-ownership="none">
6570             <doc xml:whitespace="preserve">a #gchar representing the description text to set for the specified @column of the @table</doc>
6571             <type name="utf8" c:type="gchar*"/>
6572           </parameter>
6573         </parameters>
6574       </method>
6575       <method name="set_column_header"
6576               c:identifier="atk_table_set_column_header">
6577         <doc xml:whitespace="preserve">Sets the specified column header to @header.</doc>
6578         <return-value transfer-ownership="none">
6579           <type name="none" c:type="void"/>
6580         </return-value>
6581         <parameters>
6582           <parameter name="column" transfer-ownership="none">
6583             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6584             <type name="int" c:type="gint"/>
6585           </parameter>
6586           <parameter name="header" transfer-ownership="none">
6587             <doc xml:whitespace="preserve">an #AtkTable</doc>
6588             <type name="Object" c:type="AtkObject*"/>
6589           </parameter>
6590         </parameters>
6591       </method>
6592       <method name="set_row_description"
6593               c:identifier="atk_table_set_row_description">
6594         <doc xml:whitespace="preserve">Sets the description text for the specified @row of @table.</doc>
6595         <return-value transfer-ownership="none">
6596           <type name="none" c:type="void"/>
6597         </return-value>
6598         <parameters>
6599           <parameter name="row" transfer-ownership="none">
6600             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6601             <type name="int" c:type="gint"/>
6602           </parameter>
6603           <parameter name="description" transfer-ownership="none">
6604             <doc xml:whitespace="preserve">a #gchar representing the description text to set for the specified @row of @table</doc>
6605             <type name="utf8" c:type="gchar*"/>
6606           </parameter>
6607         </parameters>
6608       </method>
6609       <method name="set_row_header" c:identifier="atk_table_set_row_header">
6610         <doc xml:whitespace="preserve">Sets the specified row header to @header.</doc>
6611         <return-value transfer-ownership="none">
6612           <type name="none" c:type="void"/>
6613         </return-value>
6614         <parameters>
6615           <parameter name="row" transfer-ownership="none">
6616             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6617             <type name="int" c:type="gint"/>
6618           </parameter>
6619           <parameter name="header" transfer-ownership="none">
6620             <doc xml:whitespace="preserve">an #AtkTable</doc>
6621             <type name="Object" c:type="AtkObject*"/>
6622           </parameter>
6623         </parameters>
6624       </method>
6625       <method name="set_summary" c:identifier="atk_table_set_summary">
6626         <doc xml:whitespace="preserve">Sets the summary description of the table.</doc>
6627         <return-value transfer-ownership="none">
6628           <type name="none" c:type="void"/>
6629         </return-value>
6630         <parameters>
6631           <parameter name="accessible" transfer-ownership="none">
6632             <doc xml:whitespace="preserve">an #AtkObject representing the summary description to set for @table</doc>
6633             <type name="Object" c:type="AtkObject*"/>
6634           </parameter>
6635         </parameters>
6636       </method>
6637       <method name="get_selected_columns"
6638               c:identifier="atk_table_get_selected_columns">
6639         <doc xml:whitespace="preserve">Gets the selected columns of the table by initializing **selected with 
6640 the selected column numbers. This array should be freed by the caller.
6641 or %0 if value does not implement this interface.</doc>
6642         <return-value transfer-ownership="none">
6643           <doc xml:whitespace="preserve">a gint representing the number of selected columns,</doc>
6644           <type name="int" c:type="gint"/>
6645         </return-value>
6646         <parameters>
6647           <parameter name="selected"
6648                      direction="out"
6649                      caller-allocates="0"
6650                      transfer-ownership="full">
6651             <doc xml:whitespace="preserve">a #gint** that is to contain the selected columns numbers</doc>
6652             <type name="int" c:type="gint**"/>
6653           </parameter>
6654         </parameters>
6655       </method>
6656       <method name="get_selected_rows"
6657               c:identifier="atk_table_get_selected_rows">
6658         <doc xml:whitespace="preserve">Gets the selected rows of the table by initializing **selected with 
6659 the selected row numbers. This array should be freed by the caller.
6660 or zero if value does not implement this interface.</doc>
6661         <return-value transfer-ownership="none">
6662           <doc xml:whitespace="preserve">a gint representing the number of selected rows,</doc>
6663           <type name="int" c:type="gint"/>
6664         </return-value>
6665         <parameters>
6666           <parameter name="selected"
6667                      direction="out"
6668                      caller-allocates="0"
6669                      transfer-ownership="full">
6670             <doc xml:whitespace="preserve">a #gint** that is to contain the selected row numbers</doc>
6671             <type name="int" c:type="gint**"/>
6672           </parameter>
6673         </parameters>
6674       </method>
6675       <method name="is_column_selected"
6676               c:identifier="atk_table_is_column_selected">
6677         <doc xml:whitespace="preserve">Gets a boolean value indicating whether the specified @column
6678 is selected
6679 if value does not implement this interface.</doc>
6680         <return-value transfer-ownership="none">
6681           <doc xml:whitespace="preserve">a gboolean representing if the column is selected, or 0</doc>
6682           <type name="boolean" c:type="gboolean"/>
6683         </return-value>
6684         <parameters>
6685           <parameter name="column" transfer-ownership="none">
6686             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6687             <type name="int" c:type="gint"/>
6688           </parameter>
6689         </parameters>
6690       </method>
6691       <method name="is_row_selected" c:identifier="atk_table_is_row_selected">
6692         <doc xml:whitespace="preserve">Gets a boolean value indicating whether the specified @row
6693 is selected
6694 if value does not implement this interface.</doc>
6695         <return-value transfer-ownership="none">
6696           <doc xml:whitespace="preserve">a gboolean representing if the row is selected, or 0</doc>
6697           <type name="boolean" c:type="gboolean"/>
6698         </return-value>
6699         <parameters>
6700           <parameter name="row" transfer-ownership="none">
6701             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6702             <type name="int" c:type="gint"/>
6703           </parameter>
6704         </parameters>
6705       </method>
6706       <method name="is_selected" c:identifier="atk_table_is_selected">
6707         <doc xml:whitespace="preserve">Gets a boolean value indicating whether the accessible object
6708 at the specified @row and @column is selected
6709 if value does not implement this interface.</doc>
6710         <return-value transfer-ownership="none">
6711           <doc xml:whitespace="preserve">a gboolean representing if the cell is selected, or 0</doc>
6712           <type name="boolean" c:type="gboolean"/>
6713         </return-value>
6714         <parameters>
6715           <parameter name="row" transfer-ownership="none">
6716             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6717             <type name="int" c:type="gint"/>
6718           </parameter>
6719           <parameter name="column" transfer-ownership="none">
6720             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6721             <type name="int" c:type="gint"/>
6722           </parameter>
6723         </parameters>
6724       </method>
6725       <method name="add_row_selection"
6726               c:identifier="atk_table_add_row_selection">
6727         <doc xml:whitespace="preserve">Adds the specified @row to the selection. 
6728 or 0 if value does not implement this interface.</doc>
6729         <return-value transfer-ownership="none">
6730           <doc xml:whitespace="preserve">a gboolean representing if row was successfully added to selection,</doc>
6731           <type name="boolean" c:type="gboolean"/>
6732         </return-value>
6733         <parameters>
6734           <parameter name="row" transfer-ownership="none">
6735             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6736             <type name="int" c:type="gint"/>
6737           </parameter>
6738         </parameters>
6739       </method>
6740       <method name="remove_row_selection"
6741               c:identifier="atk_table_remove_row_selection">
6742         <doc xml:whitespace="preserve">Removes the specified @row from the selection. 
6743 the selection, or 0 if value does not implement this interface.</doc>
6744         <return-value transfer-ownership="none">
6745           <doc xml:whitespace="preserve">a gboolean representing if the row was successfully removed from</doc>
6746           <type name="boolean" c:type="gboolean"/>
6747         </return-value>
6748         <parameters>
6749           <parameter name="row" transfer-ownership="none">
6750             <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6751             <type name="int" c:type="gint"/>
6752           </parameter>
6753         </parameters>
6754       </method>
6755       <method name="add_column_selection"
6756               c:identifier="atk_table_add_column_selection">
6757         <doc xml:whitespace="preserve">Adds the specified @column to the selection. 
6758 the selection, or 0 if value does not implement this interface.</doc>
6759         <return-value transfer-ownership="none">
6760           <doc xml:whitespace="preserve">a gboolean representing if the column was successfully added to</doc>
6761           <type name="boolean" c:type="gboolean"/>
6762         </return-value>
6763         <parameters>
6764           <parameter name="column" transfer-ownership="none">
6765             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6766             <type name="int" c:type="gint"/>
6767           </parameter>
6768         </parameters>
6769       </method>
6770       <method name="remove_column_selection"
6771               c:identifier="atk_table_remove_column_selection">
6772         <doc xml:whitespace="preserve">Adds the specified @column to the selection. 
6773 the selection, or 0 if value does not implement this interface.</doc>
6774         <return-value transfer-ownership="none">
6775           <doc xml:whitespace="preserve">a gboolean representing if the column was successfully removed from</doc>
6776           <type name="boolean" c:type="gboolean"/>
6777         </return-value>
6778         <parameters>
6779           <parameter name="column" transfer-ownership="none">
6780             <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6781             <type name="int" c:type="gint"/>
6782           </parameter>
6783         </parameters>
6784       </method>
6785       <glib:signal name="column-deleted">
6786         <return-value transfer-ownership="full">
6787           <type name="none" c:type="void"/>
6788         </return-value>
6789         <parameters>
6790           <parameter name="object" transfer-ownership="none">
6791             <type name="int" c:type="gint"/>
6792           </parameter>
6793           <parameter name="p0" transfer-ownership="none">
6794             <type name="int" c:type="gint"/>
6795           </parameter>
6796         </parameters>
6797       </glib:signal>
6798       <glib:signal name="column-inserted">
6799         <return-value transfer-ownership="full">
6800           <type name="none" c:type="void"/>
6801         </return-value>
6802         <parameters>
6803           <parameter name="object" transfer-ownership="none">
6804             <type name="int" c:type="gint"/>
6805           </parameter>
6806           <parameter name="p0" transfer-ownership="none">
6807             <type name="int" c:type="gint"/>
6808           </parameter>
6809         </parameters>
6810       </glib:signal>
6811       <glib:signal name="column-reordered">
6812         <return-value transfer-ownership="full">
6813           <type name="none" c:type="void"/>
6814         </return-value>
6815       </glib:signal>
6816       <glib:signal name="model-changed">
6817         <return-value transfer-ownership="full">
6818           <type name="none" c:type="void"/>
6819         </return-value>
6820       </glib:signal>
6821       <glib:signal name="row-deleted">
6822         <return-value transfer-ownership="full">
6823           <type name="none" c:type="void"/>
6824         </return-value>
6825         <parameters>
6826           <parameter name="object" transfer-ownership="none">
6827             <type name="int" c:type="gint"/>
6828           </parameter>
6829           <parameter name="p0" transfer-ownership="none">
6830             <type name="int" c:type="gint"/>
6831           </parameter>
6832         </parameters>
6833       </glib:signal>
6834       <glib:signal name="row-inserted">
6835         <return-value transfer-ownership="full">
6836           <type name="none" c:type="void"/>
6837         </return-value>
6838         <parameters>
6839           <parameter name="object" transfer-ownership="none">
6840             <type name="int" c:type="gint"/>
6841           </parameter>
6842           <parameter name="p0" transfer-ownership="none">
6843             <type name="int" c:type="gint"/>
6844           </parameter>
6845         </parameters>
6846       </glib:signal>
6847       <glib:signal name="row-reordered">
6848         <return-value transfer-ownership="full">
6849           <type name="none" c:type="void"/>
6850         </return-value>
6851       </glib:signal>
6852     </interface>
6853     <record name="TableIface"
6854             c:type="AtkTableIface"
6855             glib:is-gtype-struct-for="Table">
6856       <field name="parent">
6857         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
6858       </field>
6859       <field name="ref_at">
6860         <callback name="ref_at" c:type="ref_at">
6861           <return-value transfer-ownership="full">
6862             <doc xml:whitespace="preserve">a AtkObject* representing the referred to accessible</doc>
6863             <type name="Object" c:type="AtkObject*"/>
6864           </return-value>
6865           <parameters>
6866             <parameter name="table" transfer-ownership="none">
6867               <type name="Table" c:type="AtkTable*"/>
6868             </parameter>
6869             <parameter name="row" transfer-ownership="none">
6870               <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6871               <type name="int" c:type="gint"/>
6872             </parameter>
6873             <parameter name="column" transfer-ownership="none">
6874               <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6875               <type name="int" c:type="gint"/>
6876             </parameter>
6877           </parameters>
6878         </callback>
6879       </field>
6880       <field name="get_index_at">
6881         <callback name="get_index_at" c:type="get_index_at">
6882           <return-value transfer-ownership="none">
6883             <doc xml:whitespace="preserve">a #gint representing the index at specified position.</doc>
6884             <type name="int" c:type="gint"/>
6885           </return-value>
6886           <parameters>
6887             <parameter name="table" transfer-ownership="none">
6888               <type name="Table" c:type="AtkTable*"/>
6889             </parameter>
6890             <parameter name="row" transfer-ownership="none">
6891               <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6892               <type name="int" c:type="gint"/>
6893             </parameter>
6894             <parameter name="column" transfer-ownership="none">
6895               <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6896               <type name="int" c:type="gint"/>
6897             </parameter>
6898           </parameters>
6899         </callback>
6900       </field>
6901       <field name="get_column_at_index">
6902         <callback name="get_column_at_index" c:type="get_column_at_index">
6903           <return-value transfer-ownership="none">
6904             <doc xml:whitespace="preserve">a gint representing the column at the specified index,</doc>
6905             <type name="int" c:type="gint"/>
6906           </return-value>
6907           <parameters>
6908             <parameter name="table" transfer-ownership="none">
6909               <type name="Table" c:type="AtkTable*"/>
6910             </parameter>
6911             <parameter name="index_" transfer-ownership="none">
6912               <doc xml:whitespace="preserve">a #gint representing an index in @table</doc>
6913               <type name="int" c:type="gint"/>
6914             </parameter>
6915           </parameters>
6916         </callback>
6917       </field>
6918       <field name="get_row_at_index">
6919         <callback name="get_row_at_index" c:type="get_row_at_index">
6920           <return-value transfer-ownership="none">
6921             <doc xml:whitespace="preserve">a gint representing the row at the specified index,</doc>
6922             <type name="int" c:type="gint"/>
6923           </return-value>
6924           <parameters>
6925             <parameter name="table" transfer-ownership="none">
6926               <type name="Table" c:type="AtkTable*"/>
6927             </parameter>
6928             <parameter name="index_" transfer-ownership="none">
6929               <doc xml:whitespace="preserve">a #gint representing an index in @table</doc>
6930               <type name="int" c:type="gint"/>
6931             </parameter>
6932           </parameters>
6933         </callback>
6934       </field>
6935       <field name="get_n_columns">
6936         <callback name="get_n_columns" c:type="get_n_columns">
6937           <return-value transfer-ownership="none">
6938             <doc xml:whitespace="preserve">a gint representing the number of columns, or 0</doc>
6939             <type name="int" c:type="gint"/>
6940           </return-value>
6941           <parameters>
6942             <parameter name="table" transfer-ownership="none">
6943               <type name="Table" c:type="AtkTable*"/>
6944             </parameter>
6945           </parameters>
6946         </callback>
6947       </field>
6948       <field name="get_n_rows">
6949         <callback name="get_n_rows" c:type="get_n_rows">
6950           <return-value transfer-ownership="none">
6951             <doc xml:whitespace="preserve">a gint representing the number of rows, or 0</doc>
6952             <type name="int" c:type="gint"/>
6953           </return-value>
6954           <parameters>
6955             <parameter name="table" transfer-ownership="none">
6956               <type name="Table" c:type="AtkTable*"/>
6957             </parameter>
6958           </parameters>
6959         </callback>
6960       </field>
6961       <field name="get_column_extent_at">
6962         <callback name="get_column_extent_at" c:type="get_column_extent_at">
6963           <return-value transfer-ownership="none">
6964             <doc xml:whitespace="preserve">a gint representing the column extent at specified position, or 0</doc>
6965             <type name="int" c:type="gint"/>
6966           </return-value>
6967           <parameters>
6968             <parameter name="table" transfer-ownership="none">
6969               <type name="Table" c:type="AtkTable*"/>
6970             </parameter>
6971             <parameter name="row" transfer-ownership="none">
6972               <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6973               <type name="int" c:type="gint"/>
6974             </parameter>
6975             <parameter name="column" transfer-ownership="none">
6976               <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6977               <type name="int" c:type="gint"/>
6978             </parameter>
6979           </parameters>
6980         </callback>
6981       </field>
6982       <field name="get_row_extent_at">
6983         <callback name="get_row_extent_at" c:type="get_row_extent_at">
6984           <return-value transfer-ownership="none">
6985             <doc xml:whitespace="preserve">a gint representing the row extent at specified position, or 0</doc>
6986             <type name="int" c:type="gint"/>
6987           </return-value>
6988           <parameters>
6989             <parameter name="table" transfer-ownership="none">
6990               <type name="Table" c:type="AtkTable*"/>
6991             </parameter>
6992             <parameter name="row" transfer-ownership="none">
6993               <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
6994               <type name="int" c:type="gint"/>
6995             </parameter>
6996             <parameter name="column" transfer-ownership="none">
6997               <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
6998               <type name="int" c:type="gint"/>
6999             </parameter>
7000           </parameters>
7001         </callback>
7002       </field>
7003       <field name="get_caption">
7004         <callback name="get_caption" c:type="get_caption">
7005           <return-value transfer-ownership="full">
7006             <doc xml:whitespace="preserve">a AtkObject* representing the table caption, or %NULL</doc>
7007             <type name="Object" c:type="AtkObject*"/>
7008           </return-value>
7009           <parameters>
7010             <parameter name="table" transfer-ownership="none">
7011               <type name="Table" c:type="AtkTable*"/>
7012             </parameter>
7013           </parameters>
7014         </callback>
7015       </field>
7016       <field name="get_column_description">
7017         <callback name="get_column_description"
7018                   c:type="get_column_description">
7019           <return-value transfer-ownership="none">
7020             <doc xml:whitespace="preserve">a gchar* representing the column description, or %NULL</doc>
7021             <type name="utf8" c:type="gchar*"/>
7022           </return-value>
7023           <parameters>
7024             <parameter name="table" transfer-ownership="none">
7025               <type name="Table" c:type="AtkTable*"/>
7026             </parameter>
7027             <parameter name="column" transfer-ownership="none">
7028               <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
7029               <type name="int" c:type="gint"/>
7030             </parameter>
7031           </parameters>
7032         </callback>
7033       </field>
7034       <field name="get_column_header">
7035         <callback name="get_column_header" c:type="get_column_header">
7036           <return-value transfer-ownership="full">
7037             <doc xml:whitespace="preserve">a AtkObject* representing the specified column header, or</doc>
7038             <type name="Object" c:type="AtkObject*"/>
7039           </return-value>
7040           <parameters>
7041             <parameter name="table" transfer-ownership="none">
7042               <type name="Table" c:type="AtkTable*"/>
7043             </parameter>
7044             <parameter name="column" transfer-ownership="none">
7045               <doc xml:whitespace="preserve">a #gint representing a column in the table</doc>
7046               <type name="int" c:type="gint"/>
7047             </parameter>
7048           </parameters>
7049         </callback>
7050       </field>
7051       <field name="get_row_description">
7052         <callback name="get_row_description" c:type="get_row_description">
7053           <return-value transfer-ownership="none">
7054             <doc xml:whitespace="preserve">a gchar* representing the row description, or %NULL</doc>
7055             <type name="utf8" c:type="gchar*"/>
7056           </return-value>
7057           <parameters>
7058             <parameter name="table" transfer-ownership="none">
7059               <type name="Table" c:type="AtkTable*"/>
7060             </parameter>
7061             <parameter name="row" transfer-ownership="none">
7062               <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
7063               <type name="int" c:type="gint"/>
7064             </parameter>
7065           </parameters>
7066         </callback>
7067       </field>
7068       <field name="get_row_header">
7069         <callback name="get_row_header" c:type="get_row_header">
7070           <return-value transfer-ownership="full">
7071             <doc xml:whitespace="preserve">a AtkObject* representing the specified row header, or</doc>
7072             <type name="Object" c:type="AtkObject*"/>
7073           </return-value>
7074           <parameters>
7075             <parameter name="table" transfer-ownership="none">
7076               <type name="Table" c:type="AtkTable*"/>
7077             </parameter>
7078             <parameter name="row" transfer-ownership="none">
7079               <doc xml:whitespace="preserve">a #gint representing a row in the table</doc>
7080               <type name="int" c:type="gint"/>
7081             </parameter>
7082           </parameters>
7083         </callback>
7084       </field>
7085       <field name="get_summary">
7086         <callback name="get_summary" c:type="get_summary">
7087           <return-value transfer-ownership="full">
7088             <doc xml:whitespace="preserve">a AtkObject* representing a summary description of the table,</doc>
7089             <type name="Object" c:type="AtkObject*"/>
7090           </return-value>
7091           <parameters>
7092             <parameter name="table" transfer-ownership="none">
7093               <type name="Table" c:type="AtkTable*"/>
7094             </parameter>
7095           </parameters>
7096         </callback>
7097       </field>
7098       <field name="set_caption">
7099         <callback name="set_caption" c:type="set_caption">
7100           <return-value transfer-ownership="none">
7101             <type name="none" c:type="void"/>
7102           </return-value>
7103           <parameters>
7104             <parameter name="table" transfer-ownership="none">
7105               <type name="Table" c:type="AtkTable*"/>
7106             </parameter>
7107             <parameter name="caption" transfer-ownership="none">
7108               <doc xml:whitespace="preserve">a #AtkObject representing the caption to set for @table</doc>
7109               <type name="Object" c:type="AtkObject*"/>
7110             </parameter>
7111           </parameters>
7112         </callback>
7113       </field>
7114       <field name="set_column_description">
7115         <callback name="set_column_description"
7116                   c:type="set_column_description">
7117           <return-value transfer-ownership="none">
7118             <type name="none" c:type="void"/>
7119           </return-value>
7120           <parameters>
7121             <parameter name="table" transfer-ownership="none">
7122               <type name="Table" c:type="AtkTable*"/>
7123             </parameter>
7124             <parameter name="column" transfer-ownership="none">
7125               <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
7126               <type name="int" c:type="gint"/>
7127             </parameter>
7128             <parameter name="description" transfer-ownership="none">
7129               <doc xml:whitespace="preserve">a #gchar representing the description text to set for the specified @column of the @table</doc>
7130               <type name="utf8" c:type="gchar*"/>
7131             </parameter>
7132           </parameters>
7133         </callback>
7134       </field>
7135       <field name="set_column_header">
7136         <callback name="set_column_header" c:type="set_column_header">
7137           <return-value transfer-ownership="none">
7138             <type name="none" c:type="void"/>
7139           </return-value>
7140           <parameters>
7141             <parameter name="table" transfer-ownership="none">
7142               <type name="Table" c:type="AtkTable*"/>
7143             </parameter>
7144             <parameter name="column" transfer-ownership="none">
7145               <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
7146               <type name="int" c:type="gint"/>
7147             </parameter>
7148             <parameter name="header" transfer-ownership="none">
7149               <doc xml:whitespace="preserve">an #AtkTable</doc>
7150               <type name="Object" c:type="AtkObject*"/>
7151             </parameter>
7152           </parameters>
7153         </callback>
7154       </field>
7155       <field name="set_row_description">
7156         <callback name="set_row_description" c:type="set_row_description">
7157           <return-value transfer-ownership="none">
7158             <type name="none" c:type="void"/>
7159           </return-value>
7160           <parameters>
7161             <parameter name="table" transfer-ownership="none">
7162               <type name="Table" c:type="AtkTable*"/>
7163             </parameter>
7164             <parameter name="row" transfer-ownership="none">
7165               <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
7166               <type name="int" c:type="gint"/>
7167             </parameter>
7168             <parameter name="description" transfer-ownership="none">
7169               <doc xml:whitespace="preserve">a #gchar representing the description text to set for the specified @row of @table</doc>
7170               <type name="utf8" c:type="gchar*"/>
7171             </parameter>
7172           </parameters>
7173         </callback>
7174       </field>
7175       <field name="set_row_header">
7176         <callback name="set_row_header" c:type="set_row_header">
7177           <return-value transfer-ownership="none">
7178             <type name="none" c:type="void"/>
7179           </return-value>
7180           <parameters>
7181             <parameter name="table" transfer-ownership="none">
7182               <type name="Table" c:type="AtkTable*"/>
7183             </parameter>
7184             <parameter name="row" transfer-ownership="none">
7185               <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
7186               <type name="int" c:type="gint"/>
7187             </parameter>
7188             <parameter name="header" transfer-ownership="none">
7189               <doc xml:whitespace="preserve">an #AtkTable</doc>
7190               <type name="Object" c:type="AtkObject*"/>
7191             </parameter>
7192           </parameters>
7193         </callback>
7194       </field>
7195       <field name="set_summary">
7196         <callback name="set_summary" c:type="set_summary">
7197           <return-value transfer-ownership="none">
7198             <type name="none" c:type="void"/>
7199           </return-value>
7200           <parameters>
7201             <parameter name="table" transfer-ownership="none">
7202               <type name="Table" c:type="AtkTable*"/>
7203             </parameter>
7204             <parameter name="accessible" transfer-ownership="none">
7205               <doc xml:whitespace="preserve">an #AtkObject representing the summary description to set for @table</doc>
7206               <type name="Object" c:type="AtkObject*"/>
7207             </parameter>
7208           </parameters>
7209         </callback>
7210       </field>
7211       <field name="get_selected_columns">
7212         <callback name="get_selected_columns" c:type="get_selected_columns">
7213           <return-value transfer-ownership="none">
7214             <doc xml:whitespace="preserve">a gint representing the number of selected columns,</doc>
7215             <type name="int" c:type="gint"/>
7216           </return-value>
7217           <parameters>
7218             <parameter name="table" transfer-ownership="none">
7219               <type name="Table" c:type="AtkTable*"/>
7220             </parameter>
7221             <parameter name="selected"
7222                        direction="out"
7223                        caller-allocates="0"
7224                        transfer-ownership="full">
7225               <doc xml:whitespace="preserve">a #gint** that is to contain the selected columns numbers</doc>
7226               <type name="int" c:type="gint**"/>
7227             </parameter>
7228           </parameters>
7229         </callback>
7230       </field>
7231       <field name="get_selected_rows">
7232         <callback name="get_selected_rows" c:type="get_selected_rows">
7233           <return-value transfer-ownership="none">
7234             <doc xml:whitespace="preserve">a gint representing the number of selected rows,</doc>
7235             <type name="int" c:type="gint"/>
7236           </return-value>
7237           <parameters>
7238             <parameter name="table" transfer-ownership="none">
7239               <type name="Table" c:type="AtkTable*"/>
7240             </parameter>
7241             <parameter name="selected"
7242                        direction="out"
7243                        caller-allocates="0"
7244                        transfer-ownership="full">
7245               <doc xml:whitespace="preserve">a #gint** that is to contain the selected row numbers</doc>
7246               <type name="int" c:type="gint**"/>
7247             </parameter>
7248           </parameters>
7249         </callback>
7250       </field>
7251       <field name="is_column_selected">
7252         <callback name="is_column_selected" c:type="is_column_selected">
7253           <return-value transfer-ownership="none">
7254             <doc xml:whitespace="preserve">a gboolean representing if the column is selected, or 0</doc>
7255             <type name="boolean" c:type="gboolean"/>
7256           </return-value>
7257           <parameters>
7258             <parameter name="table" transfer-ownership="none">
7259               <type name="Table" c:type="AtkTable*"/>
7260             </parameter>
7261             <parameter name="column" transfer-ownership="none">
7262               <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
7263               <type name="int" c:type="gint"/>
7264             </parameter>
7265           </parameters>
7266         </callback>
7267       </field>
7268       <field name="is_row_selected">
7269         <callback name="is_row_selected" c:type="is_row_selected">
7270           <return-value transfer-ownership="none">
7271             <doc xml:whitespace="preserve">a gboolean representing if the row is selected, or 0</doc>
7272             <type name="boolean" c:type="gboolean"/>
7273           </return-value>
7274           <parameters>
7275             <parameter name="table" transfer-ownership="none">
7276               <type name="Table" c:type="AtkTable*"/>
7277             </parameter>
7278             <parameter name="row" transfer-ownership="none">
7279               <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
7280               <type name="int" c:type="gint"/>
7281             </parameter>
7282           </parameters>
7283         </callback>
7284       </field>
7285       <field name="is_selected">
7286         <callback name="is_selected" c:type="is_selected">
7287           <return-value transfer-ownership="none">
7288             <doc xml:whitespace="preserve">a gboolean representing if the cell is selected, or 0</doc>
7289             <type name="boolean" c:type="gboolean"/>
7290           </return-value>
7291           <parameters>
7292             <parameter name="table" transfer-ownership="none">
7293               <type name="Table" c:type="AtkTable*"/>
7294             </parameter>
7295             <parameter name="row" transfer-ownership="none">
7296               <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
7297               <type name="int" c:type="gint"/>
7298             </parameter>
7299             <parameter name="column" transfer-ownership="none">
7300               <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
7301               <type name="int" c:type="gint"/>
7302             </parameter>
7303           </parameters>
7304         </callback>
7305       </field>
7306       <field name="add_row_selection">
7307         <callback name="add_row_selection" c:type="add_row_selection">
7308           <return-value transfer-ownership="none">
7309             <doc xml:whitespace="preserve">a gboolean representing if row was successfully added to selection,</doc>
7310             <type name="boolean" c:type="gboolean"/>
7311           </return-value>
7312           <parameters>
7313             <parameter name="table" transfer-ownership="none">
7314               <type name="Table" c:type="AtkTable*"/>
7315             </parameter>
7316             <parameter name="row" transfer-ownership="none">
7317               <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
7318               <type name="int" c:type="gint"/>
7319             </parameter>
7320           </parameters>
7321         </callback>
7322       </field>
7323       <field name="remove_row_selection">
7324         <callback name="remove_row_selection" c:type="remove_row_selection">
7325           <return-value transfer-ownership="none">
7326             <doc xml:whitespace="preserve">a gboolean representing if the row was successfully removed from</doc>
7327             <type name="boolean" c:type="gboolean"/>
7328           </return-value>
7329           <parameters>
7330             <parameter name="table" transfer-ownership="none">
7331               <type name="Table" c:type="AtkTable*"/>
7332             </parameter>
7333             <parameter name="row" transfer-ownership="none">
7334               <doc xml:whitespace="preserve">a #gint representing a row in @table</doc>
7335               <type name="int" c:type="gint"/>
7336             </parameter>
7337           </parameters>
7338         </callback>
7339       </field>
7340       <field name="add_column_selection">
7341         <callback name="add_column_selection" c:type="add_column_selection">
7342           <return-value transfer-ownership="none">
7343             <doc xml:whitespace="preserve">a gboolean representing if the column was successfully added to</doc>
7344             <type name="boolean" c:type="gboolean"/>
7345           </return-value>
7346           <parameters>
7347             <parameter name="table" transfer-ownership="none">
7348               <type name="Table" c:type="AtkTable*"/>
7349             </parameter>
7350             <parameter name="column" transfer-ownership="none">
7351               <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
7352               <type name="int" c:type="gint"/>
7353             </parameter>
7354           </parameters>
7355         </callback>
7356       </field>
7357       <field name="remove_column_selection">
7358         <callback name="remove_column_selection"
7359                   c:type="remove_column_selection">
7360           <return-value transfer-ownership="none">
7361             <doc xml:whitespace="preserve">a gboolean representing if the column was successfully removed from</doc>
7362             <type name="boolean" c:type="gboolean"/>
7363           </return-value>
7364           <parameters>
7365             <parameter name="table" transfer-ownership="none">
7366               <type name="Table" c:type="AtkTable*"/>
7367             </parameter>
7368             <parameter name="column" transfer-ownership="none">
7369               <doc xml:whitespace="preserve">a #gint representing a column in @table</doc>
7370               <type name="int" c:type="gint"/>
7371             </parameter>
7372           </parameters>
7373         </callback>
7374       </field>
7375       <field name="row_inserted">
7376         <callback name="row_inserted" c:type="row_inserted">
7377           <return-value transfer-ownership="none">
7378             <type name="none" c:type="void"/>
7379           </return-value>
7380           <parameters>
7381             <parameter name="table" transfer-ownership="none">
7382               <type name="Table" c:type="AtkTable*"/>
7383             </parameter>
7384             <parameter name="row" transfer-ownership="none">
7385               <type name="int" c:type="gint"/>
7386             </parameter>
7387             <parameter name="num_inserted" transfer-ownership="none">
7388               <type name="int" c:type="gint"/>
7389             </parameter>
7390           </parameters>
7391         </callback>
7392       </field>
7393       <field name="column_inserted">
7394         <callback name="column_inserted" c:type="column_inserted">
7395           <return-value transfer-ownership="none">
7396             <type name="none" c:type="void"/>
7397           </return-value>
7398           <parameters>
7399             <parameter name="table" transfer-ownership="none">
7400               <type name="Table" c:type="AtkTable*"/>
7401             </parameter>
7402             <parameter name="column" transfer-ownership="none">
7403               <type name="int" c:type="gint"/>
7404             </parameter>
7405             <parameter name="num_inserted" transfer-ownership="none">
7406               <type name="int" c:type="gint"/>
7407             </parameter>
7408           </parameters>
7409         </callback>
7410       </field>
7411       <field name="row_deleted">
7412         <callback name="row_deleted" c:type="row_deleted">
7413           <return-value transfer-ownership="none">
7414             <type name="none" c:type="void"/>
7415           </return-value>
7416           <parameters>
7417             <parameter name="table" transfer-ownership="none">
7418               <type name="Table" c:type="AtkTable*"/>
7419             </parameter>
7420             <parameter name="row" transfer-ownership="none">
7421               <type name="int" c:type="gint"/>
7422             </parameter>
7423             <parameter name="num_deleted" transfer-ownership="none">
7424               <type name="int" c:type="gint"/>
7425             </parameter>
7426           </parameters>
7427         </callback>
7428       </field>
7429       <field name="column_deleted">
7430         <callback name="column_deleted" c:type="column_deleted">
7431           <return-value transfer-ownership="none">
7432             <type name="none" c:type="void"/>
7433           </return-value>
7434           <parameters>
7435             <parameter name="table" transfer-ownership="none">
7436               <type name="Table" c:type="AtkTable*"/>
7437             </parameter>
7438             <parameter name="column" transfer-ownership="none">
7439               <type name="int" c:type="gint"/>
7440             </parameter>
7441             <parameter name="num_deleted" transfer-ownership="none">
7442               <type name="int" c:type="gint"/>
7443             </parameter>
7444           </parameters>
7445         </callback>
7446       </field>
7447       <field name="row_reordered">
7448         <callback name="row_reordered" c:type="row_reordered">
7449           <return-value transfer-ownership="none">
7450             <type name="none" c:type="void"/>
7451           </return-value>
7452           <parameters>
7453             <parameter name="table" transfer-ownership="none">
7454               <type name="Table" c:type="AtkTable*"/>
7455             </parameter>
7456           </parameters>
7457         </callback>
7458       </field>
7459       <field name="column_reordered">
7460         <callback name="column_reordered" c:type="column_reordered">
7461           <return-value transfer-ownership="none">
7462             <type name="none" c:type="void"/>
7463           </return-value>
7464           <parameters>
7465             <parameter name="table" transfer-ownership="none">
7466               <type name="Table" c:type="AtkTable*"/>
7467             </parameter>
7468           </parameters>
7469         </callback>
7470       </field>
7471       <field name="model_changed">
7472         <callback name="model_changed" c:type="model_changed">
7473           <return-value transfer-ownership="none">
7474             <type name="none" c:type="void"/>
7475           </return-value>
7476           <parameters>
7477             <parameter name="table" transfer-ownership="none">
7478               <type name="Table" c:type="AtkTable*"/>
7479             </parameter>
7480           </parameters>
7481         </callback>
7482       </field>
7483       <field name="pad1">
7484         <type name="Function" c:type="AtkFunction"/>
7485       </field>
7486       <field name="pad2">
7487         <type name="Function" c:type="AtkFunction"/>
7488       </field>
7489       <field name="pad3">
7490         <type name="Function" c:type="AtkFunction"/>
7491       </field>
7492       <field name="pad4">
7493         <type name="Function" c:type="AtkFunction"/>
7494       </field>
7495     </record>
7496     <interface name="Text"
7497                c:type="AtkText"
7498                glib:type-name="AtkText"
7499                glib:get-type="atk_text_get_type"
7500                glib:type-struct="TextIface">
7501       <virtual-method name="get_text" invoker="get_text">
7502         <doc xml:whitespace="preserve">Gets the specified text.</doc>
7503         <return-value transfer-ownership="full">
7504           <doc xml:whitespace="preserve">the text from @start_offset up to, but not including @end_offset.</doc>
7505           <type name="utf8" c:type="gchar*"/>
7506         </return-value>
7507         <parameters>
7508           <parameter name="start_offset" transfer-ownership="none">
7509             <doc xml:whitespace="preserve">start position</doc>
7510             <type name="int" c:type="gint"/>
7511           </parameter>
7512           <parameter name="end_offset" transfer-ownership="none">
7513             <doc xml:whitespace="preserve">end position</doc>
7514             <type name="int" c:type="gint"/>
7515           </parameter>
7516         </parameters>
7517       </virtual-method>
7518       <virtual-method name="get_text_after_offset"
7519                       invoker="get_text_after_offset">
7520         <doc xml:whitespace="preserve">Gets the specified text.
7521 If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character after the 
7522 offset is returned.
7523 If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
7524 is from the word start after the offset to the next word start.
7525 The returned string will contain the word after the offset if the offset 
7526 is inside a word or if the offset is not inside a word.
7527 If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string
7528 is from the word end at or after the offset to the next work end.
7529 The returned string will contain the word after the offset if the offset
7530 is inside a word and will contain the word after the word after the offset
7531 if the offset is not inside a word.
7532 If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
7533 string is from the sentence start after the offset to the next sentence
7534 start.
7535 The returned string will contain the sentence after the offset if the offset
7536 is inside a sentence or if the offset is not inside a sentence.
7537 If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string
7538 is from the sentence end at or after the offset to the next sentence end.
7539 The returned string will contain the sentence after the offset if the offset
7540 is inside a sentence and will contain the sentence after the sentence
7541 after the offset if the offset is not inside a sentence.
7542 If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
7543 string is from the line start after the offset to the next line start.
7544 If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string
7545 is from the line end at or after the offset to the next line start.</doc>
7546         <return-value transfer-ownership="full">
7547           <doc xml:whitespace="preserve">the text after @offset bounded by the specified @boundary_type.</doc>
7548           <type name="utf8" c:type="gchar*"/>
7549         </return-value>
7550         <parameters>
7551           <parameter name="offset" transfer-ownership="none">
7552             <doc xml:whitespace="preserve">position</doc>
7553             <type name="int" c:type="gint"/>
7554           </parameter>
7555           <parameter name="boundary_type" transfer-ownership="none">
7556             <doc xml:whitespace="preserve">An #AtkTextBoundary</doc>
7557             <type name="TextBoundary" c:type="AtkTextBoundary"/>
7558           </parameter>
7559           <parameter name="start_offset"
7560                      direction="out"
7561                      caller-allocates="0"
7562                      transfer-ownership="full">
7563             <doc xml:whitespace="preserve">the start offset of the returned string</doc>
7564             <type name="int" c:type="gint*"/>
7565           </parameter>
7566           <parameter name="end_offset"
7567                      direction="out"
7568                      caller-allocates="0"
7569                      transfer-ownership="full">
7570             <doc xml:whitespace="preserve">the offset of the first character after the returned substring</doc>
7571             <type name="int" c:type="gint*"/>
7572           </parameter>
7573         </parameters>
7574       </virtual-method>
7575       <virtual-method name="get_text_at_offset" invoker="get_text_at_offset">
7576         <doc xml:whitespace="preserve">Gets the specified text.
7577 If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character at the
7578 offset is returned.
7579 If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
7580 is from the word start at or before the offset to the word start after 
7581 the offset.
7582 The returned string will contain the word at the offset if the offset
7583 is inside a word and will contain the word before the offset if the 
7584 offset is not inside a word.
7585 If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string
7586 is from the word end before the offset to the word end at or after the
7587 offset.
7588 The returned string will contain the word at the offset if the offset
7589 is inside a word and will contain the word after to the offset if the 
7590 offset is not inside a word.
7591 If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
7592 string is from the sentence start at or before the offset to the sentence
7593 start after the offset.
7594 The returned string will contain the sentence at the offset if the offset
7595 is inside a sentence and will contain the sentence before the offset 
7596 if the offset is not inside a sentence.
7597 If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string
7598 is from the sentence end before the offset to the sentence end at or
7599 after the offset.
7600 The returned string will contain the sentence at the offset if the offset
7601 is inside a sentence and will contain the sentence after the offset 
7602 if the offset is not inside a sentence.
7603 If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
7604 string is from the line start at or before the offset to the line
7605 start after the offset.
7606 If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string
7607 is from the line end before the offset to the line end at or after
7608 the offset.</doc>
7609         <return-value transfer-ownership="full">
7610           <doc xml:whitespace="preserve">the text at @offset bounded by the specified @boundary_type.</doc>
7611           <type name="utf8" c:type="gchar*"/>
7612         </return-value>
7613         <parameters>
7614           <parameter name="offset" transfer-ownership="none">
7615             <doc xml:whitespace="preserve">position</doc>
7616             <type name="int" c:type="gint"/>
7617           </parameter>
7618           <parameter name="boundary_type" transfer-ownership="none">
7619             <doc xml:whitespace="preserve">An #AtkTextBoundary</doc>
7620             <type name="TextBoundary" c:type="AtkTextBoundary"/>
7621           </parameter>
7622           <parameter name="start_offset"
7623                      direction="out"
7624                      caller-allocates="0"
7625                      transfer-ownership="full">
7626             <doc xml:whitespace="preserve">the start offset of the returned string</doc>
7627             <type name="int" c:type="gint*"/>
7628           </parameter>
7629           <parameter name="end_offset"
7630                      direction="out"
7631                      caller-allocates="0"
7632                      transfer-ownership="full">
7633             <doc xml:whitespace="preserve">the offset of the first character after the returned substring</doc>
7634             <type name="int" c:type="gint*"/>
7635           </parameter>
7636         </parameters>
7637       </virtual-method>
7638       <virtual-method name="get_character_at_offset"
7639                       invoker="get_character_at_offset">
7640         <doc xml:whitespace="preserve">Gets the specified text.</doc>
7641         <return-value transfer-ownership="full">
7642           <doc xml:whitespace="preserve">the character at @offset.</doc>
7643           <type name="GLib.unichar" c:type="gunichar"/>
7644         </return-value>
7645         <parameters>
7646           <parameter name="offset" transfer-ownership="none">
7647             <doc xml:whitespace="preserve">position</doc>
7648             <type name="int" c:type="gint"/>
7649           </parameter>
7650         </parameters>
7651       </virtual-method>
7652       <virtual-method name="get_text_before_offset"
7653                       invoker="get_text_before_offset">
7654         <doc xml:whitespace="preserve">Gets the specified text.
7655 If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character before the
7656 offset is returned.
7657 If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
7658 is from the word start before the word start before the offset to 
7659 the word start before the offset.
7660 The returned string will contain the word before the offset if the offset
7661 is inside a word and will contain the word before the word before the 
7662 offset if the offset is not inside a word.
7663 If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string
7664 is from the word end before the word end at or before the offset to the 
7665 word end at or before the offset.
7666 The returned string will contain the word before the offset if the offset
7667 is inside a word or if the offset is not inside a word.
7668 If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
7669 string is from the sentence start before the sentence start before 
7670 the offset to the sentence start before the offset.
7671 The returned string will contain the sentence before the offset if the 
7672 offset is inside a sentence and will contain the sentence before the 
7673 sentence before the offset if the offset is not inside a sentence.
7674 If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string
7675 is from the sentence end before the sentence end at or before the offset to 
7676 the sentence end at or before the offset.
7677 The returned string will contain the sentence before the offset if the 
7678 offset is inside a sentence or if the offset is not inside a sentence.
7679 If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
7680 string is from the line start before the line start ar or before the offset 
7681 to the line start ar or before the offset.
7682 If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string
7683 is from the line end before the line end before the offset to the 
7684 line end before the offset.</doc>
7685         <return-value transfer-ownership="full">
7686           <doc xml:whitespace="preserve">the text before @offset bounded by the specified @boundary_type.</doc>
7687           <type name="utf8" c:type="gchar*"/>
7688         </return-value>
7689         <parameters>
7690           <parameter name="offset" transfer-ownership="none">
7691             <doc xml:whitespace="preserve">position</doc>
7692             <type name="int" c:type="gint"/>
7693           </parameter>
7694           <parameter name="boundary_type" transfer-ownership="none">
7695             <doc xml:whitespace="preserve">An #AtkTextBoundary</doc>
7696             <type name="TextBoundary" c:type="AtkTextBoundary"/>
7697           </parameter>
7698           <parameter name="start_offset"
7699                      direction="out"
7700                      caller-allocates="0"
7701                      transfer-ownership="full">
7702             <doc xml:whitespace="preserve">the start offset of the returned string</doc>
7703             <type name="int" c:type="gint*"/>
7704           </parameter>
7705           <parameter name="end_offset"
7706                      direction="out"
7707                      caller-allocates="0"
7708                      transfer-ownership="full">
7709             <doc xml:whitespace="preserve">the offset of the first character after the returned substring</doc>
7710             <type name="int" c:type="gint*"/>
7711           </parameter>
7712         </parameters>
7713       </virtual-method>
7714       <virtual-method name="get_caret_offset" invoker="get_caret_offset">
7715         <doc xml:whitespace="preserve">Gets the offset position of the caret (cursor).</doc>
7716         <return-value transfer-ownership="none">
7717           <doc xml:whitespace="preserve">the offset position of the caret (cursor).</doc>
7718           <type name="int" c:type="gint"/>
7719         </return-value>
7720       </virtual-method>
7721       <virtual-method name="get_run_attributes" invoker="get_run_attributes">
7722         <return-value transfer-ownership="full">
7723           <type name="AttributeSet" c:type="AtkAttributeSet*"/>
7724         </return-value>
7725         <parameters>
7726           <parameter name="offset" transfer-ownership="none">
7727             <type name="int" c:type="gint"/>
7728           </parameter>
7729           <parameter name="start_offset"
7730                      direction="out"
7731                      caller-allocates="0"
7732                      transfer-ownership="full">
7733             <type name="int" c:type="gint*"/>
7734           </parameter>
7735           <parameter name="end_offset"
7736                      direction="out"
7737                      caller-allocates="0"
7738                      transfer-ownership="full">
7739             <type name="int" c:type="gint*"/>
7740           </parameter>
7741         </parameters>
7742       </virtual-method>
7743       <virtual-method name="get_default_attributes"
7744                       invoker="get_default_attributes">
7745         <return-value transfer-ownership="full">
7746           <type name="AttributeSet" c:type="AtkAttributeSet*"/>
7747         </return-value>
7748       </virtual-method>
7749       <virtual-method name="get_character_extents"
7750                       invoker="get_character_extents">
7751         <doc xml:whitespace="preserve">Get the bounding box containing the glyph representing the character at 
7752 a particular text offset.</doc>
7753         <return-value transfer-ownership="none">
7754           <type name="none" c:type="void"/>
7755         </return-value>
7756         <parameters>
7757           <parameter name="offset" transfer-ownership="none">
7758             <doc xml:whitespace="preserve">The offset of the text character for which bounding information is required.</doc>
7759             <type name="int" c:type="gint"/>
7760           </parameter>
7761           <parameter name="x"
7762                      direction="out"
7763                      caller-allocates="0"
7764                      transfer-ownership="full">
7765             <doc xml:whitespace="preserve">Pointer for the x cordinate of the bounding box</doc>
7766             <type name="int" c:type="gint*"/>
7767           </parameter>
7768           <parameter name="y"
7769                      direction="out"
7770                      caller-allocates="0"
7771                      transfer-ownership="full">
7772             <doc xml:whitespace="preserve">Pointer for the y cordinate of the bounding box</doc>
7773             <type name="int" c:type="gint*"/>
7774           </parameter>
7775           <parameter name="width"
7776                      direction="out"
7777                      caller-allocates="0"
7778                      transfer-ownership="full">
7779             <doc xml:whitespace="preserve">Pointer for the width of the bounding box</doc>
7780             <type name="int" c:type="gint*"/>
7781           </parameter>
7782           <parameter name="height"
7783                      direction="out"
7784                      caller-allocates="0"
7785                      transfer-ownership="full">
7786             <doc xml:whitespace="preserve">Pointer for the height of the bounding box</doc>
7787             <type name="int" c:type="gint*"/>
7788           </parameter>
7789           <parameter name="coords" transfer-ownership="none">
7790             <doc xml:whitespace="preserve">specify whether coordinates are relative to the screen or widget window</doc>
7791             <type name="CoordType" c:type="AtkCoordType"/>
7792           </parameter>
7793         </parameters>
7794       </virtual-method>
7795       <virtual-method name="get_character_count" invoker="get_character_count">
7796         <doc xml:whitespace="preserve">Gets the character count.</doc>
7797         <return-value transfer-ownership="none">
7798           <doc xml:whitespace="preserve">the number of characters.</doc>
7799           <type name="int" c:type="gint"/>
7800         </return-value>
7801       </virtual-method>
7802       <virtual-method name="get_offset_at_point" invoker="get_offset_at_point">
7803         <doc xml:whitespace="preserve">Gets the offset of the character located at coordinates @x and @y. @x and @y
7804 are interpreted as being relative to the screen or this widget's window
7805 depending on @coords.
7806 the specified @x and @y coordinates.</doc>
7807         <return-value transfer-ownership="none">
7808           <doc xml:whitespace="preserve">the offset to the character which is located at</doc>
7809           <type name="int" c:type="gint"/>
7810         </return-value>
7811         <parameters>
7812           <parameter name="x" transfer-ownership="none">
7813             <doc xml:whitespace="preserve">screen x-position of character</doc>
7814             <type name="int" c:type="gint"/>
7815           </parameter>
7816           <parameter name="y" transfer-ownership="none">
7817             <doc xml:whitespace="preserve">screen y-position of character</doc>
7818             <type name="int" c:type="gint"/>
7819           </parameter>
7820           <parameter name="coords" transfer-ownership="none">
7821             <doc xml:whitespace="preserve">specify whether coordinates are relative to the screen or widget window</doc>
7822             <type name="CoordType" c:type="AtkCoordType"/>
7823           </parameter>
7824         </parameters>
7825       </virtual-method>
7826       <virtual-method name="get_n_selections" invoker="get_n_selections">
7827         <doc xml:whitespace="preserve">Gets the number of selected regions.
7828 occurred.</doc>
7829         <return-value transfer-ownership="none">
7830           <doc xml:whitespace="preserve">The number of selected regions, or -1 if a failure</doc>
7831           <type name="int" c:type="gint"/>
7832         </return-value>
7833       </virtual-method>
7834       <virtual-method name="get_selection" invoker="get_selection">
7835         <doc xml:whitespace="preserve">Gets the text from the specified selection.</doc>
7836         <return-value transfer-ownership="full">
7837           <doc xml:whitespace="preserve">the selected text.</doc>
7838           <type name="utf8" c:type="gchar*"/>
7839         </return-value>
7840         <parameters>
7841           <parameter name="selection_num" transfer-ownership="none">
7842             <doc xml:whitespace="preserve">The selection number.  The selected regions are assigned numbers that correspond to how far the region is from the start of the text.  The selected region closest to the beginning of the text region is assigned the number 0, etc.  Note that adding, moving or deleting a selected region can change the numbering.</doc>
7843             <type name="int" c:type="gint"/>
7844           </parameter>
7845           <parameter name="start_offset"
7846                      direction="out"
7847                      caller-allocates="0"
7848                      transfer-ownership="full">
7849             <doc xml:whitespace="preserve">passes back the start position of the selected region</doc>
7850             <type name="int" c:type="gint*"/>
7851           </parameter>
7852           <parameter name="end_offset"
7853                      direction="out"
7854                      caller-allocates="0"
7855                      transfer-ownership="full">
7856             <doc xml:whitespace="preserve">passes back the end position of (e.g. offset immediately past) the selected region</doc>
7857             <type name="int" c:type="gint*"/>
7858           </parameter>
7859         </parameters>
7860       </virtual-method>
7861       <virtual-method name="add_selection" invoker="add_selection">
7862         <doc xml:whitespace="preserve">Adds a selection bounded by the specified offsets.</doc>
7863         <return-value transfer-ownership="none">
7864           <doc xml:whitespace="preserve">%TRUE if success, %FALSE otherwise</doc>
7865           <type name="boolean" c:type="gboolean"/>
7866         </return-value>
7867         <parameters>
7868           <parameter name="start_offset" transfer-ownership="none">
7869             <doc xml:whitespace="preserve">the start position of the selected region</doc>
7870             <type name="int" c:type="gint"/>
7871           </parameter>
7872           <parameter name="end_offset" transfer-ownership="none">
7873             <doc xml:whitespace="preserve">the offset of the first character after the selected region.</doc>
7874             <type name="int" c:type="gint"/>
7875           </parameter>
7876         </parameters>
7877       </virtual-method>
7878       <virtual-method name="remove_selection" invoker="remove_selection">
7879         <doc xml:whitespace="preserve">Removes the specified selection.</doc>
7880         <return-value transfer-ownership="none">
7881           <doc xml:whitespace="preserve">%TRUE if success, %FALSE otherwise</doc>
7882           <type name="boolean" c:type="gboolean"/>
7883         </return-value>
7884         <parameters>
7885           <parameter name="selection_num" transfer-ownership="none">
7886             <doc xml:whitespace="preserve">The selection number.  The selected regions are assigned numbers that correspond to how far the region is from the start of the text.  The selected region closest to the beginning of the text region is assigned the number 0, etc.  Note that adding, moving or deleting a selected region can change the numbering.</doc>
7887             <type name="int" c:type="gint"/>
7888           </parameter>
7889         </parameters>
7890       </virtual-method>
7891       <virtual-method name="set_selection" invoker="set_selection">
7892         <doc xml:whitespace="preserve">Changes the start and end offset of the specified selection.</doc>
7893         <return-value transfer-ownership="none">
7894           <doc xml:whitespace="preserve">%TRUE if success, %FALSE otherwise</doc>
7895           <type name="boolean" c:type="gboolean"/>
7896         </return-value>
7897         <parameters>
7898           <parameter name="selection_num" transfer-ownership="none">
7899             <doc xml:whitespace="preserve">The selection number.  The selected regions are assigned numbers that correspond to how far the region is from the start of the text.  The selected region closest to the beginning of the text region is assigned the number 0, etc.  Note that adding, moving or deleting a selected region can change the numbering.</doc>
7900             <type name="int" c:type="gint"/>
7901           </parameter>
7902           <parameter name="start_offset" transfer-ownership="none">
7903             <doc xml:whitespace="preserve">the new start position of the selection</doc>
7904             <type name="int" c:type="gint"/>
7905           </parameter>
7906           <parameter name="end_offset" transfer-ownership="none">
7907             <doc xml:whitespace="preserve">the new end position of (e.g. offset immediately past) the selection</doc>
7908             <type name="int" c:type="gint"/>
7909           </parameter>
7910         </parameters>
7911       </virtual-method>
7912       <virtual-method name="set_caret_offset" invoker="set_caret_offset">
7913         <doc xml:whitespace="preserve">Sets the caret (cursor) position to the specified @offset.</doc>
7914         <return-value transfer-ownership="none">
7915           <doc xml:whitespace="preserve">%TRUE if success, %FALSE otherwise.</doc>
7916           <type name="boolean" c:type="gboolean"/>
7917         </return-value>
7918         <parameters>
7919           <parameter name="offset" transfer-ownership="none">
7920             <doc xml:whitespace="preserve">position</doc>
7921             <type name="int" c:type="gint"/>
7922           </parameter>
7923         </parameters>
7924       </virtual-method>
7925       <virtual-method name="get_range_extents"
7926                       invoker="get_range_extents"
7927                       version="1.3">
7928         <doc xml:whitespace="preserve">Get the bounding box for text within the specified range.</doc>
7929         <return-value transfer-ownership="none">
7930           <type name="none" c:type="void"/>
7931         </return-value>
7932         <parameters>
7933           <parameter name="start_offset" transfer-ownership="none">
7934             <doc xml:whitespace="preserve">The offset of the first text character for which boundary information is required.</doc>
7935             <type name="int" c:type="gint"/>
7936           </parameter>
7937           <parameter name="end_offset" transfer-ownership="none">
7938             <doc xml:whitespace="preserve">The offset of the text character after the last character for which boundary information is required.</doc>
7939             <type name="int" c:type="gint"/>
7940           </parameter>
7941           <parameter name="coord_type" transfer-ownership="none">
7942             <doc xml:whitespace="preserve">Specify whether coordinates are relative to the screen or widget window.</doc>
7943             <type name="CoordType" c:type="AtkCoordType"/>
7944           </parameter>
7945           <parameter name="rect" transfer-ownership="none">
7946             <doc xml:whitespace="preserve">A pointer to a AtkTextRectangle which is filled in by this function.</doc>
7947             <type name="TextRectangle" c:type="AtkTextRectangle*"/>
7948           </parameter>
7949         </parameters>
7950       </virtual-method>
7951       <virtual-method name="get_bounded_ranges"
7952                       invoker="get_bounded_ranges"
7953                       version="1.3">
7954         <doc xml:whitespace="preserve">Get the ranges of text in the specified bounding box.
7955 by this function will be NULL.</doc>
7956         <return-value transfer-ownership="full">
7957           <doc xml:whitespace="preserve">Array of AtkTextRange. The last element of the array returned</doc>
7958           <type name="TextRange" c:type="AtkTextRange**"/>
7959         </return-value>
7960         <parameters>
7961           <parameter name="rect" transfer-ownership="none">
7962             <doc xml:whitespace="preserve">An AtkTextRectagle giving the dimensions of the bounding box.</doc>
7963             <type name="TextRectangle" c:type="AtkTextRectangle*"/>
7964           </parameter>
7965           <parameter name="coord_type" transfer-ownership="none">
7966             <doc xml:whitespace="preserve">Specify whether coordinates are relative to the screen or widget window.</doc>
7967             <type name="CoordType" c:type="AtkCoordType"/>
7968           </parameter>
7969           <parameter name="x_clip_type" transfer-ownership="none">
7970             <doc xml:whitespace="preserve">Specify the horizontal clip type.</doc>
7971             <type name="TextClipType" c:type="AtkTextClipType"/>
7972           </parameter>
7973           <parameter name="y_clip_type" transfer-ownership="none">
7974             <doc xml:whitespace="preserve">Specify the vertical clip type.</doc>
7975             <type name="TextClipType" c:type="AtkTextClipType"/>
7976           </parameter>
7977         </parameters>
7978       </virtual-method>
7979       <method name="get_text" c:identifier="atk_text_get_text">
7980         <doc xml:whitespace="preserve">Gets the specified text.</doc>
7981         <return-value transfer-ownership="full">
7982           <doc xml:whitespace="preserve">the text from @start_offset up to, but not including @end_offset.</doc>
7983           <type name="utf8" c:type="gchar*"/>
7984         </return-value>
7985         <parameters>
7986           <parameter name="start_offset" transfer-ownership="none">
7987             <doc xml:whitespace="preserve">start position</doc>
7988             <type name="int" c:type="gint"/>
7989           </parameter>
7990           <parameter name="end_offset" transfer-ownership="none">
7991             <doc xml:whitespace="preserve">end position</doc>
7992             <type name="int" c:type="gint"/>
7993           </parameter>
7994         </parameters>
7995       </method>
7996       <method name="get_character_at_offset"
7997               c:identifier="atk_text_get_character_at_offset">
7998         <doc xml:whitespace="preserve">Gets the specified text.</doc>
7999         <return-value transfer-ownership="full">
8000           <doc xml:whitespace="preserve">the character at @offset.</doc>
8001           <type name="GLib.unichar" c:type="gunichar"/>
8002         </return-value>
8003         <parameters>
8004           <parameter name="offset" transfer-ownership="none">
8005             <doc xml:whitespace="preserve">position</doc>
8006             <type name="int" c:type="gint"/>
8007           </parameter>
8008         </parameters>
8009       </method>
8010       <method name="get_text_after_offset"
8011               c:identifier="atk_text_get_text_after_offset">
8012         <doc xml:whitespace="preserve">Gets the specified text.
8013 If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character after the 
8014 offset is returned.
8015 If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
8016 is from the word start after the offset to the next word start.
8017 The returned string will contain the word after the offset if the offset 
8018 is inside a word or if the offset is not inside a word.
8019 If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string
8020 is from the word end at or after the offset to the next work end.
8021 The returned string will contain the word after the offset if the offset
8022 is inside a word and will contain the word after the word after the offset
8023 if the offset is not inside a word.
8024 If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
8025 string is from the sentence start after the offset to the next sentence
8026 start.
8027 The returned string will contain the sentence after the offset if the offset
8028 is inside a sentence or if the offset is not inside a sentence.
8029 If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string
8030 is from the sentence end at or after the offset to the next sentence end.
8031 The returned string will contain the sentence after the offset if the offset
8032 is inside a sentence and will contain the sentence after the sentence
8033 after the offset if the offset is not inside a sentence.
8034 If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
8035 string is from the line start after the offset to the next line start.
8036 If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string
8037 is from the line end at or after the offset to the next line start.</doc>
8038         <return-value transfer-ownership="full">
8039           <doc xml:whitespace="preserve">the text after @offset bounded by the specified @boundary_type.</doc>
8040           <type name="utf8" c:type="gchar*"/>
8041         </return-value>
8042         <parameters>
8043           <parameter name="offset" transfer-ownership="none">
8044             <doc xml:whitespace="preserve">position</doc>
8045             <type name="int" c:type="gint"/>
8046           </parameter>
8047           <parameter name="boundary_type" transfer-ownership="none">
8048             <doc xml:whitespace="preserve">An #AtkTextBoundary</doc>
8049             <type name="TextBoundary" c:type="AtkTextBoundary"/>
8050           </parameter>
8051           <parameter name="start_offset"
8052                      direction="out"
8053                      caller-allocates="0"
8054                      transfer-ownership="full">
8055             <doc xml:whitespace="preserve">the start offset of the returned string</doc>
8056             <type name="int" c:type="gint*"/>
8057           </parameter>
8058           <parameter name="end_offset"
8059                      direction="out"
8060                      caller-allocates="0"
8061                      transfer-ownership="full">
8062             <doc xml:whitespace="preserve">the offset of the first character after the returned substring</doc>
8063             <type name="int" c:type="gint*"/>
8064           </parameter>
8065         </parameters>
8066       </method>
8067       <method name="get_text_at_offset"
8068               c:identifier="atk_text_get_text_at_offset">
8069         <doc xml:whitespace="preserve">Gets the specified text.
8070 If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character at the
8071 offset is returned.
8072 If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
8073 is from the word start at or before the offset to the word start after 
8074 the offset.
8075 The returned string will contain the word at the offset if the offset
8076 is inside a word and will contain the word before the offset if the 
8077 offset is not inside a word.
8078 If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string
8079 is from the word end before the offset to the word end at or after the
8080 offset.
8081 The returned string will contain the word at the offset if the offset
8082 is inside a word and will contain the word after to the offset if the 
8083 offset is not inside a word.
8084 If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
8085 string is from the sentence start at or before the offset to the sentence
8086 start after the offset.
8087 The returned string will contain the sentence at the offset if the offset
8088 is inside a sentence and will contain the sentence before the offset 
8089 if the offset is not inside a sentence.
8090 If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string
8091 is from the sentence end before the offset to the sentence end at or
8092 after the offset.
8093 The returned string will contain the sentence at the offset if the offset
8094 is inside a sentence and will contain the sentence after the offset 
8095 if the offset is not inside a sentence.
8096 If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
8097 string is from the line start at or before the offset to the line
8098 start after the offset.
8099 If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string
8100 is from the line end before the offset to the line end at or after
8101 the offset.</doc>
8102         <return-value transfer-ownership="full">
8103           <doc xml:whitespace="preserve">the text at @offset bounded by the specified @boundary_type.</doc>
8104           <type name="utf8" c:type="gchar*"/>
8105         </return-value>
8106         <parameters>
8107           <parameter name="offset" transfer-ownership="none">
8108             <doc xml:whitespace="preserve">position</doc>
8109             <type name="int" c:type="gint"/>
8110           </parameter>
8111           <parameter name="boundary_type" transfer-ownership="none">
8112             <doc xml:whitespace="preserve">An #AtkTextBoundary</doc>
8113             <type name="TextBoundary" c:type="AtkTextBoundary"/>
8114           </parameter>
8115           <parameter name="start_offset"
8116                      direction="out"
8117                      caller-allocates="0"
8118                      transfer-ownership="full">
8119             <doc xml:whitespace="preserve">the start offset of the returned string</doc>
8120             <type name="int" c:type="gint*"/>
8121           </parameter>
8122           <parameter name="end_offset"
8123                      direction="out"
8124                      caller-allocates="0"
8125                      transfer-ownership="full">
8126             <doc xml:whitespace="preserve">the offset of the first character after the returned substring</doc>
8127             <type name="int" c:type="gint*"/>
8128           </parameter>
8129         </parameters>
8130       </method>
8131       <method name="get_text_before_offset"
8132               c:identifier="atk_text_get_text_before_offset">
8133         <doc xml:whitespace="preserve">Gets the specified text.
8134 If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character before the
8135 offset is returned.
8136 If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
8137 is from the word start before the word start before the offset to 
8138 the word start before the offset.
8139 The returned string will contain the word before the offset if the offset
8140 is inside a word and will contain the word before the word before the 
8141 offset if the offset is not inside a word.
8142 If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string
8143 is from the word end before the word end at or before the offset to the 
8144 word end at or before the offset.
8145 The returned string will contain the word before the offset if the offset
8146 is inside a word or if the offset is not inside a word.
8147 If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
8148 string is from the sentence start before the sentence start before 
8149 the offset to the sentence start before the offset.
8150 The returned string will contain the sentence before the offset if the 
8151 offset is inside a sentence and will contain the sentence before the 
8152 sentence before the offset if the offset is not inside a sentence.
8153 If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string
8154 is from the sentence end before the sentence end at or before the offset to 
8155 the sentence end at or before the offset.
8156 The returned string will contain the sentence before the offset if the 
8157 offset is inside a sentence or if the offset is not inside a sentence.
8158 If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
8159 string is from the line start before the line start ar or before the offset 
8160 to the line start ar or before the offset.
8161 If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string
8162 is from the line end before the line end before the offset to the 
8163 line end before the offset.</doc>
8164         <return-value transfer-ownership="full">
8165           <doc xml:whitespace="preserve">the text before @offset bounded by the specified @boundary_type.</doc>
8166           <type name="utf8" c:type="gchar*"/>
8167         </return-value>
8168         <parameters>
8169           <parameter name="offset" transfer-ownership="none">
8170             <doc xml:whitespace="preserve">position</doc>
8171             <type name="int" c:type="gint"/>
8172           </parameter>
8173           <parameter name="boundary_type" transfer-ownership="none">
8174             <doc xml:whitespace="preserve">An #AtkTextBoundary</doc>
8175             <type name="TextBoundary" c:type="AtkTextBoundary"/>
8176           </parameter>
8177           <parameter name="start_offset"
8178                      direction="out"
8179                      caller-allocates="0"
8180                      transfer-ownership="full">
8181             <doc xml:whitespace="preserve">the start offset of the returned string</doc>
8182             <type name="int" c:type="gint*"/>
8183           </parameter>
8184           <parameter name="end_offset"
8185                      direction="out"
8186                      caller-allocates="0"
8187                      transfer-ownership="full">
8188             <doc xml:whitespace="preserve">the offset of the first character after the returned substring</doc>
8189             <type name="int" c:type="gint*"/>
8190           </parameter>
8191         </parameters>
8192       </method>
8193       <method name="get_caret_offset" c:identifier="atk_text_get_caret_offset">
8194         <doc xml:whitespace="preserve">Gets the offset position of the caret (cursor).</doc>
8195         <return-value transfer-ownership="none">
8196           <doc xml:whitespace="preserve">the offset position of the caret (cursor).</doc>
8197           <type name="int" c:type="gint"/>
8198         </return-value>
8199       </method>
8200       <method name="get_character_extents"
8201               c:identifier="atk_text_get_character_extents">
8202         <doc xml:whitespace="preserve">Get the bounding box containing the glyph representing the character at 
8203 a particular text offset.</doc>
8204         <return-value transfer-ownership="none">
8205           <type name="none" c:type="void"/>
8206         </return-value>
8207         <parameters>
8208           <parameter name="offset" transfer-ownership="none">
8209             <doc xml:whitespace="preserve">The offset of the text character for which bounding information is required.</doc>
8210             <type name="int" c:type="gint"/>
8211           </parameter>
8212           <parameter name="x"
8213                      direction="out"
8214                      caller-allocates="0"
8215                      transfer-ownership="full">
8216             <doc xml:whitespace="preserve">Pointer for the x cordinate of the bounding box</doc>
8217             <type name="int" c:type="gint*"/>
8218           </parameter>
8219           <parameter name="y"
8220                      direction="out"
8221                      caller-allocates="0"
8222                      transfer-ownership="full">
8223             <doc xml:whitespace="preserve">Pointer for the y cordinate of the bounding box</doc>
8224             <type name="int" c:type="gint*"/>
8225           </parameter>
8226           <parameter name="width"
8227                      direction="out"
8228                      caller-allocates="0"
8229                      transfer-ownership="full">
8230             <doc xml:whitespace="preserve">Pointer for the width of the bounding box</doc>
8231             <type name="int" c:type="gint*"/>
8232           </parameter>
8233           <parameter name="height"
8234                      direction="out"
8235                      caller-allocates="0"
8236                      transfer-ownership="full">
8237             <doc xml:whitespace="preserve">Pointer for the height of the bounding box</doc>
8238             <type name="int" c:type="gint*"/>
8239           </parameter>
8240           <parameter name="coords" transfer-ownership="none">
8241             <doc xml:whitespace="preserve">specify whether coordinates are relative to the screen or widget window</doc>
8242             <type name="CoordType" c:type="AtkCoordType"/>
8243           </parameter>
8244         </parameters>
8245       </method>
8246       <method name="get_run_attributes"
8247               c:identifier="atk_text_get_run_attributes">
8248         <return-value transfer-ownership="full">
8249           <type name="AttributeSet" c:type="AtkAttributeSet*"/>
8250         </return-value>
8251         <parameters>
8252           <parameter name="offset" transfer-ownership="none">
8253             <type name="int" c:type="gint"/>
8254           </parameter>
8255           <parameter name="start_offset"
8256                      direction="out"
8257                      caller-allocates="0"
8258                      transfer-ownership="full">
8259             <type name="int" c:type="gint*"/>
8260           </parameter>
8261           <parameter name="end_offset"
8262                      direction="out"
8263                      caller-allocates="0"
8264                      transfer-ownership="full">
8265             <type name="int" c:type="gint*"/>
8266           </parameter>
8267         </parameters>
8268       </method>
8269       <method name="get_default_attributes"
8270               c:identifier="atk_text_get_default_attributes">
8271         <return-value transfer-ownership="full">
8272           <type name="AttributeSet" c:type="AtkAttributeSet*"/>
8273         </return-value>
8274       </method>
8275       <method name="get_character_count"
8276               c:identifier="atk_text_get_character_count">
8277         <doc xml:whitespace="preserve">Gets the character count.</doc>
8278         <return-value transfer-ownership="none">
8279           <doc xml:whitespace="preserve">the number of characters.</doc>
8280           <type name="int" c:type="gint"/>
8281         </return-value>
8282       </method>
8283       <method name="get_offset_at_point"
8284               c:identifier="atk_text_get_offset_at_point">
8285         <doc xml:whitespace="preserve">Gets the offset of the character located at coordinates @x and @y. @x and @y
8286 are interpreted as being relative to the screen or this widget's window
8287 depending on @coords.
8288 the specified @x and @y coordinates.</doc>
8289         <return-value transfer-ownership="none">
8290           <doc xml:whitespace="preserve">the offset to the character which is located at</doc>
8291           <type name="int" c:type="gint"/>
8292         </return-value>
8293         <parameters>
8294           <parameter name="x" transfer-ownership="none">
8295             <doc xml:whitespace="preserve">screen x-position of character</doc>
8296             <type name="int" c:type="gint"/>
8297           </parameter>
8298           <parameter name="y" transfer-ownership="none">
8299             <doc xml:whitespace="preserve">screen y-position of character</doc>
8300             <type name="int" c:type="gint"/>
8301           </parameter>
8302           <parameter name="coords" transfer-ownership="none">
8303             <doc xml:whitespace="preserve">specify whether coordinates are relative to the screen or widget window</doc>
8304             <type name="CoordType" c:type="AtkCoordType"/>
8305           </parameter>
8306         </parameters>
8307       </method>
8308       <method name="get_n_selections" c:identifier="atk_text_get_n_selections">
8309         <doc xml:whitespace="preserve">Gets the number of selected regions.
8310 occurred.</doc>
8311         <return-value transfer-ownership="none">
8312           <doc xml:whitespace="preserve">The number of selected regions, or -1 if a failure</doc>
8313           <type name="int" c:type="gint"/>
8314         </return-value>
8315       </method>
8316       <method name="get_selection" c:identifier="atk_text_get_selection">
8317         <doc xml:whitespace="preserve">Gets the text from the specified selection.</doc>
8318         <return-value transfer-ownership="full">
8319           <doc xml:whitespace="preserve">the selected text.</doc>
8320           <type name="utf8" c:type="gchar*"/>
8321         </return-value>
8322         <parameters>
8323           <parameter name="selection_num" transfer-ownership="none">
8324             <doc xml:whitespace="preserve">The selection number.  The selected regions are assigned numbers that correspond to how far the region is from the start of the text.  The selected region closest to the beginning of the text region is assigned the number 0, etc.  Note that adding, moving or deleting a selected region can change the numbering.</doc>
8325             <type name="int" c:type="gint"/>
8326           </parameter>
8327           <parameter name="start_offset"
8328                      direction="out"
8329                      caller-allocates="0"
8330                      transfer-ownership="full">
8331             <doc xml:whitespace="preserve">passes back the start position of the selected region</doc>
8332             <type name="int" c:type="gint*"/>
8333           </parameter>
8334           <parameter name="end_offset"
8335                      direction="out"
8336                      caller-allocates="0"
8337                      transfer-ownership="full">
8338             <doc xml:whitespace="preserve">passes back the end position of (e.g. offset immediately past) the selected region</doc>
8339             <type name="int" c:type="gint*"/>
8340           </parameter>
8341         </parameters>
8342       </method>
8343       <method name="add_selection" c:identifier="atk_text_add_selection">
8344         <doc xml:whitespace="preserve">Adds a selection bounded by the specified offsets.</doc>
8345         <return-value transfer-ownership="none">
8346           <doc xml:whitespace="preserve">%TRUE if success, %FALSE otherwise</doc>
8347           <type name="boolean" c:type="gboolean"/>
8348         </return-value>
8349         <parameters>
8350           <parameter name="start_offset" transfer-ownership="none">
8351             <doc xml:whitespace="preserve">the start position of the selected region</doc>
8352             <type name="int" c:type="gint"/>
8353           </parameter>
8354           <parameter name="end_offset" transfer-ownership="none">
8355             <doc xml:whitespace="preserve">the offset of the first character after the selected region.</doc>
8356             <type name="int" c:type="gint"/>
8357           </parameter>
8358         </parameters>
8359       </method>
8360       <method name="remove_selection" c:identifier="atk_text_remove_selection">
8361         <doc xml:whitespace="preserve">Removes the specified selection.</doc>
8362         <return-value transfer-ownership="none">
8363           <doc xml:whitespace="preserve">%TRUE if success, %FALSE otherwise</doc>
8364           <type name="boolean" c:type="gboolean"/>
8365         </return-value>
8366         <parameters>
8367           <parameter name="selection_num" transfer-ownership="none">
8368             <doc xml:whitespace="preserve">The selection number.  The selected regions are assigned numbers that correspond to how far the region is from the start of the text.  The selected region closest to the beginning of the text region is assigned the number 0, etc.  Note that adding, moving or deleting a selected region can change the numbering.</doc>
8369             <type name="int" c:type="gint"/>
8370           </parameter>
8371         </parameters>
8372       </method>
8373       <method name="set_selection" c:identifier="atk_text_set_selection">
8374         <doc xml:whitespace="preserve">Changes the start and end offset of the specified selection.</doc>
8375         <return-value transfer-ownership="none">
8376           <doc xml:whitespace="preserve">%TRUE if success, %FALSE otherwise</doc>
8377           <type name="boolean" c:type="gboolean"/>
8378         </return-value>
8379         <parameters>
8380           <parameter name="selection_num" transfer-ownership="none">
8381             <doc xml:whitespace="preserve">The selection number.  The selected regions are assigned numbers that correspond to how far the region is from the start of the text.  The selected region closest to the beginning of the text region is assigned the number 0, etc.  Note that adding, moving or deleting a selected region can change the numbering.</doc>
8382             <type name="int" c:type="gint"/>
8383           </parameter>
8384           <parameter name="start_offset" transfer-ownership="none">
8385             <doc xml:whitespace="preserve">the new start position of the selection</doc>
8386             <type name="int" c:type="gint"/>
8387           </parameter>
8388           <parameter name="end_offset" transfer-ownership="none">
8389             <doc xml:whitespace="preserve">the new end position of (e.g. offset immediately past) the selection</doc>
8390             <type name="int" c:type="gint"/>
8391           </parameter>
8392         </parameters>
8393       </method>
8394       <method name="set_caret_offset" c:identifier="atk_text_set_caret_offset">
8395         <doc xml:whitespace="preserve">Sets the caret (cursor) position to the specified @offset.</doc>
8396         <return-value transfer-ownership="none">
8397           <doc xml:whitespace="preserve">%TRUE if success, %FALSE otherwise.</doc>
8398           <type name="boolean" c:type="gboolean"/>
8399         </return-value>
8400         <parameters>
8401           <parameter name="offset" transfer-ownership="none">
8402             <doc xml:whitespace="preserve">position</doc>
8403             <type name="int" c:type="gint"/>
8404           </parameter>
8405         </parameters>
8406       </method>
8407       <method name="get_range_extents"
8408               c:identifier="atk_text_get_range_extents"
8409               version="1.3">
8410         <doc xml:whitespace="preserve">Get the bounding box for text within the specified range.</doc>
8411         <return-value transfer-ownership="none">
8412           <type name="none" c:type="void"/>
8413         </return-value>
8414         <parameters>
8415           <parameter name="start_offset" transfer-ownership="none">
8416             <doc xml:whitespace="preserve">The offset of the first text character for which boundary information is required.</doc>
8417             <type name="int" c:type="gint"/>
8418           </parameter>
8419           <parameter name="end_offset" transfer-ownership="none">
8420             <doc xml:whitespace="preserve">The offset of the text character after the last character for which boundary information is required.</doc>
8421             <type name="int" c:type="gint"/>
8422           </parameter>
8423           <parameter name="coord_type" transfer-ownership="none">
8424             <doc xml:whitespace="preserve">Specify whether coordinates are relative to the screen or widget window.</doc>
8425             <type name="CoordType" c:type="AtkCoordType"/>
8426           </parameter>
8427           <parameter name="rect" transfer-ownership="none">
8428             <doc xml:whitespace="preserve">A pointer to a AtkTextRectangle which is filled in by this function.</doc>
8429             <type name="TextRectangle" c:type="AtkTextRectangle*"/>
8430           </parameter>
8431         </parameters>
8432       </method>
8433       <method name="get_bounded_ranges"
8434               c:identifier="atk_text_get_bounded_ranges"
8435               version="1.3">
8436         <doc xml:whitespace="preserve">Get the ranges of text in the specified bounding box.
8437 by this function will be NULL.</doc>
8438         <return-value transfer-ownership="full">
8439           <doc xml:whitespace="preserve">Array of AtkTextRange. The last element of the array returned</doc>
8440           <type name="TextRange" c:type="AtkTextRange**"/>
8441         </return-value>
8442         <parameters>
8443           <parameter name="rect" transfer-ownership="none">
8444             <doc xml:whitespace="preserve">An AtkTextRectagle giving the dimensions of the bounding box.</doc>
8445             <type name="TextRectangle" c:type="AtkTextRectangle*"/>
8446           </parameter>
8447           <parameter name="coord_type" transfer-ownership="none">
8448             <doc xml:whitespace="preserve">Specify whether coordinates are relative to the screen or widget window.</doc>
8449             <type name="CoordType" c:type="AtkCoordType"/>
8450           </parameter>
8451           <parameter name="x_clip_type" transfer-ownership="none">
8452             <doc xml:whitespace="preserve">Specify the horizontal clip type.</doc>
8453             <type name="TextClipType" c:type="AtkTextClipType"/>
8454           </parameter>
8455           <parameter name="y_clip_type" transfer-ownership="none">
8456             <doc xml:whitespace="preserve">Specify the vertical clip type.</doc>
8457             <type name="TextClipType" c:type="AtkTextClipType"/>
8458           </parameter>
8459         </parameters>
8460       </method>
8461       <glib:signal name="text-attributes-changed">
8462         <return-value transfer-ownership="full">
8463           <type name="none" c:type="void"/>
8464         </return-value>
8465       </glib:signal>
8466       <glib:signal name="text-caret-moved">
8467         <return-value transfer-ownership="full">
8468           <type name="none" c:type="void"/>
8469         </return-value>
8470         <parameters>
8471           <parameter name="object" transfer-ownership="none">
8472             <type name="int" c:type="gint"/>
8473           </parameter>
8474         </parameters>
8475       </glib:signal>
8476       <glib:signal name="text-changed">
8477         <return-value transfer-ownership="full">
8478           <type name="none" c:type="void"/>
8479         </return-value>
8480         <parameters>
8481           <parameter name="object" transfer-ownership="none">
8482             <type name="int" c:type="gint"/>
8483           </parameter>
8484           <parameter name="p0" transfer-ownership="none">
8485             <type name="int" c:type="gint"/>
8486           </parameter>
8487         </parameters>
8488       </glib:signal>
8489       <glib:signal name="text-selection-changed">
8490         <return-value transfer-ownership="full">
8491           <type name="none" c:type="void"/>
8492         </return-value>
8493       </glib:signal>
8494     </interface>
8495     <enumeration name="TextAttribute"
8496                  glib:type-name="AtkTextAttribute"
8497                  glib:get-type="atk_text_attribute_get_type"
8498                  c:type="AtkTextAttribute">
8499       <member name="invalid"
8500               value="0"
8501               c:identifier="ATK_TEXT_ATTR_INVALID"
8502               glib:nick="invalid"/>
8503       <member name="left_margin"
8504               value="1"
8505               c:identifier="ATK_TEXT_ATTR_LEFT_MARGIN"
8506               glib:nick="left-margin"/>
8507       <member name="right_margin"
8508               value="2"
8509               c:identifier="ATK_TEXT_ATTR_RIGHT_MARGIN"
8510               glib:nick="right-margin"/>
8511       <member name="indent"
8512               value="3"
8513               c:identifier="ATK_TEXT_ATTR_INDENT"
8514               glib:nick="indent"/>
8515       <member name="invisible"
8516               value="4"
8517               c:identifier="ATK_TEXT_ATTR_INVISIBLE"
8518               glib:nick="invisible"/>
8519       <member name="editable"
8520               value="5"
8521               c:identifier="ATK_TEXT_ATTR_EDITABLE"
8522               glib:nick="editable"/>
8523       <member name="pixels_above_lines"
8524               value="6"
8525               c:identifier="ATK_TEXT_ATTR_PIXELS_ABOVE_LINES"
8526               glib:nick="pixels-above-lines"/>
8527       <member name="pixels_below_lines"
8528               value="7"
8529               c:identifier="ATK_TEXT_ATTR_PIXELS_BELOW_LINES"
8530               glib:nick="pixels-below-lines"/>
8531       <member name="pixels_inside_wrap"
8532               value="8"
8533               c:identifier="ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP"
8534               glib:nick="pixels-inside-wrap"/>
8535       <member name="bg_full_height"
8536               value="9"
8537               c:identifier="ATK_TEXT_ATTR_BG_FULL_HEIGHT"
8538               glib:nick="bg-full-height"/>
8539       <member name="rise"
8540               value="10"
8541               c:identifier="ATK_TEXT_ATTR_RISE"
8542               glib:nick="rise"/>
8543       <member name="underline"
8544               value="11"
8545               c:identifier="ATK_TEXT_ATTR_UNDERLINE"
8546               glib:nick="underline"/>
8547       <member name="strikethrough"
8548               value="12"
8549               c:identifier="ATK_TEXT_ATTR_STRIKETHROUGH"
8550               glib:nick="strikethrough"/>
8551       <member name="size"
8552               value="13"
8553               c:identifier="ATK_TEXT_ATTR_SIZE"
8554               glib:nick="size"/>
8555       <member name="scale"
8556               value="14"
8557               c:identifier="ATK_TEXT_ATTR_SCALE"
8558               glib:nick="scale"/>
8559       <member name="weight"
8560               value="15"
8561               c:identifier="ATK_TEXT_ATTR_WEIGHT"
8562               glib:nick="weight"/>
8563       <member name="language"
8564               value="16"
8565               c:identifier="ATK_TEXT_ATTR_LANGUAGE"
8566               glib:nick="language"/>
8567       <member name="family_name"
8568               value="17"
8569               c:identifier="ATK_TEXT_ATTR_FAMILY_NAME"
8570               glib:nick="family-name"/>
8571       <member name="bg_color"
8572               value="18"
8573               c:identifier="ATK_TEXT_ATTR_BG_COLOR"
8574               glib:nick="bg-color"/>
8575       <member name="fg_color"
8576               value="19"
8577               c:identifier="ATK_TEXT_ATTR_FG_COLOR"
8578               glib:nick="fg-color"/>
8579       <member name="bg_stipple"
8580               value="20"
8581               c:identifier="ATK_TEXT_ATTR_BG_STIPPLE"
8582               glib:nick="bg-stipple"/>
8583       <member name="fg_stipple"
8584               value="21"
8585               c:identifier="ATK_TEXT_ATTR_FG_STIPPLE"
8586               glib:nick="fg-stipple"/>
8587       <member name="wrap_mode"
8588               value="22"
8589               c:identifier="ATK_TEXT_ATTR_WRAP_MODE"
8590               glib:nick="wrap-mode"/>
8591       <member name="direction"
8592               value="23"
8593               c:identifier="ATK_TEXT_ATTR_DIRECTION"
8594               glib:nick="direction"/>
8595       <member name="justification"
8596               value="24"
8597               c:identifier="ATK_TEXT_ATTR_JUSTIFICATION"
8598               glib:nick="justification"/>
8599       <member name="stretch"
8600               value="25"
8601               c:identifier="ATK_TEXT_ATTR_STRETCH"
8602               glib:nick="stretch"/>
8603       <member name="variant"
8604               value="26"
8605               c:identifier="ATK_TEXT_ATTR_VARIANT"
8606               glib:nick="variant"/>
8607       <member name="style"
8608               value="27"
8609               c:identifier="ATK_TEXT_ATTR_STYLE"
8610               glib:nick="style"/>
8611       <member name="last_defined"
8612               value="28"
8613               c:identifier="ATK_TEXT_ATTR_LAST_DEFINED"
8614               glib:nick="last-defined"/>
8615     </enumeration>
8616     <enumeration name="TextBoundary"
8617                  glib:type-name="AtkTextBoundary"
8618                  glib:get-type="atk_text_boundary_get_type"
8619                  c:type="AtkTextBoundary">
8620       <member name="char"
8621               value="0"
8622               c:identifier="ATK_TEXT_BOUNDARY_CHAR"
8623               glib:nick="char"/>
8624       <member name="word_start"
8625               value="1"
8626               c:identifier="ATK_TEXT_BOUNDARY_WORD_START"
8627               glib:nick="word-start"/>
8628       <member name="word_end"
8629               value="2"
8630               c:identifier="ATK_TEXT_BOUNDARY_WORD_END"
8631               glib:nick="word-end"/>
8632       <member name="sentence_start"
8633               value="3"
8634               c:identifier="ATK_TEXT_BOUNDARY_SENTENCE_START"
8635               glib:nick="sentence-start"/>
8636       <member name="sentence_end"
8637               value="4"
8638               c:identifier="ATK_TEXT_BOUNDARY_SENTENCE_END"
8639               glib:nick="sentence-end"/>
8640       <member name="line_start"
8641               value="5"
8642               c:identifier="ATK_TEXT_BOUNDARY_LINE_START"
8643               glib:nick="line-start"/>
8644       <member name="line_end"
8645               value="6"
8646               c:identifier="ATK_TEXT_BOUNDARY_LINE_END"
8647               glib:nick="line-end"/>
8648     </enumeration>
8649     <enumeration name="TextClipType"
8650                  glib:type-name="AtkTextClipType"
8651                  glib:get-type="atk_text_clip_type_get_type"
8652                  c:type="AtkTextClipType">
8653       <member name="none"
8654               value="0"
8655               c:identifier="ATK_TEXT_CLIP_NONE"
8656               glib:nick="none"/>
8657       <member name="min"
8658               value="1"
8659               c:identifier="ATK_TEXT_CLIP_MIN"
8660               glib:nick="min"/>
8661       <member name="max"
8662               value="2"
8663               c:identifier="ATK_TEXT_CLIP_MAX"
8664               glib:nick="max"/>
8665       <member name="both"
8666               value="3"
8667               c:identifier="ATK_TEXT_CLIP_BOTH"
8668               glib:nick="both"/>
8669     </enumeration>
8670     <record name="TextIface"
8671             c:type="AtkTextIface"
8672             glib:is-gtype-struct-for="Text">
8673       <field name="parent">
8674         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
8675       </field>
8676       <field name="get_text">
8677         <callback name="get_text" c:type="get_text">
8678           <return-value transfer-ownership="full">
8679             <doc xml:whitespace="preserve">the text from @start_offset up to, but not including @end_offset.</doc>
8680             <type name="utf8" c:type="gchar*"/>
8681           </return-value>
8682           <parameters>
8683             <parameter name="text" transfer-ownership="none">
8684               <type name="Text" c:type="AtkText*"/>
8685             </parameter>
8686             <parameter name="start_offset" transfer-ownership="none">
8687               <doc xml:whitespace="preserve">start position</doc>
8688               <type name="int" c:type="gint"/>
8689             </parameter>
8690             <parameter name="end_offset" transfer-ownership="none">
8691               <doc xml:whitespace="preserve">end position</doc>
8692               <type name="int" c:type="gint"/>
8693             </parameter>
8694           </parameters>
8695         </callback>
8696       </field>
8697       <field name="get_text_after_offset">
8698         <callback name="get_text_after_offset" c:type="get_text_after_offset">
8699           <return-value transfer-ownership="full">
8700             <doc xml:whitespace="preserve">the text after @offset bounded by the specified @boundary_type.</doc>
8701             <type name="utf8" c:type="gchar*"/>
8702           </return-value>
8703           <parameters>
8704             <parameter name="text" transfer-ownership="none">
8705               <type name="Text" c:type="AtkText*"/>
8706             </parameter>
8707             <parameter name="offset" transfer-ownership="none">
8708               <doc xml:whitespace="preserve">position</doc>
8709               <type name="int" c:type="gint"/>
8710             </parameter>
8711             <parameter name="boundary_type" transfer-ownership="none">
8712               <doc xml:whitespace="preserve">An #AtkTextBoundary</doc>
8713               <type name="TextBoundary" c:type="AtkTextBoundary"/>
8714             </parameter>
8715             <parameter name="start_offset"
8716                        direction="out"
8717                        caller-allocates="0"
8718                        transfer-ownership="full">
8719               <doc xml:whitespace="preserve">the start offset of the returned string</doc>
8720               <type name="int" c:type="gint*"/>
8721             </parameter>
8722             <parameter name="end_offset"
8723                        direction="out"
8724                        caller-allocates="0"
8725                        transfer-ownership="full">
8726               <doc xml:whitespace="preserve">the offset of the first character after the returned substring</doc>
8727               <type name="int" c:type="gint*"/>
8728             </parameter>
8729           </parameters>
8730         </callback>
8731       </field>
8732       <field name="get_text_at_offset">
8733         <callback name="get_text_at_offset" c:type="get_text_at_offset">
8734           <return-value transfer-ownership="full">
8735             <doc xml:whitespace="preserve">the text at @offset bounded by the specified @boundary_type.</doc>
8736             <type name="utf8" c:type="gchar*"/>
8737           </return-value>
8738           <parameters>
8739             <parameter name="text" transfer-ownership="none">
8740               <type name="Text" c:type="AtkText*"/>
8741             </parameter>
8742             <parameter name="offset" transfer-ownership="none">
8743               <doc xml:whitespace="preserve">position</doc>
8744               <type name="int" c:type="gint"/>
8745             </parameter>
8746             <parameter name="boundary_type" transfer-ownership="none">
8747               <doc xml:whitespace="preserve">An #AtkTextBoundary</doc>
8748               <type name="TextBoundary" c:type="AtkTextBoundary"/>
8749             </parameter>
8750             <parameter name="start_offset"
8751                        direction="out"
8752                        caller-allocates="0"
8753                        transfer-ownership="full">
8754               <doc xml:whitespace="preserve">the start offset of the returned string</doc>
8755               <type name="int" c:type="gint*"/>
8756             </parameter>
8757             <parameter name="end_offset"
8758                        direction="out"
8759                        caller-allocates="0"
8760                        transfer-ownership="full">
8761               <doc xml:whitespace="preserve">the offset of the first character after the returned substring</doc>
8762               <type name="int" c:type="gint*"/>
8763             </parameter>
8764           </parameters>
8765         </callback>
8766       </field>
8767       <field name="get_character_at_offset">
8768         <callback name="get_character_at_offset"
8769                   c:type="get_character_at_offset">
8770           <return-value transfer-ownership="full">
8771             <doc xml:whitespace="preserve">the character at @offset.</doc>
8772             <type name="GLib.unichar" c:type="gunichar"/>
8773           </return-value>
8774           <parameters>
8775             <parameter name="text" transfer-ownership="none">
8776               <type name="Text" c:type="AtkText*"/>
8777             </parameter>
8778             <parameter name="offset" transfer-ownership="none">
8779               <doc xml:whitespace="preserve">position</doc>
8780               <type name="int" c:type="gint"/>
8781             </parameter>
8782           </parameters>
8783         </callback>
8784       </field>
8785       <field name="get_text_before_offset">
8786         <callback name="get_text_before_offset"
8787                   c:type="get_text_before_offset">
8788           <return-value transfer-ownership="full">
8789             <doc xml:whitespace="preserve">the text before @offset bounded by the specified @boundary_type.</doc>
8790             <type name="utf8" c:type="gchar*"/>
8791           </return-value>
8792           <parameters>
8793             <parameter name="text" transfer-ownership="none">
8794               <type name="Text" c:type="AtkText*"/>
8795             </parameter>
8796             <parameter name="offset" transfer-ownership="none">
8797               <doc xml:whitespace="preserve">position</doc>
8798               <type name="int" c:type="gint"/>
8799             </parameter>
8800             <parameter name="boundary_type" transfer-ownership="none">
8801               <doc xml:whitespace="preserve">An #AtkTextBoundary</doc>
8802               <type name="TextBoundary" c:type="AtkTextBoundary"/>
8803             </parameter>
8804             <parameter name="start_offset"
8805                        direction="out"
8806                        caller-allocates="0"
8807                        transfer-ownership="full">
8808               <doc xml:whitespace="preserve">the start offset of the returned string</doc>
8809               <type name="int" c:type="gint*"/>
8810             </parameter>
8811             <parameter name="end_offset"
8812                        direction="out"
8813                        caller-allocates="0"
8814                        transfer-ownership="full">
8815               <doc xml:whitespace="preserve">the offset of the first character after the returned substring</doc>
8816               <type name="int" c:type="gint*"/>
8817             </parameter>
8818           </parameters>
8819         </callback>
8820       </field>
8821       <field name="get_caret_offset">
8822         <callback name="get_caret_offset" c:type="get_caret_offset">
8823           <return-value transfer-ownership="none">
8824             <doc xml:whitespace="preserve">the offset position of the caret (cursor).</doc>
8825             <type name="int" c:type="gint"/>
8826           </return-value>
8827           <parameters>
8828             <parameter name="text" transfer-ownership="none">
8829               <type name="Text" c:type="AtkText*"/>
8830             </parameter>
8831           </parameters>
8832         </callback>
8833       </field>
8834       <field name="get_run_attributes">
8835         <callback name="get_run_attributes" c:type="get_run_attributes">
8836           <return-value transfer-ownership="full">
8837             <type name="AttributeSet" c:type="AtkAttributeSet*"/>
8838           </return-value>
8839           <parameters>
8840             <parameter name="text" transfer-ownership="none">
8841               <type name="Text" c:type="AtkText*"/>
8842             </parameter>
8843             <parameter name="offset" transfer-ownership="none">
8844               <type name="int" c:type="gint"/>
8845             </parameter>
8846             <parameter name="start_offset"
8847                        direction="out"
8848                        caller-allocates="0"
8849                        transfer-ownership="full">
8850               <type name="int" c:type="gint*"/>
8851             </parameter>
8852             <parameter name="end_offset"
8853                        direction="out"
8854                        caller-allocates="0"
8855                        transfer-ownership="full">
8856               <type name="int" c:type="gint*"/>
8857             </parameter>
8858           </parameters>
8859         </callback>
8860       </field>
8861       <field name="get_default_attributes">
8862         <callback name="get_default_attributes"
8863                   c:type="get_default_attributes">
8864           <return-value transfer-ownership="full">
8865             <type name="AttributeSet" c:type="AtkAttributeSet*"/>
8866           </return-value>
8867           <parameters>
8868             <parameter name="text" transfer-ownership="none">
8869               <type name="Text" c:type="AtkText*"/>
8870             </parameter>
8871           </parameters>
8872         </callback>
8873       </field>
8874       <field name="get_character_extents">
8875         <callback name="get_character_extents" c:type="get_character_extents">
8876           <return-value transfer-ownership="none">
8877             <type name="none" c:type="void"/>
8878           </return-value>
8879           <parameters>
8880             <parameter name="text" transfer-ownership="none">
8881               <type name="Text" c:type="AtkText*"/>
8882             </parameter>
8883             <parameter name="offset" transfer-ownership="none">
8884               <doc xml:whitespace="preserve">The offset of the text character for which bounding information is required.</doc>
8885               <type name="int" c:type="gint"/>
8886             </parameter>
8887             <parameter name="x"
8888                        direction="out"
8889                        caller-allocates="0"
8890                        transfer-ownership="full">
8891               <doc xml:whitespace="preserve">Pointer for the x cordinate of the bounding box</doc>
8892               <type name="int" c:type="gint*"/>
8893             </parameter>
8894             <parameter name="y"
8895                        direction="out"
8896                        caller-allocates="0"
8897                        transfer-ownership="full">
8898               <doc xml:whitespace="preserve">Pointer for the y cordinate of the bounding box</doc>
8899               <type name="int" c:type="gint*"/>
8900             </parameter>
8901             <parameter name="width"
8902                        direction="out"
8903                        caller-allocates="0"
8904                        transfer-ownership="full">
8905               <doc xml:whitespace="preserve">Pointer for the width of the bounding box</doc>
8906               <type name="int" c:type="gint*"/>
8907             </parameter>
8908             <parameter name="height"
8909                        direction="out"
8910                        caller-allocates="0"
8911                        transfer-ownership="full">
8912               <doc xml:whitespace="preserve">Pointer for the height of the bounding box</doc>
8913               <type name="int" c:type="gint*"/>
8914             </parameter>
8915             <parameter name="coords" transfer-ownership="none">
8916               <doc xml:whitespace="preserve">specify whether coordinates are relative to the screen or widget window</doc>
8917               <type name="CoordType" c:type="AtkCoordType"/>
8918             </parameter>
8919           </parameters>
8920         </callback>
8921       </field>
8922       <field name="get_character_count">
8923         <callback name="get_character_count" c:type="get_character_count">
8924           <return-value transfer-ownership="none">
8925             <doc xml:whitespace="preserve">the number of characters.</doc>
8926             <type name="int" c:type="gint"/>
8927           </return-value>
8928           <parameters>
8929             <parameter name="text" transfer-ownership="none">
8930               <type name="Text" c:type="AtkText*"/>
8931             </parameter>
8932           </parameters>
8933         </callback>
8934       </field>
8935       <field name="get_offset_at_point">
8936         <callback name="get_offset_at_point" c:type="get_offset_at_point">
8937           <return-value transfer-ownership="none">
8938             <doc xml:whitespace="preserve">the offset to the character which is located at</doc>
8939             <type name="int" c:type="gint"/>
8940           </return-value>
8941           <parameters>
8942             <parameter name="text" transfer-ownership="none">
8943               <type name="Text" c:type="AtkText*"/>
8944             </parameter>
8945             <parameter name="x" transfer-ownership="none">
8946               <doc xml:whitespace="preserve">screen x-position of character</doc>
8947               <type name="int" c:type="gint"/>
8948             </parameter>
8949             <parameter name="y" transfer-ownership="none">
8950               <doc xml:whitespace="preserve">screen y-position of character</doc>
8951               <type name="int" c:type="gint"/>
8952             </parameter>
8953             <parameter name="coords" transfer-ownership="none">
8954               <doc xml:whitespace="preserve">specify whether coordinates are relative to the screen or widget window</doc>
8955               <type name="CoordType" c:type="AtkCoordType"/>
8956             </parameter>
8957           </parameters>
8958         </callback>
8959       </field>
8960       <field name="get_n_selections">
8961         <callback name="get_n_selections" c:type="get_n_selections">
8962           <return-value transfer-ownership="none">
8963             <doc xml:whitespace="preserve">The number of selected regions, or -1 if a failure</doc>
8964             <type name="int" c:type="gint"/>
8965           </return-value>
8966           <parameters>
8967             <parameter name="text" transfer-ownership="none">
8968               <type name="Text" c:type="AtkText*"/>
8969             </parameter>
8970           </parameters>
8971         </callback>
8972       </field>
8973       <field name="get_selection">
8974         <callback name="get_selection" c:type="get_selection">
8975           <return-value transfer-ownership="full">
8976             <doc xml:whitespace="preserve">the selected text.</doc>
8977             <type name="utf8" c:type="gchar*"/>
8978           </return-value>
8979           <parameters>
8980             <parameter name="text" transfer-ownership="none">
8981               <type name="Text" c:type="AtkText*"/>
8982             </parameter>
8983             <parameter name="selection_num" transfer-ownership="none">
8984               <doc xml:whitespace="preserve">The selection number.  The selected regions are assigned numbers that correspond to how far the region is from the start of the text.  The selected region closest to the beginning of the text region is assigned the number 0, etc.  Note that adding, moving or deleting a selected region can change the numbering.</doc>
8985               <type name="int" c:type="gint"/>
8986             </parameter>
8987             <parameter name="start_offset"
8988                        direction="out"
8989                        caller-allocates="0"
8990                        transfer-ownership="full">
8991               <doc xml:whitespace="preserve">passes back the start position of the selected region</doc>
8992               <type name="int" c:type="gint*"/>
8993             </parameter>
8994             <parameter name="end_offset"
8995                        direction="out"
8996                        caller-allocates="0"
8997                        transfer-ownership="full">
8998               <doc xml:whitespace="preserve">passes back the end position of (e.g. offset immediately past) the selected region</doc>
8999               <type name="int" c:type="gint*"/>
9000             </parameter>
9001           </parameters>
9002         </callback>
9003       </field>
9004       <field name="add_selection">
9005         <callback name="add_selection" c:type="add_selection">
9006           <return-value transfer-ownership="none">
9007             <doc xml:whitespace="preserve">%TRUE if success, %FALSE otherwise</doc>
9008             <type name="boolean" c:type="gboolean"/>
9009           </return-value>
9010           <parameters>
9011             <parameter name="text" transfer-ownership="none">
9012               <type name="Text" c:type="AtkText*"/>
9013             </parameter>
9014             <parameter name="start_offset" transfer-ownership="none">
9015               <doc xml:whitespace="preserve">the start position of the selected region</doc>
9016               <type name="int" c:type="gint"/>
9017             </parameter>
9018             <parameter name="end_offset" transfer-ownership="none">
9019               <doc xml:whitespace="preserve">the offset of the first character after the selected region.</doc>
9020               <type name="int" c:type="gint"/>
9021             </parameter>
9022           </parameters>
9023         </callback>
9024       </field>
9025       <field name="remove_selection">
9026         <callback name="remove_selection" c:type="remove_selection">
9027           <return-value transfer-ownership="none">
9028             <doc xml:whitespace="preserve">%TRUE if success, %FALSE otherwise</doc>
9029             <type name="boolean" c:type="gboolean"/>
9030           </return-value>
9031           <parameters>
9032             <parameter name="text" transfer-ownership="none">
9033               <type name="Text" c:type="AtkText*"/>
9034             </parameter>
9035             <parameter name="selection_num" transfer-ownership="none">
9036               <doc xml:whitespace="preserve">The selection number.  The selected regions are assigned numbers that correspond to how far the region is from the start of the text.  The selected region closest to the beginning of the text region is assigned the number 0, etc.  Note that adding, moving or deleting a selected region can change the numbering.</doc>
9037               <type name="int" c:type="gint"/>
9038             </parameter>
9039           </parameters>
9040         </callback>
9041       </field>
9042       <field name="set_selection">
9043         <callback name="set_selection" c:type="set_selection">
9044           <return-value transfer-ownership="none">
9045             <doc xml:whitespace="preserve">%TRUE if success, %FALSE otherwise</doc>
9046             <type name="boolean" c:type="gboolean"/>
9047           </return-value>
9048           <parameters>
9049             <parameter name="text" transfer-ownership="none">
9050               <type name="Text" c:type="AtkText*"/>
9051             </parameter>
9052             <parameter name="selection_num" transfer-ownership="none">
9053               <doc xml:whitespace="preserve">The selection number.  The selected regions are assigned numbers that correspond to how far the region is from the start of the text.  The selected region closest to the beginning of the text region is assigned the number 0, etc.  Note that adding, moving or deleting a selected region can change the numbering.</doc>
9054               <type name="int" c:type="gint"/>
9055             </parameter>
9056             <parameter name="start_offset" transfer-ownership="none">
9057               <doc xml:whitespace="preserve">the new start position of the selection</doc>
9058               <type name="int" c:type="gint"/>
9059             </parameter>
9060             <parameter name="end_offset" transfer-ownership="none">
9061               <doc xml:whitespace="preserve">the new end position of (e.g. offset immediately past) the selection</doc>
9062               <type name="int" c:type="gint"/>
9063             </parameter>
9064           </parameters>
9065         </callback>
9066       </field>
9067       <field name="set_caret_offset">
9068         <callback name="set_caret_offset" c:type="set_caret_offset">
9069           <return-value transfer-ownership="none">
9070             <doc xml:whitespace="preserve">%TRUE if success, %FALSE otherwise.</doc>
9071             <type name="boolean" c:type="gboolean"/>
9072           </return-value>
9073           <parameters>
9074             <parameter name="text" transfer-ownership="none">
9075               <type name="Text" c:type="AtkText*"/>
9076             </parameter>
9077             <parameter name="offset" transfer-ownership="none">
9078               <doc xml:whitespace="preserve">position</doc>
9079               <type name="int" c:type="gint"/>
9080             </parameter>
9081           </parameters>
9082         </callback>
9083       </field>
9084       <field name="text_changed">
9085         <callback name="text_changed" c:type="text_changed">
9086           <return-value transfer-ownership="none">
9087             <type name="none" c:type="void"/>
9088           </return-value>
9089           <parameters>
9090             <parameter name="text" transfer-ownership="none">
9091               <type name="Text" c:type="AtkText*"/>
9092             </parameter>
9093             <parameter name="position" transfer-ownership="none">
9094               <type name="int" c:type="gint"/>
9095             </parameter>
9096             <parameter name="length" transfer-ownership="none">
9097               <type name="int" c:type="gint"/>
9098             </parameter>
9099           </parameters>
9100         </callback>
9101       </field>
9102       <field name="text_caret_moved">
9103         <callback name="text_caret_moved" c:type="text_caret_moved">
9104           <return-value transfer-ownership="none">
9105             <type name="none" c:type="void"/>
9106           </return-value>
9107           <parameters>
9108             <parameter name="text" transfer-ownership="none">
9109               <type name="Text" c:type="AtkText*"/>
9110             </parameter>
9111             <parameter name="location" transfer-ownership="none">
9112               <type name="int" c:type="gint"/>
9113             </parameter>
9114           </parameters>
9115         </callback>
9116       </field>
9117       <field name="text_selection_changed">
9118         <callback name="text_selection_changed"
9119                   c:type="text_selection_changed">
9120           <return-value transfer-ownership="none">
9121             <type name="none" c:type="void"/>
9122           </return-value>
9123           <parameters>
9124             <parameter name="text" transfer-ownership="none">
9125               <type name="Text" c:type="AtkText*"/>
9126             </parameter>
9127           </parameters>
9128         </callback>
9129       </field>
9130       <field name="text_attributes_changed">
9131         <callback name="text_attributes_changed"
9132                   c:type="text_attributes_changed">
9133           <return-value transfer-ownership="none">
9134             <type name="none" c:type="void"/>
9135           </return-value>
9136           <parameters>
9137             <parameter name="text" transfer-ownership="none">
9138               <type name="Text" c:type="AtkText*"/>
9139             </parameter>
9140           </parameters>
9141         </callback>
9142       </field>
9143       <field name="get_range_extents">
9144         <callback name="get_range_extents" c:type="get_range_extents">
9145           <return-value transfer-ownership="none">
9146             <type name="none" c:type="void"/>
9147           </return-value>
9148           <parameters>
9149             <parameter name="text" transfer-ownership="none">
9150               <type name="Text" c:type="AtkText*"/>
9151             </parameter>
9152             <parameter name="start_offset" transfer-ownership="none">
9153               <doc xml:whitespace="preserve">The offset of the first text character for which boundary information is required.</doc>
9154               <type name="int" c:type="gint"/>
9155             </parameter>
9156             <parameter name="end_offset" transfer-ownership="none">
9157               <doc xml:whitespace="preserve">The offset of the text character after the last character for which boundary information is required.</doc>
9158               <type name="int" c:type="gint"/>
9159             </parameter>
9160             <parameter name="coord_type" transfer-ownership="none">
9161               <doc xml:whitespace="preserve">Specify whether coordinates are relative to the screen or widget window.</doc>
9162               <type name="CoordType" c:type="AtkCoordType"/>
9163             </parameter>
9164             <parameter name="rect" transfer-ownership="none">
9165               <doc xml:whitespace="preserve">A pointer to a AtkTextRectangle which is filled in by this function.</doc>
9166               <type name="TextRectangle" c:type="AtkTextRectangle*"/>
9167             </parameter>
9168           </parameters>
9169         </callback>
9170       </field>
9171       <field name="get_bounded_ranges">
9172         <callback name="get_bounded_ranges" c:type="get_bounded_ranges">
9173           <return-value transfer-ownership="full">
9174             <doc xml:whitespace="preserve">Array of AtkTextRange. The last element of the array returned</doc>
9175             <type name="TextRange" c:type="AtkTextRange**"/>
9176           </return-value>
9177           <parameters>
9178             <parameter name="text" transfer-ownership="none">
9179               <type name="Text" c:type="AtkText*"/>
9180             </parameter>
9181             <parameter name="rect" transfer-ownership="none">
9182               <doc xml:whitespace="preserve">An AtkTextRectagle giving the dimensions of the bounding box.</doc>
9183               <type name="TextRectangle" c:type="AtkTextRectangle*"/>
9184             </parameter>
9185             <parameter name="coord_type" transfer-ownership="none">
9186               <doc xml:whitespace="preserve">Specify whether coordinates are relative to the screen or widget window.</doc>
9187               <type name="CoordType" c:type="AtkCoordType"/>
9188             </parameter>
9189             <parameter name="x_clip_type" transfer-ownership="none">
9190               <doc xml:whitespace="preserve">Specify the horizontal clip type.</doc>
9191               <type name="TextClipType" c:type="AtkTextClipType"/>
9192             </parameter>
9193             <parameter name="y_clip_type" transfer-ownership="none">
9194               <doc xml:whitespace="preserve">Specify the vertical clip type.</doc>
9195               <type name="TextClipType" c:type="AtkTextClipType"/>
9196             </parameter>
9197           </parameters>
9198         </callback>
9199       </field>
9200       <field name="pad4">
9201         <type name="Function" c:type="AtkFunction"/>
9202       </field>
9203     </record>
9204     <record name="TextRange" c:type="AtkTextRange">
9205       <doc xml:whitespace="preserve">A structure used to describe a text range.</doc>
9206       <field name="bounds" writable="1">
9207         <type name="TextRectangle" c:type="AtkTextRectangle"/>
9208       </field>
9209       <field name="start_offset" writable="1">
9210         <type name="int" c:type="gint"/>
9211       </field>
9212       <field name="end_offset" writable="1">
9213         <type name="int" c:type="gint"/>
9214       </field>
9215       <field name="content" writable="1">
9216         <type name="utf8" c:type="gchar*"/>
9217       </field>
9218     </record>
9219     <record name="TextRectangle" c:type="AtkTextRectangle">
9220       <doc xml:whitespace="preserve">A structure used to store a rectangle used by AtkText.</doc>
9221       <field name="x" writable="1">
9222         <type name="int" c:type="gint"/>
9223       </field>
9224       <field name="y" writable="1">
9225         <type name="int" c:type="gint"/>
9226       </field>
9227       <field name="width" writable="1">
9228         <type name="int" c:type="gint"/>
9229       </field>
9230       <field name="height" writable="1">
9231         <type name="int" c:type="gint"/>
9232       </field>
9233     </record>
9234     <class name="Util"
9235            c:type="AtkUtil"
9236            parent="GObject.Object"
9237            glib:type-name="AtkUtil"
9238            glib:get-type="atk_util_get_type"
9239            glib:type-struct="UtilClass">
9240       <field name="parent">
9241         <type name="GObject.Object" c:type="GObject"/>
9242       </field>
9243     </class>
9244     <record name="UtilClass"
9245             c:type="AtkUtilClass"
9246             glib:is-gtype-struct-for="Util">
9247       <field name="parent">
9248         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
9249       </field>
9250       <field name="add_global_event_listener">
9251         <callback name="add_global_event_listener"
9252                   c:type="add_global_event_listener">
9253           <return-value transfer-ownership="none">
9254             <type name="uint" c:type="guint"/>
9255           </return-value>
9256           <parameters>
9257             <parameter name="listener" transfer-ownership="none">
9258               <type name="GObject.SignalEmissionHook"
9259                     c:type="GSignalEmissionHook"/>
9260             </parameter>
9261             <parameter name="event_type" transfer-ownership="none">
9262               <type name="utf8" c:type="gchar*"/>
9263             </parameter>
9264           </parameters>
9265         </callback>
9266       </field>
9267       <field name="remove_global_event_listener">
9268         <callback name="remove_global_event_listener"
9269                   c:type="remove_global_event_listener">
9270           <return-value transfer-ownership="none">
9271             <type name="none" c:type="void"/>
9272           </return-value>
9273           <parameters>
9274             <parameter name="listener_id" transfer-ownership="none">
9275               <type name="uint" c:type="guint"/>
9276             </parameter>
9277           </parameters>
9278         </callback>
9279       </field>
9280       <field name="add_key_event_listener">
9281         <callback name="add_key_event_listener"
9282                   c:type="add_key_event_listener">
9283           <return-value transfer-ownership="none">
9284             <type name="uint" c:type="guint"/>
9285           </return-value>
9286           <parameters>
9287             <parameter name="listener" transfer-ownership="none">
9288               <type name="KeySnoopFunc" c:type="AtkKeySnoopFunc"/>
9289             </parameter>
9290             <parameter name="data" transfer-ownership="none">
9291               <type name="any" c:type="gpointer"/>
9292             </parameter>
9293           </parameters>
9294         </callback>
9295       </field>
9296       <field name="remove_key_event_listener">
9297         <callback name="remove_key_event_listener"
9298                   c:type="remove_key_event_listener">
9299           <return-value transfer-ownership="none">
9300             <type name="none" c:type="void"/>
9301           </return-value>
9302           <parameters>
9303             <parameter name="listener_id" transfer-ownership="none">
9304               <type name="uint" c:type="guint"/>
9305             </parameter>
9306           </parameters>
9307         </callback>
9308       </field>
9309       <field name="get_root">
9310         <callback name="get_root" c:type="get_root">
9311           <return-value transfer-ownership="full">
9312             <type name="Object" c:type="AtkObject*"/>
9313           </return-value>
9314         </callback>
9315       </field>
9316       <field name="get_toolkit_name">
9317         <callback name="get_toolkit_name" c:type="get_toolkit_name">
9318           <return-value transfer-ownership="none">
9319             <type name="utf8" c:type="gchar*"/>
9320           </return-value>
9321         </callback>
9322       </field>
9323       <field name="get_toolkit_version">
9324         <callback name="get_toolkit_version" c:type="get_toolkit_version">
9325           <return-value transfer-ownership="none">
9326             <type name="utf8" c:type="gchar*"/>
9327           </return-value>
9328         </callback>
9329       </field>
9330     </record>
9331     <interface name="Value"
9332                c:type="AtkValue"
9333                glib:type-name="AtkValue"
9334                glib:get-type="atk_value_get_type"
9335                glib:type-struct="ValueIface">
9336       <virtual-method name="get_current_value" invoker="get_current_value">
9337         <doc xml:whitespace="preserve">Gets the value of this object.</doc>
9338         <return-value transfer-ownership="none">
9339           <type name="none" c:type="void"/>
9340         </return-value>
9341         <parameters>
9342           <parameter name="value" transfer-ownership="none">
9343             <doc xml:whitespace="preserve">a #GValue representing the current accessible value</doc>
9344             <type name="GObject.Value" c:type="GValue*"/>
9345           </parameter>
9346         </parameters>
9347       </virtual-method>
9348       <virtual-method name="get_maximum_value" invoker="get_maximum_value">
9349         <doc xml:whitespace="preserve">Gets the maximum value of this object.</doc>
9350         <return-value transfer-ownership="none">
9351           <type name="none" c:type="void"/>
9352         </return-value>
9353         <parameters>
9354           <parameter name="value" transfer-ownership="none">
9355             <doc xml:whitespace="preserve">a #GValue representing the maximum accessible value</doc>
9356             <type name="GObject.Value" c:type="GValue*"/>
9357           </parameter>
9358         </parameters>
9359       </virtual-method>
9360       <virtual-method name="get_minimum_value" invoker="get_minimum_value">
9361         <doc xml:whitespace="preserve">Gets the minimum value of this object.</doc>
9362         <return-value transfer-ownership="none">
9363           <type name="none" c:type="void"/>
9364         </return-value>
9365         <parameters>
9366           <parameter name="value" transfer-ownership="none">
9367             <doc xml:whitespace="preserve">a #GValue representing the minimum accessible value</doc>
9368             <type name="GObject.Value" c:type="GValue*"/>
9369           </parameter>
9370         </parameters>
9371       </virtual-method>
9372       <virtual-method name="set_current_value" invoker="set_current_value">
9373         <doc xml:whitespace="preserve">Sets the value of this object.</doc>
9374         <return-value transfer-ownership="none">
9375           <doc xml:whitespace="preserve">%TRUE if new value is successfully set, %FALSE otherwise.</doc>
9376           <type name="boolean" c:type="gboolean"/>
9377         </return-value>
9378         <parameters>
9379           <parameter name="value" transfer-ownership="none">
9380             <doc xml:whitespace="preserve">a #GValue which is the desired new accessible value.</doc>
9381             <type name="GObject.Value" c:type="GValue*"/>
9382           </parameter>
9383         </parameters>
9384       </virtual-method>
9385       <virtual-method name="get_minimum_increment"
9386                       invoker="get_minimum_increment"
9387                       version="1.12">
9388         <doc xml:whitespace="preserve">Gets the minimum increment by which the value of this object may be changed.  If zero,
9389 the minimum increment is undefined, which may mean that it is limited only by the 
9390 floating point precision of the platform.</doc>
9391         <return-value transfer-ownership="none">
9392           <type name="none" c:type="void"/>
9393         </return-value>
9394         <parameters>
9395           <parameter name="value" transfer-ownership="none">
9396             <doc xml:whitespace="preserve">a #GValue representing the minimum increment by which the accessible value may be changed</doc>
9397             <type name="GObject.Value" c:type="GValue*"/>
9398           </parameter>
9399         </parameters>
9400       </virtual-method>
9401       <method name="get_current_value"
9402               c:identifier="atk_value_get_current_value">
9403         <doc xml:whitespace="preserve">Gets the value of this object.</doc>
9404         <return-value transfer-ownership="none">
9405           <type name="none" c:type="void"/>
9406         </return-value>
9407         <parameters>
9408           <parameter name="value" transfer-ownership="none">
9409             <doc xml:whitespace="preserve">a #GValue representing the current accessible value</doc>
9410             <type name="GObject.Value" c:type="GValue*"/>
9411           </parameter>
9412         </parameters>
9413       </method>
9414       <method name="get_maximum_value"
9415               c:identifier="atk_value_get_maximum_value">
9416         <doc xml:whitespace="preserve">Gets the maximum value of this object.</doc>
9417         <return-value transfer-ownership="none">
9418           <type name="none" c:type="void"/>
9419         </return-value>
9420         <parameters>
9421           <parameter name="value" transfer-ownership="none">
9422             <doc xml:whitespace="preserve">a #GValue representing the maximum accessible value</doc>
9423             <type name="GObject.Value" c:type="GValue*"/>
9424           </parameter>
9425         </parameters>
9426       </method>
9427       <method name="get_minimum_value"
9428               c:identifier="atk_value_get_minimum_value">
9429         <doc xml:whitespace="preserve">Gets the minimum value of this object.</doc>
9430         <return-value transfer-ownership="none">
9431           <type name="none" c:type="void"/>
9432         </return-value>
9433         <parameters>
9434           <parameter name="value" transfer-ownership="none">
9435             <doc xml:whitespace="preserve">a #GValue representing the minimum accessible value</doc>
9436             <type name="GObject.Value" c:type="GValue*"/>
9437           </parameter>
9438         </parameters>
9439       </method>
9440       <method name="set_current_value"
9441               c:identifier="atk_value_set_current_value">
9442         <doc xml:whitespace="preserve">Sets the value of this object.</doc>
9443         <return-value transfer-ownership="none">
9444           <doc xml:whitespace="preserve">%TRUE if new value is successfully set, %FALSE otherwise.</doc>
9445           <type name="boolean" c:type="gboolean"/>
9446         </return-value>
9447         <parameters>
9448           <parameter name="value" transfer-ownership="none">
9449             <doc xml:whitespace="preserve">a #GValue which is the desired new accessible value.</doc>
9450             <type name="GObject.Value" c:type="GValue*"/>
9451           </parameter>
9452         </parameters>
9453       </method>
9454       <method name="get_minimum_increment"
9455               c:identifier="atk_value_get_minimum_increment"
9456               version="1.12">
9457         <doc xml:whitespace="preserve">Gets the minimum increment by which the value of this object may be changed.  If zero,
9458 the minimum increment is undefined, which may mean that it is limited only by the 
9459 floating point precision of the platform.</doc>
9460         <return-value transfer-ownership="none">
9461           <type name="none" c:type="void"/>
9462         </return-value>
9463         <parameters>
9464           <parameter name="value" transfer-ownership="none">
9465             <doc xml:whitespace="preserve">a #GValue representing the minimum increment by which the accessible value may be changed</doc>
9466             <type name="GObject.Value" c:type="GValue*"/>
9467           </parameter>
9468         </parameters>
9469       </method>
9470     </interface>
9471     <record name="ValueIface"
9472             c:type="AtkValueIface"
9473             glib:is-gtype-struct-for="Value">
9474       <field name="parent">
9475         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
9476       </field>
9477       <field name="get_current_value">
9478         <callback name="get_current_value" c:type="get_current_value">
9479           <return-value transfer-ownership="none">
9480             <type name="none" c:type="void"/>
9481           </return-value>
9482           <parameters>
9483             <parameter name="obj" transfer-ownership="none">
9484               <type name="Value" c:type="AtkValue*"/>
9485             </parameter>
9486             <parameter name="value" transfer-ownership="none">
9487               <doc xml:whitespace="preserve">a #GValue representing the current accessible value</doc>
9488               <type name="GObject.Value" c:type="GValue*"/>
9489             </parameter>
9490           </parameters>
9491         </callback>
9492       </field>
9493       <field name="get_maximum_value">
9494         <callback name="get_maximum_value" c:type="get_maximum_value">
9495           <return-value transfer-ownership="none">
9496             <type name="none" c:type="void"/>
9497           </return-value>
9498           <parameters>
9499             <parameter name="obj" transfer-ownership="none">
9500               <type name="Value" c:type="AtkValue*"/>
9501             </parameter>
9502             <parameter name="value" transfer-ownership="none">
9503               <doc xml:whitespace="preserve">a #GValue representing the maximum accessible value</doc>
9504               <type name="GObject.Value" c:type="GValue*"/>
9505             </parameter>
9506           </parameters>
9507         </callback>
9508       </field>
9509       <field name="get_minimum_value">
9510         <callback name="get_minimum_value" c:type="get_minimum_value">
9511           <return-value transfer-ownership="none">
9512             <type name="none" c:type="void"/>
9513           </return-value>
9514           <parameters>
9515             <parameter name="obj" transfer-ownership="none">
9516               <type name="Value" c:type="AtkValue*"/>
9517             </parameter>
9518             <parameter name="value" transfer-ownership="none">
9519               <doc xml:whitespace="preserve">a #GValue representing the minimum accessible value</doc>
9520               <type name="GObject.Value" c:type="GValue*"/>
9521             </parameter>
9522           </parameters>
9523         </callback>
9524       </field>
9525       <field name="set_current_value">
9526         <callback name="set_current_value" c:type="set_current_value">
9527           <return-value transfer-ownership="none">
9528             <doc xml:whitespace="preserve">%TRUE if new value is successfully set, %FALSE otherwise.</doc>
9529             <type name="boolean" c:type="gboolean"/>
9530           </return-value>
9531           <parameters>
9532             <parameter name="obj" transfer-ownership="none">
9533               <type name="Value" c:type="AtkValue*"/>
9534             </parameter>
9535             <parameter name="value" transfer-ownership="none">
9536               <doc xml:whitespace="preserve">a #GValue which is the desired new accessible value.</doc>
9537               <type name="GObject.Value" c:type="GValue*"/>
9538             </parameter>
9539           </parameters>
9540         </callback>
9541       </field>
9542       <field name="get_minimum_increment">
9543         <callback name="get_minimum_increment" c:type="get_minimum_increment">
9544           <return-value transfer-ownership="none">
9545             <type name="none" c:type="void"/>
9546           </return-value>
9547           <parameters>
9548             <parameter name="obj" transfer-ownership="none">
9549               <type name="Value" c:type="AtkValue*"/>
9550             </parameter>
9551             <parameter name="value" transfer-ownership="none">
9552               <doc xml:whitespace="preserve">a #GValue representing the minimum increment by which the accessible value may be changed</doc>
9553               <type name="GObject.Value" c:type="GValue*"/>
9554             </parameter>
9555           </parameters>
9556         </callback>
9557       </field>
9558       <field name="pad1">
9559         <type name="Function" c:type="AtkFunction"/>
9560       </field>
9561     </record>
9562     <function name="add_focus_tracker" c:identifier="atk_add_focus_tracker">
9563       <doc xml:whitespace="preserve">Adds the specified function to the list of functions to be called
9564 when an object receives focus.</doc>
9565       <return-value transfer-ownership="none">
9566         <doc xml:whitespace="preserve">added focus tracker id, or 0 on failure.</doc>
9567         <type name="uint" c:type="guint"/>
9568       </return-value>
9569       <parameters>
9570         <parameter name="focus_tracker" transfer-ownership="none" scope="call">
9571           <doc xml:whitespace="preserve">Function to be added to the list of functions to be called when an object receives focus.</doc>
9572           <type name="EventListener" c:type="AtkEventListener"/>
9573         </parameter>
9574       </parameters>
9575     </function>
9576     <function name="add_global_event_listener"
9577               c:identifier="atk_add_global_event_listener">
9578       <doc xml:whitespace="preserve">Adds the specified function to the list of functions to be called
9579 when an event of type event_type occurs.</doc>
9580       <return-value transfer-ownership="none">
9581         <doc xml:whitespace="preserve">added event listener id, or 0 on failure.</doc>
9582         <type name="uint" c:type="guint"/>
9583       </return-value>
9584       <parameters>
9585         <parameter name="listener" transfer-ownership="none" scope="call">
9586           <doc xml:whitespace="preserve">the listener to notify</doc>
9587           <type name="GObject.SignalEmissionHook"
9588                 c:type="GSignalEmissionHook"/>
9589         </parameter>
9590         <parameter name="event_type" transfer-ownership="none">
9591           <doc xml:whitespace="preserve">the type of event for which notification is requested</doc>
9592           <type name="utf8" c:type="gchar*"/>
9593         </parameter>
9594       </parameters>
9595     </function>
9596     <function name="add_key_event_listener"
9597               c:identifier="atk_add_key_event_listener">
9598       <doc xml:whitespace="preserve">Adds the specified function to the list of functions to be called
9599 when a key event occurs.  The @data element will be passed to the
9600 #AtkKeySnoopFunc (@listener) as the @func_data param, on notification.</doc>
9601       <return-value transfer-ownership="none">
9602         <doc xml:whitespace="preserve">added event listener id, or 0 on failure.</doc>
9603         <type name="uint" c:type="guint"/>
9604       </return-value>
9605       <parameters>
9606         <parameter name="listener"
9607                    transfer-ownership="none"
9608                    scope="call"
9609                    closure="1">
9610           <doc xml:whitespace="preserve">the listener to notify</doc>
9611           <type name="KeySnoopFunc" c:type="AtkKeySnoopFunc"/>
9612         </parameter>
9613         <parameter name="data" transfer-ownership="none">
9614           <doc xml:whitespace="preserve">a #gpointer that points to a block of data that should be sent to the registered listeners, along with the event notification, when it occurs.</doc>
9615           <type name="any" c:type="gpointer"/>
9616         </parameter>
9617       </parameters>
9618     </function>
9619     <function name="attribute_set_free" c:identifier="atk_attribute_set_free">
9620       <doc xml:whitespace="preserve">Frees the memory used by an #AtkAttributeSet, including all its
9621 #AtkAttributes.</doc>
9622       <return-value transfer-ownership="none">
9623         <type name="none" c:type="void"/>
9624       </return-value>
9625       <parameters>
9626         <parameter name="attrib_set" transfer-ownership="none">
9627           <doc xml:whitespace="preserve">The #AtkAttributeSet to free</doc>
9628           <type name="AttributeSet" c:type="AtkAttributeSet*"/>
9629         </parameter>
9630       </parameters>
9631     </function>
9632     <function name="focus_tracker_init" c:identifier="atk_focus_tracker_init">
9633       <doc xml:whitespace="preserve">Specifies the function to be called for focus tracker initialization.
9634 This function should be called by an implementation of the
9635 ATK interface if any specific work needs to be done to enable
9636 focus tracking.</doc>
9637       <return-value transfer-ownership="none">
9638         <type name="none" c:type="void"/>
9639       </return-value>
9640       <parameters>
9641         <parameter name="init" transfer-ownership="none" scope="call">
9642           <doc xml:whitespace="preserve">Function to be called for focus tracker initialization</doc>
9643           <type name="EventListenerInit" c:type="AtkEventListenerInit"/>
9644         </parameter>
9645       </parameters>
9646     </function>
9647     <function name="focus_tracker_notify"
9648               c:identifier="atk_focus_tracker_notify">
9649       <doc xml:whitespace="preserve">Cause the focus tracker functions which have been specified to be
9650 executed for the object.</doc>
9651       <return-value transfer-ownership="none">
9652         <type name="none" c:type="void"/>
9653       </return-value>
9654       <parameters>
9655         <parameter name="object" transfer-ownership="none">
9656           <doc xml:whitespace="preserve">an #AtkObject</doc>
9657           <type name="Object" c:type="AtkObject*"/>
9658         </parameter>
9659       </parameters>
9660     </function>
9661     <function name="get_default_registry"
9662               c:identifier="atk_get_default_registry">
9663       <return-value transfer-ownership="full">
9664         <type name="Registry" c:type="AtkRegistry*"/>
9665       </return-value>
9666     </function>
9667     <function name="get_focus_object"
9668               c:identifier="atk_get_focus_object"
9669               version="1.6">
9670       <doc xml:whitespace="preserve">Gets the currently focused object.</doc>
9671       <return-value transfer-ownership="full">
9672         <doc xml:whitespace="preserve">the currently focused object for the current application</doc>
9673         <type name="Object" c:type="AtkObject*"/>
9674       </return-value>
9675     </function>
9676     <function name="get_root" c:identifier="atk_get_root">
9677       <doc xml:whitespace="preserve">Gets the root accessible container for the current application.</doc>
9678       <return-value transfer-ownership="full">
9679         <doc xml:whitespace="preserve">the root accessible container for the current application</doc>
9680         <type name="Object" c:type="AtkObject*"/>
9681       </return-value>
9682     </function>
9683     <function name="get_toolkit_name" c:identifier="atk_get_toolkit_name">
9684       <doc xml:whitespace="preserve">Gets name string for the GUI toolkit implementing ATK for this application.</doc>
9685       <return-value transfer-ownership="none">
9686         <doc xml:whitespace="preserve">name string for the GUI toolkit implementing ATK for this application</doc>
9687         <type name="utf8" c:type="gchar*"/>
9688       </return-value>
9689     </function>
9690     <function name="get_toolkit_version"
9691               c:identifier="atk_get_toolkit_version">
9692       <doc xml:whitespace="preserve">Gets version string for the GUI toolkit implementing ATK for this application.</doc>
9693       <return-value transfer-ownership="none">
9694         <doc xml:whitespace="preserve">version string for the GUI toolkit implementing ATK for this application</doc>
9695         <type name="utf8" c:type="gchar*"/>
9696       </return-value>
9697     </function>
9698     <function name="get_version" c:identifier="atk_get_version">
9699       <doc xml:whitespace="preserve">Gets the current version for ATK.</doc>
9700       <return-value transfer-ownership="none">
9701         <doc xml:whitespace="preserve">version string for ATK</doc>
9702         <type name="utf8" c:type="gchar*"/>
9703       </return-value>
9704     </function>
9705     <function name="remove_focus_tracker"
9706               c:identifier="atk_remove_focus_tracker">
9707       <doc xml:whitespace="preserve">Removes the specified focus tracker from the list of functions
9708 to be called when any object receives focus.</doc>
9709       <return-value transfer-ownership="none">
9710         <type name="none" c:type="void"/>
9711       </return-value>
9712       <parameters>
9713         <parameter name="tracker_id" transfer-ownership="none">
9714           <doc xml:whitespace="preserve">the id of the focus tracker to remove</doc>
9715           <type name="uint" c:type="guint"/>
9716         </parameter>
9717       </parameters>
9718     </function>
9719     <function name="remove_global_event_listener"
9720               c:identifier="atk_remove_global_event_listener">
9721       <doc xml:whitespace="preserve">Removes the specified event listener</doc>
9722       <return-value transfer-ownership="none">
9723         <type name="none" c:type="void"/>
9724       </return-value>
9725       <parameters>
9726         <parameter name="listener_id" transfer-ownership="none">
9727           <doc xml:whitespace="preserve">the id of the event listener to remove</doc>
9728           <type name="uint" c:type="guint"/>
9729         </parameter>
9730       </parameters>
9731     </function>
9732     <function name="remove_key_event_listener"
9733               c:identifier="atk_remove_key_event_listener">
9734       <doc xml:whitespace="preserve">Removes the specified event listener</doc>
9735       <return-value transfer-ownership="none">
9736         <type name="none" c:type="void"/>
9737       </return-value>
9738       <parameters>
9739         <parameter name="listener_id" transfer-ownership="none">
9740           <doc xml:whitespace="preserve">the id of the event listener to remove</doc>
9741           <type name="uint" c:type="guint"/>
9742         </parameter>
9743       </parameters>
9744     </function>
9745     <function name="role_for_name" c:identifier="atk_role_for_name">
9746       <doc xml:whitespace="preserve">Get the #AtkRole type corresponding to a rolew name.
9747 or #ATK_ROLE_INVALID if no matching role is found.</doc>
9748       <return-value transfer-ownership="full">
9749         <doc xml:whitespace="preserve">the #AtkRole enumerated type corresponding to the specified</doc>
9750         <type name="Role" c:type="AtkRole"/>
9751       </return-value>
9752       <parameters>
9753         <parameter name="name" transfer-ownership="none">
9754           <doc xml:whitespace="preserve">a string which is the (non-localized) name of an ATK role.</doc>
9755           <type name="utf8" c:type="gchar*"/>
9756         </parameter>
9757       </parameters>
9758     </function>
9759     <function name="role_get_localized_name"
9760               c:identifier="atk_role_get_localized_name">
9761       <doc xml:whitespace="preserve">Gets the localized description string describing the #AtkRole @role.</doc>
9762       <return-value transfer-ownership="none">
9763         <doc xml:whitespace="preserve">the localized string describing the AtkRole</doc>
9764         <type name="utf8" c:type="gchar*"/>
9765       </return-value>
9766       <parameters>
9767         <parameter name="role" transfer-ownership="none">
9768           <doc xml:whitespace="preserve">The #AtkRole whose localized name is required</doc>
9769           <type name="Role" c:type="AtkRole"/>
9770         </parameter>
9771       </parameters>
9772     </function>
9773     <function name="role_get_name" c:identifier="atk_role_get_name">
9774       <doc xml:whitespace="preserve">Gets the description string describing the #AtkRole @role.</doc>
9775       <return-value transfer-ownership="none">
9776         <doc xml:whitespace="preserve">the string describing the AtkRole</doc>
9777         <type name="utf8" c:type="gchar*"/>
9778       </return-value>
9779       <parameters>
9780         <parameter name="role" transfer-ownership="none">
9781           <doc xml:whitespace="preserve">The #AtkRole whose name is required</doc>
9782           <type name="Role" c:type="AtkRole"/>
9783         </parameter>
9784       </parameters>
9785     </function>
9786     <function name="role_register" c:identifier="atk_role_register">
9787       <doc xml:whitespace="preserve">Registers the role specified by @name.</doc>
9788       <return-value transfer-ownership="full">
9789         <doc xml:whitespace="preserve">an #AtkRole for the new role.</doc>
9790         <type name="Role" c:type="AtkRole"/>
9791       </return-value>
9792       <parameters>
9793         <parameter name="name" transfer-ownership="none">
9794           <doc xml:whitespace="preserve">a character string describing the new role.</doc>
9795           <type name="utf8" c:type="gchar*"/>
9796         </parameter>
9797       </parameters>
9798     </function>
9799     <function name="state_type_for_name"
9800               c:identifier="atk_state_type_for_name">
9801       <doc xml:whitespace="preserve">Gets the #AtkStateType corresponding to the description string @name.</doc>
9802       <return-value transfer-ownership="full">
9803         <doc xml:whitespace="preserve">an #AtkStateType corresponding to @name</doc>
9804         <type name="StateType" c:type="AtkStateType"/>
9805       </return-value>
9806       <parameters>
9807         <parameter name="name" transfer-ownership="none">
9808           <doc xml:whitespace="preserve">a character string state name</doc>
9809           <type name="utf8" c:type="gchar*"/>
9810         </parameter>
9811       </parameters>
9812     </function>
9813     <function name="state_type_get_name"
9814               c:identifier="atk_state_type_get_name">
9815       <doc xml:whitespace="preserve">Gets the description string describing the #AtkStateType @type.</doc>
9816       <return-value transfer-ownership="none">
9817         <doc xml:whitespace="preserve">the string describing the AtkStateType</doc>
9818         <type name="utf8" c:type="gchar*"/>
9819       </return-value>
9820       <parameters>
9821         <parameter name="type" transfer-ownership="none">
9822           <doc xml:whitespace="preserve">The #AtkStateType whose name is required</doc>
9823           <type name="StateType" c:type="AtkStateType"/>
9824         </parameter>
9825       </parameters>
9826     </function>
9827     <function name="state_type_register"
9828               c:identifier="atk_state_type_register">
9829       <doc xml:whitespace="preserve">Register a new object state.</doc>
9830       <return-value transfer-ownership="full">
9831         <doc xml:whitespace="preserve">an #AtkState value for the new state.</doc>
9832         <type name="StateType" c:type="AtkStateType"/>
9833       </return-value>
9834       <parameters>
9835         <parameter name="name" transfer-ownership="none">
9836           <doc xml:whitespace="preserve">a character string describing the new state.</doc>
9837           <type name="utf8" c:type="gchar*"/>
9838         </parameter>
9839       </parameters>
9840     </function>
9841     <function name="text_attribute_for_name"
9842               c:identifier="atk_text_attribute_for_name">
9843       <doc xml:whitespace="preserve">Get the #AtkTextAttribute type corresponding to a text attribute name.
9844 or #ATK_TEXT_ATTRIBUTE_INVALID if no matching text attribute is found.</doc>
9845       <return-value transfer-ownership="full">
9846         <doc xml:whitespace="preserve">the #AtkTextAttribute enumerated type corresponding to the specified</doc>
9847         <type name="TextAttribute" c:type="AtkTextAttribute"/>
9848       </return-value>
9849       <parameters>
9850         <parameter name="name" transfer-ownership="none">
9851           <doc xml:whitespace="preserve">a string which is the (non-localized) name of an ATK text attribute.</doc>
9852           <type name="utf8" c:type="gchar*"/>
9853         </parameter>
9854       </parameters>
9855     </function>
9856     <function name="text_attribute_get_name"
9857               c:identifier="atk_text_attribute_get_name">
9858       <doc xml:whitespace="preserve">Gets the name corresponding to the #AtkTextAttribute</doc>
9859       <return-value transfer-ownership="none">
9860         <doc xml:whitespace="preserve">a string containing the name; this string should not be freed</doc>
9861         <type name="utf8" c:type="gchar*"/>
9862       </return-value>
9863       <parameters>
9864         <parameter name="attr" transfer-ownership="none">
9865           <doc xml:whitespace="preserve">The #AtkTextAttribute whose name is required</doc>
9866           <type name="TextAttribute" c:type="AtkTextAttribute"/>
9867         </parameter>
9868       </parameters>
9869     </function>
9870     <function name="text_attribute_get_value"
9871               c:identifier="atk_text_attribute_get_value">
9872       <doc xml:whitespace="preserve">Gets the value for the index of the #AtkTextAttribute
9873 NULL is returned if there are no values maintained for the attr value.</doc>
9874       <return-value transfer-ownership="none">
9875         <doc xml:whitespace="preserve">a string containing the value; this string should not be freed;</doc>
9876         <type name="utf8" c:type="gchar*"/>
9877       </return-value>
9878       <parameters>
9879         <parameter name="attr" transfer-ownership="none">
9880           <doc xml:whitespace="preserve">The #AtkTextAttribute for which a value is required</doc>
9881           <type name="TextAttribute" c:type="AtkTextAttribute"/>
9882         </parameter>
9883         <parameter name="index_" transfer-ownership="none">
9884           <doc xml:whitespace="preserve">The index of the required value</doc>
9885           <type name="int" c:type="gint"/>
9886         </parameter>
9887       </parameters>
9888     </function>
9889     <function name="text_attribute_register"
9890               c:identifier="atk_text_attribute_register">
9891       <doc xml:whitespace="preserve">Associate @name with a new #AtkTextAttribute</doc>
9892       <return-value transfer-ownership="full">
9893         <doc xml:whitespace="preserve">an #AtkTextAttribute associated with @name</doc>
9894         <type name="TextAttribute" c:type="AtkTextAttribute"/>
9895       </return-value>
9896       <parameters>
9897         <parameter name="name" transfer-ownership="none">
9898           <doc xml:whitespace="preserve">a name string</doc>
9899           <type name="utf8" c:type="gchar*"/>
9900         </parameter>
9901       </parameters>
9902     </function>
9903     <function name="text_free_ranges"
9904               c:identifier="atk_text_free_ranges"
9905               version="1.3">
9906       <doc xml:whitespace="preserve">Frees the memory associated with an array of AtkTextRange. It is assumed
9907 that the array was returned by the function atk_text_get_bounded_ranges
9908 and is NULL terminated.</doc>
9909       <return-value transfer-ownership="none">
9910         <type name="none" c:type="void"/>
9911       </return-value>
9912       <parameters>
9913         <parameter name="ranges" transfer-ownership="none">
9914           <doc xml:whitespace="preserve">A pointer to an array of  #AtkTextRange which is to be freed.</doc>
9915           <type name="TextRange" c:type="AtkTextRange**"/>
9916         </parameter>
9917       </parameters>
9918     </function>
9919   </namespace>
9920 </repository>