Mx support.
[girtod.git] / gtk2 / atk.d
blobfce4a1871f727fe161bd459532e11423f2221092
1 // *** DO NOT EDIT ***
2 // Automatically generated from "/usr/share/gir-1.0/Atk-1.0.gir"
4 module Atk;
5 public import gtk2.glib2;
6 alias gtk2.glib2 GLib2;
7 public import gtk2.gobject2;
8 alias gtk2.gobject2 GObject2;
10 // package: "atk";
12 // c:symbol-prefixes: ["atk"]
13 // c:identifier-prefixes: ["Atk"]
15 // module Atk;
18 // This is a singly-linked list (a #GSList) of #AtkAttribute. It is
19 // used by atk_text_get_run_attributes(), atk_text_get_default_attributes()
20 // and atk_editable_text_set_run_attributes()
21 alias GLib2.SList AttributeSet;
22 alias ulong State;
23 struct Action /* Interface */ {
24 mixin template __interface__() {
25 // Perform the specified action on the object.
26 // RETURNS: %TRUE if success, %FALSE otherwise
27 // <i>: the action index corresponding to the action to be performed
28 int do_action()(int i) {
29 return atk_action_do_action(cast(Action*)&this, i);
32 // Returns a description of the specified action of the object.
33 // Returns a description string, or %NULL
34 // if @action does not implement this interface.
35 // <i>: the action index corresponding to the action to be performed
36 char* get_description()(int i) {
37 return atk_action_get_description(cast(Action*)&this, i);
40 // Returns a keybinding associated with this action, if one exists.
41 // The returned string is in the format "<a>;<b>;<c>"
42 // (i.e. semicolon-delimited), where <a> is the keybinding which
43 // activates the object if it is presently enabled onscreen,
44 // <b> corresponds to the keybinding or sequence of keys
45 // which invokes the action even if the relevant element is not
46 // currently posted on screen (for instance, for a menu item it
47 // posts the parent menus before invoking). The last token in the
48 // above string, if non-empty, represents a keyboard shortcut which
49 // invokes the same action without posting the component or its
50 // enclosing menus or dialogs.
51 // Returns a string representing the available keybindings, or %NULL
52 // if there is no keybinding for this action.
53 // <i>: the action index corresponding to the action to be performed
54 char* get_keybinding()(int i) {
55 return atk_action_get_keybinding(cast(Action*)&this, i);
58 // Returns the localized name of the specified action of the object.
59 // Returns a name string, or %NULL
60 // if @action does not implement this interface.
61 // <i>: the action index corresponding to the action to be performed
62 char* get_localized_name()(int i) {
63 return atk_action_get_localized_name(cast(Action*)&this, i);
66 // Gets the number of accessible actions available on the object.
67 // If there are more than one, the first one is considered the
68 // "default" action of the object.
69 // implement this interface.
70 // RETURNS: a the number of actions, or 0 if @action does not
71 int get_n_actions()() {
72 return atk_action_get_n_actions(cast(Action*)&this);
75 // Returns a non-localized string naming the specified action of the
76 // object. This name is generally not descriptive of the end result
77 // of the action, but instead names the 'interaction type' which the
78 // object supports. By convention, the above strings should be used to
79 // represent the actions which correspond to the common point-and-click
80 // "click", "press", "release", "drag", "drop", "popup", etc.
81 // The "popup" action should be used to pop up a context menu for the
82 // object, if one exists.
83 // For technical reasons, some toolkits cannot guarantee that the
84 // reported action is actually 'bound' to a nontrivial user event;
85 // i.e. the result of some actions via atk_action_do_action() may be
86 // NIL.
87 // Returns a name string, or %NULL
88 // if @action does not implement this interface.
89 // <i>: the action index corresponding to the action to be performed
90 char* get_name()(int i) {
91 return atk_action_get_name(cast(Action*)&this, i);
94 // Sets a description of the specified action of the object.
95 // RETURNS: a gboolean representing if the description was successfully set;
96 // <i>: the action index corresponding to the action to be performed
97 // <desc>: the description to be assigned to this action
98 int set_description()(int i, char* desc) {
99 return atk_action_set_description(cast(Action*)&this, i, desc);
102 mixin __interface__;
105 struct ActionIface {
106 GObject2.TypeInterface parent;
108 // RETURNS: %TRUE if success, %FALSE otherwise
109 // <i>: the action index corresponding to the action to be performed
110 extern (C) int function (Action* action, int i) do_action;
111 // RETURNS: a the number of actions, or 0 if @action does not
112 extern (C) int function (Action* action) get_n_actions;
113 // <i>: the action index corresponding to the action to be performed
114 extern (C) char* function (Action* action, int i) get_description;
115 // <i>: the action index corresponding to the action to be performed
116 extern (C) char* function (Action* action, int i) get_name;
117 // <i>: the action index corresponding to the action to be performed
118 extern (C) char* function (Action* action, int i) get_keybinding;
120 // RETURNS: a gboolean representing if the description was successfully set;
121 // <i>: the action index corresponding to the action to be performed
122 // <desc>: the description to be assigned to this action
123 extern (C) int function (Action* action, int i, char* desc) set_description;
124 // <i>: the action index corresponding to the action to be performed
125 extern (C) char* function (Action* action, int i) get_localized_name;
126 Function pad2;
129 // A string name/value pair representing a text attribute.
130 struct Attribute {
131 char* name, value;
134 struct Component /* Interface */ {
135 mixin template __interface__() {
136 // Unintrospectable method: add_focus_handler() / atk_component_add_focus_handler()
137 // Add the specified handler to the set of functions to be called
138 // when this object receives focus events (in or out). If the handler is
139 // already added it is not added again
140 // or zero if the handler was already added.
141 // RETURNS: a handler id which can be used in atk_component_remove_focus_handler
142 // <handler>: The #AtkFocusHandler to be attached to @component
143 uint add_focus_handler()(FocusHandler handler) {
144 return atk_component_add_focus_handler(cast(Component*)&this, handler);
147 // Checks whether the specified point is within the extent of the @component.
148 // the extent of the @component or not
149 // RETURNS: %TRUE or %FALSE indicating whether the specified point is within
150 // <x>: x coordinate
151 // <y>: y coordinate
152 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
153 int contains()(int x, int y, CoordType coord_type) {
154 return atk_component_contains(cast(Component*)&this, x, y, coord_type);
157 // VERSION: 1.12
158 // Returns the alpha value (i.e. the opacity) for this
159 // (fully opaque).
160 // RETURNS: An alpha value from 0 to 1.0, inclusive.
161 double get_alpha()() {
162 return atk_component_get_alpha(cast(Component*)&this);
165 // Gets the rectangle which gives the extent of the @component.
166 // <x>: address of #gint to put x coordinate
167 // <y>: address of #gint to put y coordinate
168 // <width>: address of #gint to put width
169 // <height>: address of #gint to put height
170 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
171 void get_extents()(int* x, int* y, int* width, int* height, CoordType coord_type) {
172 atk_component_get_extents(cast(Component*)&this, x, y, width, height, coord_type);
175 // Gets the layer of the component.
176 // RETURNS: an #AtkLayer which is the layer of the component
177 Layer get_layer()() {
178 return atk_component_get_layer(cast(Component*)&this);
181 // Gets the zorder of the component. The value G_MININT will be returned
182 // if the layer of the component is not ATK_LAYER_MDI or ATK_LAYER_WINDOW.
183 // which the component is shown in relation to other components in the same
184 // container.
185 // RETURNS: a gint which is the zorder of the component, i.e. the depth at
186 int get_mdi_zorder()() {
187 return atk_component_get_mdi_zorder(cast(Component*)&this);
190 // Gets the position of @component in the form of
191 // a point specifying @component's top-left corner.
192 // <x>: address of #gint to put x coordinate position
193 // <y>: address of #gint to put y coordinate position
194 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
195 void get_position()(int* x, int* y, CoordType coord_type) {
196 atk_component_get_position(cast(Component*)&this, x, y, coord_type);
199 // Gets the size of the @component in terms of width and height.
200 // <width>: address of #gint to put width of @component
201 // <height>: address of #gint to put height of @component
202 void get_size()(int* width, int* height) {
203 atk_component_get_size(cast(Component*)&this, width, height);
206 // Grabs focus for this @component.
207 // RETURNS: %TRUE if successful, %FALSE otherwise.
208 int grab_focus()() {
209 return atk_component_grab_focus(cast(Component*)&this);
212 // Gets a reference to the accessible child, if one exists, at the
213 // coordinate point specified by @x and @y.
214 // RETURNS: a reference to the accessible child, if one exists
215 // <x>: x coordinate
216 // <y>: y coordinate
217 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
218 Object* /*new*/ ref_accessible_at_point()(int x, int y, CoordType coord_type) {
219 return atk_component_ref_accessible_at_point(cast(Component*)&this, x, y, coord_type);
222 // Remove the handler specified by @handler_id from the list of
223 // functions to be executed when this object receives focus events
224 // (in or out).
225 // <handler_id>: the handler id of the focus handler to be removed from @component
226 void remove_focus_handler()(uint handler_id) {
227 atk_component_remove_focus_handler(cast(Component*)&this, handler_id);
230 // Sets the extents of @component.
231 // RETURNS: %TRUE or %FALSE whether the extents were set or not
232 // <x>: x coordinate
233 // <y>: y coordinate
234 // <width>: width to set for @component
235 // <height>: height to set for @component
236 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
237 int set_extents()(int x, int y, int width, int height, CoordType coord_type) {
238 return atk_component_set_extents(cast(Component*)&this, x, y, width, height, coord_type);
241 // Sets the postition of @component.
242 // RETURNS: %TRUE or %FALSE whether or not the position was set or not
243 // <x>: x coordinate
244 // <y>: y coordinate
245 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
246 int set_position()(int x, int y, CoordType coord_type) {
247 return atk_component_set_position(cast(Component*)&this, x, y, coord_type);
250 // Set the size of the @component in terms of width and height.
251 // RETURNS: %TRUE or %FALSE whether the size was set or not
252 // <width>: width to set for @component
253 // <height>: height to set for @component
254 int set_size()(int width, int height) {
255 return atk_component_set_size(cast(Component*)&this, width, height);
257 extern (C) alias static void function (Component* this_, Rectangle* object, void* user_data=null) signal_bounds_changed;
259 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
260 return super_.signal_connect!name(cb, data, cf);
263 ulong signal_connect(string name:"bounds-changed", CB:signal_bounds_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
264 return signal_connect_data!()(&this, cast(char*)"bounds-changed",
265 cast(GObject2.Callback)cb, data, null, cf);
268 mixin __interface__;
271 struct ComponentIface {
272 GObject2.TypeInterface parent;
274 // Unintrospectable functionp: add_focus_handler() / ()
276 // RETURNS: a handler id which can be used in atk_component_remove_focus_handler
277 // <handler>: The #AtkFocusHandler to be attached to @component
278 extern (C) uint function (Component* component, FocusHandler handler) add_focus_handler;
280 // RETURNS: %TRUE or %FALSE indicating whether the specified point is within
281 // <x>: x coordinate
282 // <y>: y coordinate
283 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
284 extern (C) int function (Component* component, int x, int y, CoordType coord_type) contains;
286 // RETURNS: a reference to the accessible child, if one exists
287 // <x>: x coordinate
288 // <y>: y coordinate
289 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
290 extern (C) Object* /*new*/ function (Component* component, int x, int y, CoordType coord_type) ref_accessible_at_point;
292 // <x>: address of #gint to put x coordinate
293 // <y>: address of #gint to put y coordinate
294 // <width>: address of #gint to put width
295 // <height>: address of #gint to put height
296 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
297 extern (C) void function (Component* component, int* x, int* y, int* width, int* height, CoordType coord_type) get_extents;
299 // <x>: address of #gint to put x coordinate position
300 // <y>: address of #gint to put y coordinate position
301 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
302 extern (C) void function (Component* component, int* x, int* y, CoordType coord_type) get_position;
304 // <width>: address of #gint to put width of @component
305 // <height>: address of #gint to put height of @component
306 extern (C) void function (Component* component, int* width, int* height) get_size;
307 // RETURNS: %TRUE if successful, %FALSE otherwise.
308 extern (C) int function (Component* component) grab_focus;
309 // <handler_id>: the handler id of the focus handler to be removed from @component
310 extern (C) void function (Component* component, uint handler_id) remove_focus_handler;
312 // RETURNS: %TRUE or %FALSE whether the extents were set or not
313 // <x>: x coordinate
314 // <y>: y coordinate
315 // <width>: width to set for @component
316 // <height>: height to set for @component
317 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
318 extern (C) int function (Component* component, int x, int y, int width, int height, CoordType coord_type) set_extents;
320 // RETURNS: %TRUE or %FALSE whether or not the position was set or not
321 // <x>: x coordinate
322 // <y>: y coordinate
323 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
324 extern (C) int function (Component* component, int x, int y, CoordType coord_type) set_position;
326 // RETURNS: %TRUE or %FALSE whether the size was set or not
327 // <width>: width to set for @component
328 // <height>: height to set for @component
329 extern (C) int function (Component* component, int width, int height) set_size;
330 // RETURNS: an #AtkLayer which is the layer of the component
331 extern (C) Layer function (Component* component) get_layer;
332 // RETURNS: a gint which is the zorder of the component, i.e. the depth at
333 extern (C) int function (Component* component) get_mdi_zorder;
334 extern (C) void function (Component* component, Rectangle* bounds) bounds_changed;
335 // RETURNS: An alpha value from 0 to 1.0, inclusive.
336 extern (C) double function (Component* component) get_alpha;
339 enum CoordType {
340 SCREEN = 0,
341 WINDOW = 1
343 struct Document /* Interface */ {
344 mixin template __interface__() {
345 // VERSION: 1.12
346 // document, or NULL if a value for #attribute_name has not been specified
347 // for this document.
348 // RETURNS: a string value associated with the named attribute for this
349 // <attribute_name>: a character string representing the name of the attribute whose value is being queried.
350 char* get_attribute_value()(char* attribute_name) {
351 return atk_document_get_attribute_value(cast(Document*)&this, attribute_name);
354 // VERSION: 1.12
355 // Gets an AtkAttributeSet which describes document-wide
356 // attributes as name-value pairs.
357 // set name-value-pair attributes associated with this document
358 // as a whole.
359 // RETURNS: An AtkAttributeSet containing the explicitly
360 AttributeSet* get_attributes()() {
361 return atk_document_get_attributes(cast(Document*)&this);
364 // Gets a %gpointer that points to an instance of the DOM. It is
365 // up to the caller to check atk_document_get_type to determine
366 // how to cast this pointer.
367 // RETURNS: a %gpointer that points to an instance of the DOM.
368 void* get_document()() {
369 return atk_document_get_document(cast(Document*)&this);
372 // Gets a string indicating the document type.
373 // RETURNS: a string indicating the document type
374 char* get_document_type()() {
375 return atk_document_get_document_type(cast(Document*)&this);
378 // Gets a UTF-8 string indicating the POSIX-style LC_MESSAGES locale
379 // of the content of this document instance. Individual
380 // text substrings or images within this document may have
381 // a different locale, see atk_text_get_attributes and
382 // atk_image_get_image_locale.
383 // locale of the document content as a whole, or NULL if
384 // the document content does not specify a locale.
385 // RETURNS: a UTF-8 string indicating the POSIX-style LC_MESSAGES
386 char* get_locale()() {
387 return atk_document_get_locale(cast(Document*)&this);
390 // VERSION: 1.12
391 // for this document, FALSE otherwise (e.g. if the document does not
392 // allow the attribute to be modified).
393 // RETURNS: TRUE if #value is successfully associated with #attribute_name
394 // <attribute_name>: a character string representing the name of the attribute whose value is being set.
395 // <attribute_value>: a string value to be associated with #attribute_name.
396 int set_attribute_value()(char* attribute_name, char* attribute_value) {
397 return atk_document_set_attribute_value(cast(Document*)&this, attribute_name, attribute_value);
399 extern (C) alias static void function (Document* this_, void* user_data=null) signal_load_complete;
401 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
402 return super_.signal_connect!name(cb, data, cf);
405 ulong signal_connect(string name:"load-complete", CB:signal_load_complete)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
406 return signal_connect_data!()(&this, cast(char*)"load-complete",
407 cast(GObject2.Callback)cb, data, null, cf);
409 extern (C) alias static void function (Document* this_, void* user_data=null) signal_load_stopped;
410 ulong signal_connect(string name:"load-stopped", CB:signal_load_stopped)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
411 return signal_connect_data!()(&this, cast(char*)"load-stopped",
412 cast(GObject2.Callback)cb, data, null, cf);
414 extern (C) alias static void function (Document* this_, void* user_data=null) signal_reload;
415 ulong signal_connect(string name:"reload", CB:signal_reload)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
416 return signal_connect_data!()(&this, cast(char*)"reload",
417 cast(GObject2.Callback)cb, data, null, cf);
420 mixin __interface__;
423 struct DocumentIface {
424 GObject2.TypeInterface parent;
425 // RETURNS: a string indicating the document type
426 extern (C) char* function (Document* document) get_document_type;
427 // RETURNS: a %gpointer that points to an instance of the DOM.
428 extern (C) void* function (Document* document) get_document;
429 extern (C) char* function (Document* document) get_document_locale;
430 // Unintrospectable functionp: get_document_attributes() / ()
431 extern (C) AttributeSet* function (Document* document) get_document_attributes;
432 extern (C) char* function (Document* document, char* attribute_name) get_document_attribute_value;
433 extern (C) int function (Document* document, char* attribute_name, char* attribute_value) set_document_attribute;
434 Function pad1, pad2, pad3, pad4;
437 struct EditableText /* Interface */ {
438 mixin template __interface__() {
439 // Copy text from @start_pos up to, but not including @end_pos
440 // to the clipboard.
441 // <start_pos>: start position
442 // <end_pos>: end position
443 void copy_text()(int start_pos, int end_pos) {
444 atk_editable_text_copy_text(cast(EditableText*)&this, start_pos, end_pos);
447 // Copy text from @start_pos up to, but not including @end_pos
448 // to the clipboard and then delete from the widget.
449 // <start_pos>: start position
450 // <end_pos>: end position
451 void cut_text()(int start_pos, int end_pos) {
452 atk_editable_text_cut_text(cast(EditableText*)&this, start_pos, end_pos);
455 // Delete text @start_pos up to, but not including @end_pos.
456 // <start_pos>: start position
457 // <end_pos>: end position
458 void delete_text()(int start_pos, int end_pos) {
459 atk_editable_text_delete_text(cast(EditableText*)&this, start_pos, end_pos);
462 // Insert text at a given position.
463 // <string>: the text to insert
464 // <length>: the length of text to insert, in bytes
465 // <position>: 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.
466 void insert_text()(char* string_, int length, int* position) {
467 atk_editable_text_insert_text(cast(EditableText*)&this, string_, length, position);
470 // Paste text from clipboard to specified @position.
471 // <position>: position to paste
472 void paste_text()(int position) {
473 atk_editable_text_paste_text(cast(EditableText*)&this, position);
475 int set_run_attributes()(AttributeSet* attrib_set, int start_offset, int end_offset) {
476 return atk_editable_text_set_run_attributes(cast(EditableText*)&this, attrib_set, start_offset, end_offset);
479 // Set text contents of @text.
480 // <string>: string to set for text contents of @text
481 void set_text_contents()(char* string_) {
482 atk_editable_text_set_text_contents(cast(EditableText*)&this, string_);
485 mixin __interface__;
488 struct EditableTextIface {
489 GObject2.TypeInterface parent_interface;
490 extern (C) int function (EditableText* text, AttributeSet* attrib_set, int start_offset, int end_offset) set_run_attributes;
491 // <string>: string to set for text contents of @text
492 extern (C) void function (EditableText* text, char* string_) set_text_contents;
494 // <string>: the text to insert
495 // <length>: the length of text to insert, in bytes
496 // <position>: 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.
497 extern (C) void function (EditableText* text, char* string_, int length, int* position) insert_text;
499 // <start_pos>: start position
500 // <end_pos>: end position
501 extern (C) void function (EditableText* text, int start_pos, int end_pos) copy_text;
503 // <start_pos>: start position
504 // <end_pos>: end position
505 extern (C) void function (EditableText* text, int start_pos, int end_pos) cut_text;
507 // <start_pos>: start position
508 // <end_pos>: end position
509 extern (C) void function (EditableText* text, int start_pos, int end_pos) delete_text;
510 // <position>: position to paste
511 extern (C) void function (EditableText* text, int position) paste_text;
512 Function pad1, pad2;
516 // A function which is called when an object emits a matching event,
517 // as used in #atk_add_focus_tracker.
518 // Currently the only events for which object-specific handlers are
519 // supported are events of type "focus:". Most clients of ATK will prefer to
520 // attach signal handlers for the various ATK signals instead.
521 // see atk_add_focus_tracker.
522 // <obj>: An #AtkObject instance for whom the callback will be called when the specified event (e.g. 'focus:') takes place.
523 extern (C) alias void function (Object* obj) EventListener;
526 // An #AtkEventListenerInit function is a special function that is
527 // called in order to initialize the per-object event registration system
528 // used by #AtkEventListener, if any preparation is required.
529 // see atk_focus_tracker_init.
530 extern (C) alias void function () EventListenerInit;
532 extern (C) alias void function (Object* arg_a, int arg_b) FocusHandler;
534 extern (C) alias int function (void* data) Function;
536 struct GObjectAccessible /* : Object */ {
537 alias parent this;
538 alias parent super_;
539 alias parent object;
540 Object parent;
543 // Gets the accessible object for the specified @obj.
544 // the @obj
545 // RETURNS: a #AtkObject which is the accessible object for
546 // <obj>: a #GObject
547 static Object* for_object()(GObject2.Object* obj) {
548 return atk_gobject_accessible_for_object(obj);
551 // Gets the GObject for which @obj is the accessible object.
552 // the accessible object
553 // RETURNS: a #GObject which is the object for which @obj is
554 GObject2.Object* get_object()() {
555 return atk_gobject_accessible_get_object(&this);
559 struct GObjectAccessibleClass {
560 ObjectClass parent_class;
561 Function pad1, pad2;
564 struct Hyperlink /* : GObject.Object */ {
565 mixin Action.__interface__;
566 alias parent this;
567 alias parent super_;
568 alias parent object;
569 GObject2.Object parent;
572 // Gets the index with the hypertext document at which this link ends.
573 // RETURNS: the index with the hypertext document at which this link ends
574 int get_end_index()() {
575 return atk_hyperlink_get_end_index(&this);
578 // Gets the number of anchors associated with this hyperlink.
579 // RETURNS: the number of anchors associated with this hyperlink
580 int get_n_anchors()() {
581 return atk_hyperlink_get_n_anchors(&this);
584 // Returns the item associated with this hyperlinks nth anchor.
585 // For instance, the returned #AtkObject will implement #AtkText
586 // if @link_ is a text hyperlink, #AtkImage if @link_ is an image
587 // hyperlink etc.
588 // Multiple anchors are primarily used by client-side image maps.
589 // i-th anchor
590 // RETURNS: an #AtkObject associated with this hyperlinks
591 // <i>: a (zero-index) integer specifying the desired anchor
592 Object* get_object()(int i) {
593 return atk_hyperlink_get_object(&this, i);
596 // Gets the index with the hypertext document at which this link begins.
597 // RETURNS: the index with the hypertext document at which this link begins
598 int get_start_index()() {
599 return atk_hyperlink_get_start_index(&this);
602 // Get a the URI associated with the anchor specified
603 // by @i of @link_.
604 // Multiple anchors are primarily used by client-side image maps.
605 // RETURNS: a string specifying the URI
606 // <i>: a (zero-index) integer specifying the desired anchor
607 char* /*new*/ get_uri()(int i) {
608 return atk_hyperlink_get_uri(&this, i);
611 // Indicates whether the link currently displays some or all of its
612 // content inline. Ordinary HTML links will usually return
613 // %FALSE, but an inline &lt;src&gt; HTML element will return
614 // %TRUE.
615 // RETURNS: whether or not this link displays its content inline.
616 int is_inline()() {
617 return atk_hyperlink_is_inline(&this);
620 // Since the document that a link is associated with may have changed
621 // this method returns %TRUE if the link is still valid (with
622 // respect to the document it references) and %FALSE otherwise.
623 // RETURNS: whether or not this link is still valid
624 int is_valid()() {
625 return atk_hyperlink_is_valid(&this);
627 extern (C) alias static void function (Hyperlink* this_, void* user_data=null) signal_link_activated;
629 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
630 return super_.signal_connect!name(cb, data, cf);
633 ulong signal_connect(string name:"link-activated", CB:signal_link_activated)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
634 return signal_connect_data!()(&this, cast(char*)"link-activated",
635 cast(GObject2.Callback)cb, data, null, cf);
639 struct HyperlinkClass {
640 GObject2.ObjectClass parent;
642 // RETURNS: a string specifying the URI
643 // <i>: a (zero-index) integer specifying the desired anchor
644 extern (C) char* /*new*/ function (Hyperlink* link_, int i) get_uri;
646 // RETURNS: an #AtkObject associated with this hyperlinks
647 // <i>: a (zero-index) integer specifying the desired anchor
648 extern (C) Object* function (Hyperlink* link_, int i) get_object;
649 // RETURNS: the index with the hypertext document at which this link ends
650 extern (C) int function (Hyperlink* link_) get_end_index;
651 // RETURNS: the index with the hypertext document at which this link begins
652 extern (C) int function (Hyperlink* link_) get_start_index;
653 // RETURNS: whether or not this link is still valid
654 extern (C) int function (Hyperlink* link_) is_valid;
655 // RETURNS: the number of anchors associated with this hyperlink
656 extern (C) int function (Hyperlink* link_) get_n_anchors;
657 extern (C) uint function (Hyperlink* link_) link_state;
658 extern (C) int function (Hyperlink* link_) is_selected_link;
659 extern (C) void function (Hyperlink* link_) link_activated;
660 Function pad1;
663 struct HyperlinkImpl /* Interface */ {
664 mixin template __interface__() {
665 // VERSION: 1.12
666 // Gets the hyperlink associated with this object.
667 // implementing AtkObject.
668 // RETURNS: an AtkHyperlink object which points to this
669 Hyperlink* /*new*/ get_hyperlink()() {
670 return atk_hyperlink_impl_get_hyperlink(cast(HyperlinkImpl*)&this);
673 mixin __interface__;
676 struct HyperlinkImplIface {
677 GObject2.TypeInterface parent;
678 // RETURNS: an AtkHyperlink object which points to this
679 extern (C) Hyperlink* /*new*/ function (HyperlinkImpl* impl) get_hyperlink;
680 Function pad1;
683 enum HyperlinkStateFlags {
684 INLINE = 1
686 struct Hypertext /* Interface */ {
687 mixin template __interface__() {
688 // Gets the link in this hypertext document at index
689 // index @link_index
690 // RETURNS: the link in this hypertext document at
691 // <link_index>: an integer specifying the desired link
692 Hyperlink* get_link()(int link_index) {
693 return atk_hypertext_get_link(cast(Hypertext*)&this, link_index);
696 // Gets the index into the array of hyperlinks that is associated with
697 // the character specified by @char_index.
698 // or -1 if there is no hyperlink associated with this character.
699 // RETURNS: an index into the array of hyperlinks in @hypertext,
700 // <char_index>: a character index
701 int get_link_index()(int char_index) {
702 return atk_hypertext_get_link_index(cast(Hypertext*)&this, char_index);
705 // Gets the number of links within this hypertext document.
706 // RETURNS: the number of links within this hypertext document
707 int get_n_links()() {
708 return atk_hypertext_get_n_links(cast(Hypertext*)&this);
710 extern (C) alias static void function (Hypertext* this_, int object, void* user_data=null) signal_link_selected;
712 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
713 return super_.signal_connect!name(cb, data, cf);
716 ulong signal_connect(string name:"link-selected", CB:signal_link_selected)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
717 return signal_connect_data!()(&this, cast(char*)"link-selected",
718 cast(GObject2.Callback)cb, data, null, cf);
721 mixin __interface__;
724 struct HypertextIface {
725 GObject2.TypeInterface parent;
727 // RETURNS: the link in this hypertext document at
728 // <link_index>: an integer specifying the desired link
729 extern (C) Hyperlink* function (Hypertext* hypertext, int link_index) get_link;
730 // RETURNS: the number of links within this hypertext document
731 extern (C) int function (Hypertext* hypertext) get_n_links;
733 // RETURNS: an index into the array of hyperlinks in @hypertext,
734 // <char_index>: a character index
735 extern (C) int function (Hypertext* hypertext, int char_index) get_link_index;
736 extern (C) void function (Hypertext* hypertext, int link_index) link_selected;
737 Function pad1, pad2, pad3;
740 struct Image /* Interface */ {
741 mixin template __interface__() {
742 // Get a textual description of this image.
743 // RETURNS: a string representing the image description
744 char* get_image_description()() {
745 return atk_image_get_image_description(cast(Image*)&this);
748 // Since ATK 1.12
749 // 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.
750 char* get_image_locale()() {
751 return atk_image_get_image_locale(cast(Image*)&this);
754 // Gets the position of the image in the form of a point specifying the
755 // images top-left corner.
756 // <x>: address of #gint to put x coordinate position; otherwise, -1 if value cannot be obtained.
757 // <y>: address of #gint to put y coordinate position; otherwise, -1 if value cannot be obtained.
758 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
759 void get_image_position()(int* x, int* y, CoordType coord_type) {
760 atk_image_get_image_position(cast(Image*)&this, x, y, coord_type);
763 // Get the width and height in pixels for the specified image.
764 // The values of @width and @height are returned as -1 if the
765 // values cannot be obtained (for instance, if the object is not onscreen).
766 // <width>: filled with the image width, or -1 if the value cannot be obtained.
767 // <height>: filled with the image height, or -1 if the value cannot be obtained.
768 void get_image_size()(int* width, int* height) {
769 atk_image_get_image_size(cast(Image*)&this, width, height);
772 // Sets the textual description for this image.
773 // not be completed.
774 // RETURNS: boolean TRUE, or FALSE if operation could
775 // <description>: a string description to set for @image
776 int set_image_description()(char* description) {
777 return atk_image_set_image_description(cast(Image*)&this, description);
780 mixin __interface__;
783 struct ImageIface {
784 GObject2.TypeInterface parent;
786 // <x>: address of #gint to put x coordinate position; otherwise, -1 if value cannot be obtained.
787 // <y>: address of #gint to put y coordinate position; otherwise, -1 if value cannot be obtained.
788 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
789 extern (C) void function (Image* image, int* x, int* y, CoordType coord_type) get_image_position;
790 // RETURNS: a string representing the image description
791 extern (C) char* function (Image* image) get_image_description;
793 // <width>: filled with the image width, or -1 if the value cannot be obtained.
794 // <height>: filled with the image height, or -1 if the value cannot be obtained.
795 extern (C) void function (Image* image, int* width, int* height) get_image_size;
797 // RETURNS: boolean TRUE, or FALSE if operation could
798 // <description>: a string description to set for @image
799 extern (C) int function (Image* image, char* description) set_image_description;
800 extern (C) char* function (Image* image) get_image_locale;
801 Function pad1;
804 struct Implementor {
806 // Gets a reference to an object's #AtkObject implementation, if
807 // the object implements #AtkObjectIface
808 // implementation
809 // RETURNS: a reference to an object's #AtkObject
810 Object* /*new*/ ref_accessible()() {
811 return atk_implementor_ref_accessible(&this);
815 struct ImplementorIface /* Interface */ {
816 mixin template __interface__() { }
817 mixin __interface__;
820 // Encapsulates information about a key event.
821 struct KeyEventStruct {
822 int type;
823 uint state, keyval;
824 int length;
825 char* string_;
826 ushort keycode;
827 uint timestamp;
830 enum KeyEventType {
831 PRESS = 0,
832 RELEASE = 1,
833 LAST_DEFINED = 2
836 // An #AtkKeySnoopFunc is a type of callback which is called whenever a key event occurs,
837 // if registered via atk_add_key_event_listener. It allows for pre-emptive
838 // interception of key events via the return code as described below.
839 // discarded without being passed to the normal GUI recipient; FALSE (zero) if the
840 // event dispatch to the client application should proceed as normal.
841 // see atk_add_key_event_listener.
842 // RETURNS: TRUE (nonzero) if the event emission should be stopped and the event
843 // <event>: an AtkKeyEventStruct containing information about the key event for which notification is being given.
844 // <func_data>: a block of data which will be passed to the event listener, on notification.
845 extern (C) alias int function (KeyEventStruct* event, void* func_data) KeySnoopFunc;
847 enum Layer {
848 INVALID = 0,
849 BACKGROUND = 1,
850 CANVAS = 2,
851 WIDGET = 3,
852 MDI = 4,
853 POPUP = 5,
854 OVERLAY = 6,
855 WINDOW = 7
857 struct Misc /* : GObject.Object */ {
858 alias parent this;
859 alias parent super_;
860 alias parent object;
861 GObject2.Object parent;
864 // VERSION: 1.13
865 // Obtain the singleton instance of AtkMisc for this application.
866 // RETURNS: The singleton instance of AtkMisc for this application.
867 static Misc* get_instance()() {
868 return atk_misc_get_instance();
871 // VERSION: 1.13
872 // Take the thread mutex for the GUI toolkit,
873 // if one exists.
874 // (This method is implemented by the toolkit ATK implementation layer;
875 // for instance, for GTK+, GAIL implements this via GDK_THREADS_ENTER).
876 void threads_enter()() {
877 atk_misc_threads_enter(&this);
880 // VERSION: 1.13
881 // Release the thread mutex for the GUI toolkit,
882 // if one exists. This method, and atk_misc_threads_enter,
883 // are needed in some situations by threaded application code which
884 // services ATK requests, since fulfilling ATK requests often
885 // requires calling into the GUI toolkit. If a long-running or
886 // potentially blocking call takes place inside such a block, it should
887 // be bracketed by atk_misc_threads_leave/atk_misc_threads_enter calls.
888 // (This method is implemented by the toolkit ATK implementation layer;
889 // for instance, for GTK+, GAIL implements this via GDK_THREADS_LEAVE).
890 void threads_leave()() {
891 atk_misc_threads_leave(&this);
895 struct MiscClass {
896 GObject2.ObjectClass parent;
897 extern (C) void function (Misc* misc) threads_enter;
898 extern (C) void function (Misc* misc) threads_leave;
899 void*[32] vfuncs;
902 struct NoOpObject /* : Object */ {
903 mixin Action.__interface__;
904 mixin Component.__interface__;
905 mixin Document.__interface__;
906 mixin EditableText.__interface__;
907 mixin Hypertext.__interface__;
908 mixin Image.__interface__;
909 mixin Selection.__interface__;
910 mixin Table.__interface__;
911 mixin Text.__interface__;
912 mixin Value.__interface__;
913 mixin Window.__interface__;
914 alias parent this;
915 alias parent super_;
916 alias parent object;
917 Object parent;
920 // Provides a default (non-functioning stub) #AtkObject.
921 // Application maintainers should not use this method.
922 // RETURNS: a default (non-functioning stub) #AtkObject
923 // <obj>: a #GObject
924 static NoOpObject* /*new*/ new_()(GObject2.Object* obj) {
925 return atk_no_op_object_new(obj);
929 struct NoOpObjectClass {
930 ObjectClass parent_class;
933 struct NoOpObjectFactory /* : ObjectFactory */ {
934 alias parent this;
935 alias parent super_;
936 alias parent objectfactory;
937 ObjectFactory parent;
940 // Creates an instance of an #AtkObjectFactory which generates primitive
941 // (non-functioning) #AtkObjects.
942 // RETURNS: an instance of an #AtkObjectFactory
943 static NoOpObjectFactory* /*new*/ new_()() {
944 return atk_no_op_object_factory_new();
948 struct NoOpObjectFactoryClass {
949 ObjectFactoryClass parent_class;
952 struct Object /* : GObject.Object */ {
953 alias parent this;
954 alias parent super_;
955 alias parent object;
956 GObject2.Object parent;
957 char* description, name;
958 Object* accessible_parent;
959 Role role;
960 RelationSet* relation_set;
961 Layer layer;
964 // Adds a relationship of the specified type with the specified target.
965 // Returns TRUE if the relationship is added.
966 // <relationship>: The #AtkRelationType of the relation
967 // <target>: The #AtkObject which is to be the target of the relation.
968 int add_relationship()(RelationType relationship, Object* target) {
969 return atk_object_add_relationship(&this, relationship, target);
972 // Unintrospectable method: connect_property_change_handler() / atk_object_connect_property_change_handler()
973 // Specifies a function to be called when a property changes value.
974 // atk_object_remove_property_change_handler()
975 // RETURNS: a #guint which is the handler id used in
976 // <handler>: a function to be called when a property changes its value
977 uint connect_property_change_handler()(PropertyChangeHandler* handler) {
978 return atk_object_connect_property_change_handler(&this, handler);
981 // VERSION: 1.12
982 // Get a list of properties applied to this object as a whole, as an #AtkAttributeSet consisting of
983 // name-value pairs. As such these attributes may be considered weakly-typed properties or annotations,
984 // as distinct from strongly-typed object data available via other get/set methods.
985 // Not all objects have explicit "name-value pair" #AtkAttributeSet properties.
986 // properties/annotations applied to the object, or an empty set if the object
987 // has no name-value pair attributes assigned to it.
988 // RETURNS: an #AtkAttributeSet consisting of all explicit
989 AttributeSet* get_attributes()() {
990 return atk_object_get_attributes(&this);
993 // Gets the accessible description of the accessible.
994 // of the accessible.
995 // RETURNS: a character string representing the accessible description
996 char* get_description()() {
997 return atk_object_get_description(&this);
1000 // Gets the 0-based index of this accessible in its parent; returns -1 if the
1001 // accessible does not have an accessible parent.
1002 // RETURNS: an integer which is the index of the accessible in its parent
1003 int get_index_in_parent()() {
1004 return atk_object_get_index_in_parent(&this);
1007 // Gets the number of accessible children of the accessible.
1008 // of the accessible.
1009 // RETURNS: an integer representing the number of accessible children
1010 int get_n_accessible_children()() {
1011 return atk_object_get_n_accessible_children(&this);
1014 // Gets the accessible name of the accessible.
1015 // RETURNS: a character string representing the accessible name of the object.
1016 char* get_name()() {
1017 return atk_object_get_name(&this);
1020 // Gets the accessible parent of the accessible.
1021 // of the accessible
1022 // RETURNS: a #AtkObject representing the accessible parent
1023 Object* get_parent()() {
1024 return atk_object_get_parent(&this);
1027 // Gets the role of the accessible.
1028 // RETURNS: an #AtkRole which is the role of the accessible
1029 Role get_role()() {
1030 return atk_object_get_role(&this);
1033 // This function is called when implementing subclasses of #AtkObject.
1034 // It does initialization required for the new object. It is intended
1035 // that this function should called only in the ..._new() functions used
1036 // to create an instance of a subclass of #AtkObject
1037 // <data>: a #gpointer which identifies the object for which the AtkObject was created.
1038 void initialize()(void* data) {
1039 atk_object_initialize(&this, data);
1042 // Emits a state-change signal for the specified state.
1043 // <state>: an #AtkState whose state is changed
1044 // <value>: a gboolean which indicates whether the state is being set on or off
1045 void notify_state_change()(State state, int value) {
1046 atk_object_notify_state_change(&this, state, value);
1049 // Gets a reference to the specified accessible child of the object.
1050 // The accessible children are 0-based so the first accessible child is
1051 // at index 0, the second at index 1 and so on.
1052 // accessible child of the accessible.
1053 // RETURNS: an #AtkObject representing the specified
1054 // <i>: a gint representing the position of the child, starting from 0
1055 Object* /*new*/ ref_accessible_child()(int i) {
1056 return atk_object_ref_accessible_child(&this, i);
1059 // Gets the #AtkRelationSet associated with the object.
1060 // of the object.
1061 // RETURNS: an #AtkRelationSet representing the relation set
1062 RelationSet* /*new*/ ref_relation_set()() {
1063 return atk_object_ref_relation_set(&this);
1066 // Gets a reference to the state set of the accessible; the caller must
1067 // unreference it when it is no longer needed.
1068 // set of the accessible
1069 // RETURNS: a reference to an #AtkStateSet which is the state
1070 StateSet* /*new*/ ref_state_set()() {
1071 return atk_object_ref_state_set(&this);
1074 // Removes a property change handler.
1075 // <handler_id>: a guint which identifies the handler to be removed.
1076 void remove_property_change_handler()(uint handler_id) {
1077 atk_object_remove_property_change_handler(&this, handler_id);
1080 // Removes a relationship of the specified type with the specified target.
1081 // Returns TRUE if the relationship is removed.
1082 // <relationship>: The #AtkRelationType of the relation
1083 // <target>: The #AtkObject which is the target of the relation to be removed.
1084 int remove_relationship()(RelationType relationship, Object* target) {
1085 return atk_object_remove_relationship(&this, relationship, target);
1088 // Sets the accessible description of the accessible.
1089 // <description>: a character string to be set as the accessible description
1090 void set_description()(char* description) {
1091 atk_object_set_description(&this, description);
1094 // Sets the accessible name of the accessible.
1095 // <name>: a character string to be set as the accessible name
1096 void set_name()(char* name) {
1097 atk_object_set_name(&this, name);
1100 // Sets the accessible parent of the accessible.
1101 // <parent>: an #AtkObject to be set as the accessible parent
1102 void set_parent()(Object* parent) {
1103 atk_object_set_parent(&this, parent);
1106 // Sets the role of the accessible.
1107 // <role>: an #AtkRole to be set as the role
1108 void set_role()(Role role) {
1109 atk_object_set_role(&this, role);
1111 extern (C) alias static void function (Object* this_, void* object, void* user_data=null) signal_active_descendant_changed;
1113 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1114 return super_.signal_connect!name(cb, data, cf);
1117 ulong signal_connect(string name:"active-descendant-changed", CB:signal_active_descendant_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1118 return signal_connect_data!()(&this, cast(char*)"active-descendant-changed",
1119 cast(GObject2.Callback)cb, data, null, cf);
1121 extern (C) alias static void function (Object* this_, c_uint object, void* p0, void* user_data=null) signal_children_changed;
1122 ulong signal_connect(string name:"children-changed", CB:signal_children_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1123 return signal_connect_data!()(&this, cast(char*)"children-changed",
1124 cast(GObject2.Callback)cb, data, null, cf);
1126 extern (C) alias static void function (Object* this_, c_int object, void* user_data=null) signal_focus_event;
1127 ulong signal_connect(string name:"focus-event", CB:signal_focus_event)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1128 return signal_connect_data!()(&this, cast(char*)"focus-event",
1129 cast(GObject2.Callback)cb, data, null, cf);
1131 extern (C) alias static void function (Object* this_, void* object, void* user_data=null) signal_property_change;
1132 ulong signal_connect(string name:"property-change", CB:signal_property_change)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1133 return signal_connect_data!()(&this, cast(char*)"property-change",
1134 cast(GObject2.Callback)cb, data, null, cf);
1136 extern (C) alias static void function (Object* this_, char* object, c_int p0, void* user_data=null) signal_state_change;
1137 ulong signal_connect(string name:"state-change", CB:signal_state_change)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1138 return signal_connect_data!()(&this, cast(char*)"state-change",
1139 cast(GObject2.Callback)cb, data, null, cf);
1141 extern (C) alias static void function (Object* this_, void* user_data=null) signal_visible_data_changed;
1142 ulong signal_connect(string name:"visible-data-changed", CB:signal_visible_data_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1143 return signal_connect_data!()(&this, cast(char*)"visible-data-changed",
1144 cast(GObject2.Callback)cb, data, null, cf);
1148 struct ObjectClass {
1149 GObject2.ObjectClass parent;
1150 // RETURNS: a character string representing the accessible name of the object.
1151 extern (C) char* function (Object* accessible) get_name;
1152 // RETURNS: a character string representing the accessible description
1153 extern (C) char* function (Object* accessible) get_description;
1154 // RETURNS: a #AtkObject representing the accessible parent
1155 extern (C) Object* function (Object* accessible) get_parent;
1156 extern (C) int function (Object* accessible) get_n_children;
1157 // Unintrospectable functionp: ref_child() / ()
1158 extern (C) Object* function (Object* accessible, int i) ref_child;
1159 // RETURNS: an integer which is the index of the accessible in its parent
1160 extern (C) int function (Object* accessible) get_index_in_parent;
1161 // RETURNS: an #AtkRelationSet representing the relation set
1162 extern (C) RelationSet* /*new*/ function (Object* accessible) ref_relation_set;
1163 // RETURNS: an #AtkRole which is the role of the accessible
1164 extern (C) Role function (Object* accessible) get_role;
1165 extern (C) Layer function (Object* accessible) get_layer;
1166 extern (C) int function (Object* accessible) get_mdi_zorder;
1167 // RETURNS: a reference to an #AtkStateSet which is the state
1168 extern (C) StateSet* /*new*/ function (Object* accessible) ref_state_set;
1169 // <name>: a character string to be set as the accessible name
1170 extern (C) void function (Object* accessible, char* name) set_name;
1171 // <description>: a character string to be set as the accessible description
1172 extern (C) void function (Object* accessible, char* description) set_description;
1173 // <parent>: an #AtkObject to be set as the accessible parent
1174 extern (C) void function (Object* accessible, Object* parent) set_parent;
1175 // <role>: an #AtkRole to be set as the role
1176 extern (C) void function (Object* accessible, Role role) set_role;
1178 // Unintrospectable functionp: connect_property_change_handler() / ()
1180 // RETURNS: a #guint which is the handler id used in
1181 // <handler>: a function to be called when a property changes its value
1182 extern (C) uint function (Object* accessible, PropertyChangeHandler* handler) connect_property_change_handler;
1183 // <handler_id>: a guint which identifies the handler to be removed.
1184 extern (C) void function (Object* accessible, uint handler_id) remove_property_change_handler;
1185 // <data>: a #gpointer which identifies the object for which the AtkObject was created.
1186 extern (C) void function (Object* accessible, void* data) initialize;
1187 extern (C) void function (Object* accessible, uint change_index, void* changed_child) children_changed;
1188 extern (C) void function (Object* accessible, int focus_in) focus_event;
1189 // Unintrospectable functionp: property_change() / ()
1190 extern (C) void function (Object* accessible, _PropertyValues* values) property_change;
1191 extern (C) void function (Object* accessible, char* name, int state_set) state_change;
1192 extern (C) void function (Object* accessible) visible_data_changed;
1193 extern (C) void function (Object* accessible, void** child) active_descendant_changed;
1194 // RETURNS: an #AtkAttributeSet consisting of all explicit
1195 extern (C) AttributeSet* function (Object* accessible) get_attributes;
1196 Function pad1, pad2;
1199 struct ObjectFactory /* : GObject.Object */ {
1200 alias parent this;
1201 alias parent super_;
1202 alias parent object;
1203 GObject2.Object parent;
1206 // Provides an #AtkObject that implements an accessibility interface
1207 // on behalf of @obj
1208 // interface on behalf of @obj
1209 // RETURNS: an #AtkObject that implements an accessibility
1210 // <obj>: a #GObject
1211 Object* /*new*/ create_accessible()(GObject2.Object* obj) {
1212 return atk_object_factory_create_accessible(&this, obj);
1215 // Gets the GType of the accessible which is created by the factory.
1216 // The value G_TYPE_INVALID is returned if no type if found.
1217 // RETURNS: the type of the accessible which is created by the @factory.
1218 Type get_accessible_type()() {
1219 return atk_object_factory_get_accessible_type(&this);
1222 // Inform @factory that it is no longer being used to create
1223 // accessibles. When called, @factory may need to inform
1224 // #AtkObjects which it has created that they need to be re-instantiated.
1225 // in object registries.
1226 void invalidate()() {
1227 atk_object_factory_invalidate(&this);
1231 struct ObjectFactoryClass {
1232 GObject2.ObjectClass parent_class;
1233 // Unintrospectable functionp: create_accessible() / ()
1234 extern (C) Object* function (GObject2.Object* obj) create_accessible;
1235 extern (C) void function (ObjectFactory* factory) invalidate;
1236 extern (C) Type function () get_accessible_type;
1237 Function pad1, pad2;
1240 struct Plug /* : Object */ {
1241 mixin Component.__interface__;
1242 alias parent this;
1243 alias parent super_;
1244 alias parent object;
1245 Object parent;
1247 static Plug* /*new*/ new_()() {
1248 return atk_plug_new();
1250 char* /*new*/ get_id()() {
1251 return atk_plug_get_id(&this);
1255 struct PlugClass {
1256 ObjectClass parent_class;
1257 extern (C) char* /*new*/ function (Plug* obj) get_object_id;
1260 // Unintrospectable callback: PropertyChangeHandler() / ()
1261 extern (C) alias void function (Object* arg_a, _PropertyValues* arg_b) PropertyChangeHandler;
1263 struct Rectangle {
1264 int x, y, width, height;
1267 struct Registry /* : GObject.Object */ {
1268 alias method_parent this;
1269 alias method_parent super_;
1270 alias method_parent object;
1271 GObject2.Object method_parent;
1274 // Gets an #AtkObjectFactory appropriate for creating #AtkObjects
1275 // appropriate for @type.
1276 // #AtkObjects appropriate for @type.
1277 // RETURNS: an #AtkObjectFactory appropriate for creating
1278 // <type>: a #GType with which to look up the associated #AtkObjectFactory
1279 ObjectFactory* get_factory()(Type type) {
1280 return atk_registry_get_factory(&this, type);
1283 // Provides a #GType indicating the #AtkObjectFactory subclass
1284 // associated with @type.
1285 // RETURNS: a #GType associated with type @type
1286 // <type>: a #GType with which to look up the associated #AtkObjectFactory subclass
1287 Type get_factory_type()(Type type) {
1288 return atk_registry_get_factory_type(&this, type);
1291 // Associate an #AtkObjectFactory subclass with a #GType. Note:
1292 // The associated @factory_type will thereafter be responsible for
1293 // the creation of new #AtkObject implementations for instances
1294 // appropriate for @type.
1295 // <type>: an #AtkObject type
1296 // <factory_type>: an #AtkObjectFactory type to associate with @type. Must implement AtkObject appropriate for @type.
1297 void set_factory_type()(Type type, Type factory_type) {
1298 atk_registry_set_factory_type(&this, type, factory_type);
1302 struct Relation /* : GObject.Object */ {
1303 alias parent this;
1304 alias parent super_;
1305 alias parent object;
1306 GObject2.Object parent;
1307 void*[666] target;
1308 RelationType relationship;
1311 // Create a new relation for the specified key and the specified list
1312 // of targets. See also atk_object_add_relationship().
1313 // RETURNS: a pointer to a new #AtkRelation
1314 // <targets>: an array of pointers to #AtkObjects
1315 // <n_targets>: number of #AtkObjects pointed to by @targets
1316 // <relationship>: an #AtkRelationType with which to create the new #AtkRelation
1317 static Relation* /*new*/ new_()(Object** targets, int n_targets, RelationType relationship) {
1318 return atk_relation_new(targets, n_targets, relationship);
1321 // VERSION: 1.9
1322 // Adds the specified AtkObject to the target for the relation, if it is
1323 // not already present. See also atk_object_add_relationship().
1324 // <target>: an #AtkObject
1325 void add_target()(Object* target) {
1326 atk_relation_add_target(&this, target);
1329 // Gets the type of @relation
1330 // RETURNS: the type of @relation
1331 RelationType get_relation_type()() {
1332 return atk_relation_get_relation_type(&this);
1335 // Gets the target list of @relation
1336 // RETURNS: the target list of @relation
1337 PtrArray* get_target()() {
1338 return atk_relation_get_target(&this);
1341 // Remove the specified AtkObject from the target for the relation.
1342 // Returns TRUE if the removal is successful.
1343 // <target>: an #AtkObject
1344 int remove_target()(Object* target) {
1345 return atk_relation_remove_target(&this, target);
1349 struct RelationClass {
1350 GObject2.ObjectClass parent;
1353 struct RelationSet /* : GObject.Object */ {
1354 alias parent this;
1355 alias parent super_;
1356 alias parent object;
1357 GObject2.Object parent;
1358 void*[666] relations;
1361 // Creates a new empty relation set.
1362 // RETURNS: a new #AtkRelationSet
1363 static RelationSet* /*new*/ new_()() {
1364 return atk_relation_set_new();
1367 // Add a new relation to the current relation set if it is not already
1368 // present.
1369 // This function ref's the AtkRelation so the caller of this function
1370 // should unref it to ensure that it will be destroyed when the AtkRelationSet
1371 // is destroyed.
1372 // <relation>: an #AtkRelation
1373 void add()(Relation* relation) {
1374 atk_relation_set_add(&this, relation);
1377 // VERSION: 1.9
1378 // Add a new relation of the specified type with the specified target to
1379 // the current relation set if the relation set does not contain a relation
1380 // of that type. If it is does contain a relation of that typea the target
1381 // is added to the relation.
1382 // <relationship>: an #AtkRelationType
1383 // <target>: an #AtkObject
1384 void add_relation_by_type()(RelationType relationship, Object* target) {
1385 atk_relation_set_add_relation_by_type(&this, relationship, target);
1388 // Determines whether the relation set contains a relation that matches the
1389 // specified type.
1390 // in @set, %FALSE otherwise
1391 // RETURNS: %TRUE if @relationship is the relationship type of a relation
1392 // <relationship>: an #AtkRelationType
1393 int contains()(RelationType relationship) {
1394 return atk_relation_set_contains(&this, relationship);
1397 // Determines the number of relations in a relation set.
1398 // RETURNS: an integer representing the number of relations in the set.
1399 int get_n_relations()() {
1400 return atk_relation_set_get_n_relations(&this);
1403 // Determines the relation at the specified position in the relation set.
1404 // position i in the set.
1405 // RETURNS: a #AtkRelation, which is the relation at
1406 // <i>: a gint representing a position in the set, starting from 0.
1407 Relation* get_relation()(int i) {
1408 return atk_relation_set_get_relation(&this, i);
1411 // Finds a relation that matches the specified type.
1412 // specified type.
1413 // RETURNS: an #AtkRelation, which is a relation matching the
1414 // <relationship>: an #AtkRelationType
1415 Relation* get_relation_by_type()(RelationType relationship) {
1416 return atk_relation_set_get_relation_by_type(&this, relationship);
1419 // Removes a relation from the relation set.
1420 // This function unref's the #AtkRelation so it will be deleted unless there
1421 // is another reference to it.
1422 // <relation>: an #AtkRelation
1423 void remove()(Relation* relation) {
1424 atk_relation_set_remove(&this, relation);
1428 struct RelationSetClass {
1429 GObject2.ObjectClass parent;
1430 Function pad1, pad2;
1433 enum RelationType {
1434 NULL = 0,
1435 CONTROLLED_BY = 1,
1436 CONTROLLER_FOR = 2,
1437 LABEL_FOR = 3,
1438 LABELLED_BY = 4,
1439 MEMBER_OF = 5,
1440 NODE_CHILD_OF = 6,
1441 FLOWS_TO = 7,
1442 FLOWS_FROM = 8,
1443 SUBWINDOW_OF = 9,
1444 EMBEDS = 10,
1445 EMBEDDED_BY = 11,
1446 POPUP_FOR = 12,
1447 PARENT_WINDOW_OF = 13,
1448 DESCRIBED_BY = 14,
1449 DESCRIPTION_FOR = 15,
1450 NODE_PARENT_OF = 16,
1451 LAST_DEFINED = 17
1453 enum Role {
1454 INVALID = 0,
1455 ACCEL_LABEL = 1,
1456 ALERT = 2,
1457 ANIMATION = 3,
1458 ARROW = 4,
1459 CALENDAR = 5,
1460 CANVAS = 6,
1461 CHECK_BOX = 7,
1462 CHECK_MENU_ITEM = 8,
1463 COLOR_CHOOSER = 9,
1464 COLUMN_HEADER = 10,
1465 COMBO_BOX = 11,
1466 DATE_EDITOR = 12,
1467 DESKTOP_ICON = 13,
1468 DESKTOP_FRAME = 14,
1469 DIAL = 15,
1470 DIALOG = 16,
1471 DIRECTORY_PANE = 17,
1472 DRAWING_AREA = 18,
1473 FILE_CHOOSER = 19,
1474 FILLER = 20,
1475 FONT_CHOOSER = 21,
1476 FRAME = 22,
1477 GLASS_PANE = 23,
1478 HTML_CONTAINER = 24,
1479 ICON = 25,
1480 IMAGE = 26,
1481 INTERNAL_FRAME = 27,
1482 LABEL = 28,
1483 LAYERED_PANE = 29,
1484 LIST = 30,
1485 LIST_ITEM = 31,
1486 MENU = 32,
1487 MENU_BAR = 33,
1488 MENU_ITEM = 34,
1489 OPTION_PANE = 35,
1490 PAGE_TAB = 36,
1491 PAGE_TAB_LIST = 37,
1492 PANEL = 38,
1493 PASSWORD_TEXT = 39,
1494 POPUP_MENU = 40,
1495 PROGRESS_BAR = 41,
1496 PUSH_BUTTON = 42,
1497 RADIO_BUTTON = 43,
1498 RADIO_MENU_ITEM = 44,
1499 ROOT_PANE = 45,
1500 ROW_HEADER = 46,
1501 SCROLL_BAR = 47,
1502 SCROLL_PANE = 48,
1503 SEPARATOR = 49,
1504 SLIDER = 50,
1505 SPLIT_PANE = 51,
1506 SPIN_BUTTON = 52,
1507 STATUSBAR = 53,
1508 TABLE = 54,
1509 TABLE_CELL = 55,
1510 TABLE_COLUMN_HEADER = 56,
1511 TABLE_ROW_HEADER = 57,
1512 TEAR_OFF_MENU_ITEM = 58,
1513 TERMINAL = 59,
1514 TEXT = 60,
1515 TOGGLE_BUTTON = 61,
1516 TOOL_BAR = 62,
1517 TOOL_TIP = 63,
1518 TREE = 64,
1519 TREE_TABLE = 65,
1520 UNKNOWN = 66,
1521 VIEWPORT = 67,
1522 WINDOW = 68,
1523 HEADER = 69,
1524 FOOTER = 70,
1525 PARAGRAPH = 71,
1526 RULER = 72,
1527 APPLICATION = 73,
1528 AUTOCOMPLETE = 74,
1529 EDITBAR = 75,
1530 EMBEDDED = 76,
1531 ENTRY = 77,
1532 CHART = 78,
1533 CAPTION = 79,
1534 DOCUMENT_FRAME = 80,
1535 HEADING = 81,
1536 PAGE = 82,
1537 SECTION = 83,
1538 REDUNDANT_OBJECT = 84,
1539 FORM = 85,
1540 LINK = 86,
1541 INPUT_METHOD_WINDOW = 87,
1542 TABLE_ROW = 88,
1543 TREE_ITEM = 89,
1544 DOCUMENT_SPREADSHEET = 90,
1545 DOCUMENT_PRESENTATION = 91,
1546 DOCUMENT_TEXT = 92,
1547 DOCUMENT_WEB = 93,
1548 DOCUMENT_EMAIL = 94,
1549 COMMENT = 95,
1550 LIST_BOX = 96,
1551 GROUPING = 97,
1552 IMAGE_MAP = 98,
1553 NOTIFICATION = 99,
1554 INFO_BAR = 100,
1555 LAST_DEFINED = 101
1557 struct Selection /* Interface */ {
1558 mixin template __interface__() {
1559 // Adds the specified accessible child of the object to the
1560 // object's selection.
1561 // RETURNS: TRUE if success, FALSE otherwise.
1562 // <i>: a #gint specifying the child index.
1563 int add_selection()(int i) {
1564 return atk_selection_add_selection(cast(Selection*)&this, i);
1567 // Clears the selection in the object so that no children in the object
1568 // are selected.
1569 // RETURNS: TRUE if success, FALSE otherwise.
1570 int clear_selection()() {
1571 return atk_selection_clear_selection(cast(Selection*)&this);
1574 // Gets the number of accessible children currently selected.
1575 // indication of whether AtkSelectionIface is implemented, they should
1576 // use type checking/interface checking macros or the
1577 // atk_get_accessible_value() convenience method.
1578 // if @selection does not implement this interface.
1579 // RETURNS: a gint representing the number of items selected, or 0
1580 int get_selection_count()() {
1581 return atk_selection_get_selection_count(cast(Selection*)&this);
1584 // Determines if the current child of this object is selected
1585 // indication of whether AtkSelectionIface is implemented, they should
1586 // use type checking/interface checking macros or the
1587 // atk_get_accessible_value() convenience method.
1588 // if @selection does not implement this interface.
1589 // RETURNS: a gboolean representing the specified child is selected, or 0
1590 // <i>: a #gint specifying the child index.
1591 int is_child_selected()(int i) {
1592 return atk_selection_is_child_selected(cast(Selection*)&this, i);
1595 // Gets a reference to the accessible object representing the specified
1596 // selected child of the object.
1597 // indication of whether AtkSelectionIface is implemented, they should
1598 // use type checking/interface checking macros or the
1599 // atk_get_accessible_value() convenience method.
1600 // accessible , or %NULL if @selection does not implement this interface.
1601 // RETURNS: an #AtkObject representing the selected
1602 // <i>: a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child).
1603 Object* /*new*/ ref_selection()(int i) {
1604 return atk_selection_ref_selection(cast(Selection*)&this, i);
1607 // Removes the specified child of the object from the object's selection.
1608 // RETURNS: TRUE if success, FALSE otherwise.
1609 // <i>: a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child).
1610 int remove_selection()(int i) {
1611 return atk_selection_remove_selection(cast(Selection*)&this, i);
1614 // Causes every child of the object to be selected if the object
1615 // supports multiple selections.
1616 // RETURNS: TRUE if success, FALSE otherwise.
1617 int select_all_selection()() {
1618 return atk_selection_select_all_selection(cast(Selection*)&this);
1620 extern (C) alias static void function (Selection* this_, void* user_data=null) signal_selection_changed;
1622 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1623 return super_.signal_connect!name(cb, data, cf);
1626 ulong signal_connect(string name:"selection-changed", CB:signal_selection_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1627 return signal_connect_data!()(&this, cast(char*)"selection-changed",
1628 cast(GObject2.Callback)cb, data, null, cf);
1631 mixin __interface__;
1634 struct SelectionIface {
1635 GObject2.TypeInterface parent;
1637 // RETURNS: TRUE if success, FALSE otherwise.
1638 // <i>: a #gint specifying the child index.
1639 extern (C) int function (Selection* selection, int i) add_selection;
1640 // RETURNS: TRUE if success, FALSE otherwise.
1641 extern (C) int function (Selection* selection) clear_selection;
1643 // RETURNS: an #AtkObject representing the selected
1644 // <i>: a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child).
1645 extern (C) Object* /*new*/ function (Selection* selection, int i) ref_selection;
1646 // RETURNS: a gint representing the number of items selected, or 0
1647 extern (C) int function (Selection* selection) get_selection_count;
1649 // RETURNS: a gboolean representing the specified child is selected, or 0
1650 // <i>: a #gint specifying the child index.
1651 extern (C) int function (Selection* selection, int i) is_child_selected;
1653 // RETURNS: TRUE if success, FALSE otherwise.
1654 // <i>: a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child).
1655 extern (C) int function (Selection* selection, int i) remove_selection;
1656 // RETURNS: TRUE if success, FALSE otherwise.
1657 extern (C) int function (Selection* selection) select_all_selection;
1658 extern (C) void function (Selection* selection) selection_changed;
1659 Function pad1, pad2;
1662 struct Socket /* : Object */ {
1663 mixin Component.__interface__;
1664 alias parent this;
1665 alias parent super_;
1666 alias parent object;
1667 Object parent;
1668 private char* embedded_plug_id;
1670 static Socket* /*new*/ new_()() {
1671 return atk_socket_new();
1674 // VERSION: 1.30
1675 // Embeds the children of an #AtkPlug as the children of the #AtkSocket. The
1676 // plug may be in the same process or in a different process.
1677 // THe class item used by this function should be filled in by the IPC layer
1678 // (ie, at-spi2-atk). The implementor of the AtkSocket should call this
1679 // function and pass the id for the plug as returned by atk_plug_get_id.
1680 // It is the responsibility of the application to pass the plug id on to
1681 // the process implementing the AtkSocket as needed.
1682 // <plug_id>: the ID of an #AtkPlug
1683 void embed()(char* plug_id) {
1684 atk_socket_embed(&this, plug_id);
1687 // VERSION: 1.30
1688 // Determines whether or not the socket has an embedded plug.
1689 // RETURNS: TRUE if a plug is embedded in the socket
1690 int is_occupied()() {
1691 return atk_socket_is_occupied(&this);
1695 struct SocketClass {
1696 ObjectClass parent_class;
1697 // <plug_id>: the ID of an #AtkPlug
1698 extern (C) void function (Socket* obj, char* plug_id) embed;
1701 struct StateSet /* : GObject.Object */ {
1702 alias parent this;
1703 alias parent super_;
1704 alias parent object;
1705 GObject2.Object parent;
1708 // Creates a new empty state set.
1709 // RETURNS: a new #AtkStateSet
1710 static StateSet* /*new*/ new_()() {
1711 return atk_state_set_new();
1714 // Add a new state for the specified type to the current state set if
1715 // it is not already present.
1716 // RETURNS: %TRUE if the state for @type is not already in @set.
1717 // <type>: an #AtkStateType
1718 int add_state()(StateType type) {
1719 return atk_state_set_add_state(&this, type);
1722 // Add the states for the specified types to the current state set.
1723 // <types>: an array of #AtkStateType
1724 // <n_types>: The number of elements in the array
1725 void add_states()(StateType* types, int n_types) {
1726 atk_state_set_add_states(&this, types, n_types);
1729 // Constructs the intersection of the two sets, returning %NULL if the
1730 // intersection is empty.
1731 // the two sets.
1732 // RETURNS: a new #AtkStateSet which is the intersection of
1733 // <compare_set>: another #AtkStateSet
1734 StateSet* /*new*/ and_sets()(StateSet* compare_set) {
1735 return atk_state_set_and_sets(&this, compare_set);
1737 // Removes all states from the state set.
1738 void clear_states()() {
1739 atk_state_set_clear_states(&this);
1742 // Checks whether the state for the specified type is in the specified set.
1743 // RETURNS: %TRUE if @type is the state type is in @set.
1744 // <type>: an #AtkStateType
1745 int contains_state()(StateType type) {
1746 return atk_state_set_contains_state(&this, type);
1749 // Checks whether the states for all the specified types are in the
1750 // specified set.
1751 // RETURNS: %TRUE if all the states for @type are in @set.
1752 // <types>: an array of #AtkStateType
1753 // <n_types>: The number of elements in the array
1754 int contains_states()(StateType* types, int n_types) {
1755 return atk_state_set_contains_states(&this, types, n_types);
1758 // Checks whether the state set is empty, i.e. has no states set.
1759 // RETURNS: %TRUE if @set has no states set, otherwise %FALSE
1760 int is_empty()() {
1761 return atk_state_set_is_empty(&this);
1764 // Constructs the union of the two sets.
1765 // sets, returning %NULL is empty.
1766 // RETURNS: a new #AtkStateSet which is the union of the two
1767 // <compare_set>: another #AtkStateSet
1768 StateSet* /*new*/ or_sets()(StateSet* compare_set) {
1769 return atk_state_set_or_sets(&this, compare_set);
1772 // Removes the state for the specified type from the state set.
1773 // RETURNS: %TRUE if @type was the state type is in @set.
1774 // <type>: an #AtkType
1775 int remove_state()(StateType type) {
1776 return atk_state_set_remove_state(&this, type);
1779 // Constructs the exclusive-or of the two sets, returning %NULL is empty.
1780 // The set returned by this operation contains the states in exactly
1781 // one of the two sets.
1782 // which are in exactly one of the two sets.
1783 // RETURNS: a new #AtkStateSet which contains the states
1784 // <compare_set>: another #AtkStateSet
1785 StateSet* /*new*/ xor_sets()(StateSet* compare_set) {
1786 return atk_state_set_xor_sets(&this, compare_set);
1790 struct StateSetClass {
1791 GObject2.ObjectClass parent;
1794 enum StateType {
1795 INVALID = 0,
1796 ACTIVE = 1,
1797 ARMED = 2,
1798 BUSY = 3,
1799 CHECKED = 4,
1800 DEFUNCT = 5,
1801 EDITABLE = 6,
1802 ENABLED = 7,
1803 EXPANDABLE = 8,
1804 EXPANDED = 9,
1805 FOCUSABLE = 10,
1806 FOCUSED = 11,
1807 HORIZONTAL = 12,
1808 ICONIFIED = 13,
1809 MODAL = 14,
1810 MULTI_LINE = 15,
1811 MULTISELECTABLE = 16,
1812 OPAQUE = 17,
1813 PRESSED = 18,
1814 RESIZABLE = 19,
1815 SELECTABLE = 20,
1816 SELECTED = 21,
1817 SENSITIVE = 22,
1818 SHOWING = 23,
1819 SINGLE_LINE = 24,
1820 STALE = 25,
1821 TRANSIENT = 26,
1822 VERTICAL = 27,
1823 VISIBLE = 28,
1824 MANAGES_DESCENDANTS = 29,
1825 INDETERMINATE = 30,
1826 TRUNCATED = 31,
1827 REQUIRED = 32,
1828 INVALID_ENTRY = 33,
1829 SUPPORTS_AUTOCOMPLETION = 34,
1830 SELECTABLE_TEXT = 35,
1831 DEFAULT = 36,
1832 ANIMATED = 37,
1833 VISITED = 38,
1834 LAST_DEFINED = 39
1836 struct StreamableContent /* Interface */ {
1837 mixin template __interface__() {
1838 // Gets the character string of the specified mime type. The first mime
1839 // type is at position 0, the second at position 1, and so on.
1840 // should not free the character string.
1841 // <i>: a gint representing the position of the mime type starting from 0
1842 char* get_mime_type()(int i) {
1843 return atk_streamable_content_get_mime_type(cast(StreamableContent*)&this, i);
1846 // Gets the number of mime types supported by this object.
1847 // RETURNS: a gint which is the number of mime types supported by the object.
1848 int get_n_mime_types()() {
1849 return atk_streamable_content_get_n_mime_types(cast(StreamableContent*)&this);
1852 // Unintrospectable method: get_stream() / atk_streamable_content_get_stream()
1853 // Gets the content in the specified mime type.
1854 // specified mime type.
1855 // RETURNS: A #GIOChannel which contains the content in the
1856 // <mime_type>: a gchar* representing the mime type
1857 GLib2.IOChannel* /*new*/ get_stream()(char* mime_type) {
1858 return atk_streamable_content_get_stream(cast(StreamableContent*)&this, mime_type);
1861 // VERSION: 1.12
1862 // Get a string representing a URI in IETF standard format
1863 // (see http://www.ietf.org/rfc/rfc2396.txt) from which the object's content
1864 // may be streamed in the specified mime-type, if one is available.
1865 // If mime_type is NULL, the URI for the default (and possibly only) mime-type is
1866 // returned.
1867 // Note that it is possible for get_uri to return NULL but for
1868 // get_stream to work nonetheless, since not all GIOChannels connect to URIs.
1869 // can be constructed.
1870 // RETURNS: Returns a string representing a URI, or NULL if no corresponding URI
1871 // <mime_type>: a gchar* representing the mime type, or NULL to request a URI for the default mime type.
1872 char* get_uri()(char* mime_type) {
1873 return atk_streamable_content_get_uri(cast(StreamableContent*)&this, mime_type);
1876 mixin __interface__;
1879 struct StreamableContentIface {
1880 GObject2.TypeInterface parent;
1881 // RETURNS: a gint which is the number of mime types supported by the object.
1882 extern (C) int function (StreamableContent* streamable) get_n_mime_types;
1883 // <i>: a gint representing the position of the mime type starting from 0
1884 extern (C) char* function (StreamableContent* streamable, int i) get_mime_type;
1886 // Unintrospectable functionp: get_stream() / ()
1888 // RETURNS: A #GIOChannel which contains the content in the
1889 // <mime_type>: a gchar* representing the mime type
1890 extern (C) GLib2.IOChannel* /*new*/ function (StreamableContent* streamable, char* mime_type) get_stream;
1892 // RETURNS: Returns a string representing a URI, or NULL if no corresponding URI
1893 // <mime_type>: a gchar* representing the mime type, or NULL to request a URI for the default mime type.
1894 extern (C) char* function (StreamableContent* streamable, char* mime_type) get_uri;
1895 Function pad1, pad2, pad3;
1898 struct Table /* Interface */ {
1899 mixin template __interface__() {
1900 // Adds the specified @column to the selection.
1901 // the selection, or 0 if value does not implement this interface.
1902 // RETURNS: a gboolean representing if the column was successfully added to
1903 // <column>: a #gint representing a column in @table
1904 int add_column_selection()(int column) {
1905 return atk_table_add_column_selection(cast(Table*)&this, column);
1908 // Adds the specified @row to the selection.
1909 // or 0 if value does not implement this interface.
1910 // RETURNS: a gboolean representing if row was successfully added to selection,
1911 // <row>: a #gint representing a row in @table
1912 int add_row_selection()(int row) {
1913 return atk_table_add_row_selection(cast(Table*)&this, row);
1916 // Gets the caption for the @table.
1917 // %NULL if value does not implement this interface.
1918 // RETURNS: a AtkObject* representing the table caption, or
1919 Object* get_caption()() {
1920 return atk_table_get_caption(cast(Table*)&this);
1923 // Gets a #gint representing the column at the specified @index_.
1924 // or -1 if the table does not implement this interface
1925 // RETURNS: a gint representing the column at the specified index,
1926 // <index_>: a #gint representing an index in @table
1927 int get_column_at_index()(int index_) {
1928 return atk_table_get_column_at_index(cast(Table*)&this, index_);
1931 // Gets the description text of the specified @column in the table
1932 // if value does not implement this interface.
1933 // RETURNS: a gchar* representing the column description, or %NULL
1934 // <column>: a #gint representing a column in @table
1935 char* get_column_description()(int column) {
1936 return atk_table_get_column_description(cast(Table*)&this, column);
1939 // Gets the number of columns occupied by the accessible object
1940 // at the specified @row and @column in the @table.
1941 // if value does not implement this interface.
1942 // RETURNS: a gint representing the column extent at specified position, or 0
1943 // <row>: a #gint representing a row in @table
1944 // <column>: a #gint representing a column in @table
1945 int get_column_extent_at()(int row, int column) {
1946 return atk_table_get_column_extent_at(cast(Table*)&this, row, column);
1949 // Gets the column header of a specified column in an accessible table.
1950 // header, or %NULL if value does not implement this interface.
1951 // RETURNS: a AtkObject* representing the specified column
1952 // <column>: a #gint representing a column in the table
1953 Object* get_column_header()(int column) {
1954 return atk_table_get_column_header(cast(Table*)&this, column);
1957 // Gets a #gint representing the index at the specified @row and @column.
1958 // The value -1 is returned if the object at row,column is not a child
1959 // of table or table does not implement this interface.
1960 // RETURNS: a #gint representing the index at specified position.
1961 // <row>: a #gint representing a row in @table
1962 // <column>: a #gint representing a column in @table
1963 int get_index_at()(int row, int column) {
1964 return atk_table_get_index_at(cast(Table*)&this, row, column);
1967 // Gets the number of columns in the table.
1968 // if value does not implement this interface.
1969 // RETURNS: a gint representing the number of columns, or 0
1970 int get_n_columns()() {
1971 return atk_table_get_n_columns(cast(Table*)&this);
1974 // Gets the number of rows in the table.
1975 // if value does not implement this interface.
1976 // RETURNS: a gint representing the number of rows, or 0
1977 int get_n_rows()() {
1978 return atk_table_get_n_rows(cast(Table*)&this);
1981 // Gets a #gint representing the row at the specified @index_.
1982 // or -1 if the table does not implement this interface
1983 // RETURNS: a gint representing the row at the specified index,
1984 // <index_>: a #gint representing an index in @table
1985 int get_row_at_index()(int index_) {
1986 return atk_table_get_row_at_index(cast(Table*)&this, index_);
1989 // Gets the description text of the specified row in the table
1990 // if value does not implement this interface.
1991 // RETURNS: a gchar* representing the row description, or %NULL
1992 // <row>: a #gint representing a row in @table
1993 char* get_row_description()(int row) {
1994 return atk_table_get_row_description(cast(Table*)&this, row);
1997 // Gets the number of rows occupied by the accessible object
1998 // at a specified @row and @column in the @table.
1999 // if value does not implement this interface.
2000 // RETURNS: a gint representing the row extent at specified position, or 0
2001 // <row>: a #gint representing a row in @table
2002 // <column>: a #gint representing a column in @table
2003 int get_row_extent_at()(int row, int column) {
2004 return atk_table_get_row_extent_at(cast(Table*)&this, row, column);
2007 // Gets the row header of a specified row in an accessible table.
2008 // header, or %NULL if value does not implement this interface.
2009 // RETURNS: a AtkObject* representing the specified row
2010 // <row>: a #gint representing a row in the table
2011 Object* get_row_header()(int row) {
2012 return atk_table_get_row_header(cast(Table*)&this, row);
2015 // Gets the selected columns of the table by initializing **selected with
2016 // the selected column numbers. This array should be freed by the caller.
2017 // or %0 if value does not implement this interface.
2018 // RETURNS: a gint representing the number of selected columns,
2019 // <selected>: a #gint** that is to contain the selected columns numbers
2020 int get_selected_columns()(int** selected) {
2021 return atk_table_get_selected_columns(cast(Table*)&this, selected);
2024 // Gets the selected rows of the table by initializing **selected with
2025 // the selected row numbers. This array should be freed by the caller.
2026 // or zero if value does not implement this interface.
2027 // RETURNS: a gint representing the number of selected rows,
2028 // <selected>: a #gint** that is to contain the selected row numbers
2029 int get_selected_rows()(int** selected) {
2030 return atk_table_get_selected_rows(cast(Table*)&this, selected);
2033 // Gets the summary description of the table.
2034 // of the table, or zero if value does not implement this interface.
2035 // RETURNS: a AtkObject* representing a summary description
2036 Object* /*new*/ get_summary()() {
2037 return atk_table_get_summary(cast(Table*)&this);
2040 // Gets a boolean value indicating whether the specified @column
2041 // is selected
2042 // if value does not implement this interface.
2043 // RETURNS: a gboolean representing if the column is selected, or 0
2044 // <column>: a #gint representing a column in @table
2045 int is_column_selected()(int column) {
2046 return atk_table_is_column_selected(cast(Table*)&this, column);
2049 // Gets a boolean value indicating whether the specified @row
2050 // is selected
2051 // if value does not implement this interface.
2052 // RETURNS: a gboolean representing if the row is selected, or 0
2053 // <row>: a #gint representing a row in @table
2054 int is_row_selected()(int row) {
2055 return atk_table_is_row_selected(cast(Table*)&this, row);
2058 // Gets a boolean value indicating whether the accessible object
2059 // at the specified @row and @column is selected
2060 // if value does not implement this interface.
2061 // RETURNS: a gboolean representing if the cell is selected, or 0
2062 // <row>: a #gint representing a row in @table
2063 // <column>: a #gint representing a column in @table
2064 int is_selected()(int row, int column) {
2065 return atk_table_is_selected(cast(Table*)&this, row, column);
2068 // Get a reference to the table cell at @row, @column.
2069 // accessible
2070 // RETURNS: a AtkObject* representing the referred to
2071 // <row>: a #gint representing a row in @table
2072 // <column>: a #gint representing a column in @table
2073 Object* /*new*/ ref_at()(int row, int column) {
2074 return atk_table_ref_at(cast(Table*)&this, row, column);
2077 // Adds the specified @column to the selection.
2078 // the selection, or 0 if value does not implement this interface.
2079 // RETURNS: a gboolean representing if the column was successfully removed from
2080 // <column>: a #gint representing a column in @table
2081 int remove_column_selection()(int column) {
2082 return atk_table_remove_column_selection(cast(Table*)&this, column);
2085 // Removes the specified @row from the selection.
2086 // the selection, or 0 if value does not implement this interface.
2087 // RETURNS: a gboolean representing if the row was successfully removed from
2088 // <row>: a #gint representing a row in @table
2089 int remove_row_selection()(int row) {
2090 return atk_table_remove_row_selection(cast(Table*)&this, row);
2093 // Sets the caption for the table.
2094 // <caption>: a #AtkObject representing the caption to set for @table
2095 void set_caption()(Object* caption) {
2096 atk_table_set_caption(cast(Table*)&this, caption);
2099 // Sets the description text for the specified @column of the @table.
2100 // <column>: a #gint representing a column in @table
2101 // <description>: a #gchar representing the description text to set for the specified @column of the @table
2102 void set_column_description()(int column, char* description) {
2103 atk_table_set_column_description(cast(Table*)&this, column, description);
2106 // Sets the specified column header to @header.
2107 // <column>: a #gint representing a column in @table
2108 // <header>: an #AtkTable
2109 void set_column_header()(int column, Object* header) {
2110 atk_table_set_column_header(cast(Table*)&this, column, header);
2113 // Sets the description text for the specified @row of @table.
2114 // <row>: a #gint representing a row in @table
2115 // <description>: a #gchar representing the description text to set for the specified @row of @table
2116 void set_row_description()(int row, char* description) {
2117 atk_table_set_row_description(cast(Table*)&this, row, description);
2120 // Sets the specified row header to @header.
2121 // <row>: a #gint representing a row in @table
2122 // <header>: an #AtkTable
2123 void set_row_header()(int row, Object* header) {
2124 atk_table_set_row_header(cast(Table*)&this, row, header);
2127 // Sets the summary description of the table.
2128 // <accessible>: an #AtkObject representing the summary description to set for @table
2129 void set_summary()(Object* accessible) {
2130 atk_table_set_summary(cast(Table*)&this, accessible);
2132 extern (C) alias static void function (Table* this_, int object, int p0, void* user_data=null) signal_column_deleted;
2134 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2135 return super_.signal_connect!name(cb, data, cf);
2138 ulong signal_connect(string name:"column-deleted", CB:signal_column_deleted)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2139 return signal_connect_data!()(&this, cast(char*)"column-deleted",
2140 cast(GObject2.Callback)cb, data, null, cf);
2142 extern (C) alias static void function (Table* this_, int object, int p0, void* user_data=null) signal_column_inserted;
2143 ulong signal_connect(string name:"column-inserted", CB:signal_column_inserted)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2144 return signal_connect_data!()(&this, cast(char*)"column-inserted",
2145 cast(GObject2.Callback)cb, data, null, cf);
2147 extern (C) alias static void function (Table* this_, void* user_data=null) signal_column_reordered;
2148 ulong signal_connect(string name:"column-reordered", CB:signal_column_reordered)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2149 return signal_connect_data!()(&this, cast(char*)"column-reordered",
2150 cast(GObject2.Callback)cb, data, null, cf);
2152 extern (C) alias static void function (Table* this_, void* user_data=null) signal_model_changed;
2153 ulong signal_connect(string name:"model-changed", CB:signal_model_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2154 return signal_connect_data!()(&this, cast(char*)"model-changed",
2155 cast(GObject2.Callback)cb, data, null, cf);
2157 extern (C) alias static void function (Table* this_, int object, int p0, void* user_data=null) signal_row_deleted;
2158 ulong signal_connect(string name:"row-deleted", CB:signal_row_deleted)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2159 return signal_connect_data!()(&this, cast(char*)"row-deleted",
2160 cast(GObject2.Callback)cb, data, null, cf);
2162 extern (C) alias static void function (Table* this_, int object, int p0, void* user_data=null) signal_row_inserted;
2163 ulong signal_connect(string name:"row-inserted", CB:signal_row_inserted)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2164 return signal_connect_data!()(&this, cast(char*)"row-inserted",
2165 cast(GObject2.Callback)cb, data, null, cf);
2167 extern (C) alias static void function (Table* this_, void* user_data=null) signal_row_reordered;
2168 ulong signal_connect(string name:"row-reordered", CB:signal_row_reordered)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2169 return signal_connect_data!()(&this, cast(char*)"row-reordered",
2170 cast(GObject2.Callback)cb, data, null, cf);
2173 mixin __interface__;
2176 struct TableIface {
2177 GObject2.TypeInterface parent;
2179 // RETURNS: a AtkObject* representing the referred to
2180 // <row>: a #gint representing a row in @table
2181 // <column>: a #gint representing a column in @table
2182 extern (C) Object* /*new*/ function (Table* table, int row, int column) ref_at;
2184 // RETURNS: a #gint representing the index at specified position.
2185 // <row>: a #gint representing a row in @table
2186 // <column>: a #gint representing a column in @table
2187 extern (C) int function (Table* table, int row, int column) get_index_at;
2189 // RETURNS: a gint representing the column at the specified index,
2190 // <index_>: a #gint representing an index in @table
2191 extern (C) int function (Table* table, int index_) get_column_at_index;
2193 // RETURNS: a gint representing the row at the specified index,
2194 // <index_>: a #gint representing an index in @table
2195 extern (C) int function (Table* table, int index_) get_row_at_index;
2196 // RETURNS: a gint representing the number of columns, or 0
2197 extern (C) int function (Table* table) get_n_columns;
2198 // RETURNS: a gint representing the number of rows, or 0
2199 extern (C) int function (Table* table) get_n_rows;
2201 // RETURNS: a gint representing the column extent at specified position, or 0
2202 // <row>: a #gint representing a row in @table
2203 // <column>: a #gint representing a column in @table
2204 extern (C) int function (Table* table, int row, int column) get_column_extent_at;
2206 // RETURNS: a gint representing the row extent at specified position, or 0
2207 // <row>: a #gint representing a row in @table
2208 // <column>: a #gint representing a column in @table
2209 extern (C) int function (Table* table, int row, int column) get_row_extent_at;
2210 // RETURNS: a AtkObject* representing the table caption, or
2211 extern (C) Object* function (Table* table) get_caption;
2213 // RETURNS: a gchar* representing the column description, or %NULL
2214 // <column>: a #gint representing a column in @table
2215 extern (C) char* function (Table* table, int column) get_column_description;
2217 // RETURNS: a AtkObject* representing the specified column
2218 // <column>: a #gint representing a column in the table
2219 extern (C) Object* function (Table* table, int column) get_column_header;
2221 // RETURNS: a gchar* representing the row description, or %NULL
2222 // <row>: a #gint representing a row in @table
2223 extern (C) char* function (Table* table, int row) get_row_description;
2225 // RETURNS: a AtkObject* representing the specified row
2226 // <row>: a #gint representing a row in the table
2227 extern (C) Object* function (Table* table, int row) get_row_header;
2228 // RETURNS: a AtkObject* representing a summary description
2229 extern (C) Object* /*new*/ function (Table* table) get_summary;
2230 // <caption>: a #AtkObject representing the caption to set for @table
2231 extern (C) void function (Table* table, Object* caption) set_caption;
2233 // <column>: a #gint representing a column in @table
2234 // <description>: a #gchar representing the description text to set for the specified @column of the @table
2235 extern (C) void function (Table* table, int column, char* description) set_column_description;
2237 // <column>: a #gint representing a column in @table
2238 // <header>: an #AtkTable
2239 extern (C) void function (Table* table, int column, Object* header) set_column_header;
2241 // <row>: a #gint representing a row in @table
2242 // <description>: a #gchar representing the description text to set for the specified @row of @table
2243 extern (C) void function (Table* table, int row, char* description) set_row_description;
2245 // <row>: a #gint representing a row in @table
2246 // <header>: an #AtkTable
2247 extern (C) void function (Table* table, int row, Object* header) set_row_header;
2248 // <accessible>: an #AtkObject representing the summary description to set for @table
2249 extern (C) void function (Table* table, Object* accessible) set_summary;
2251 // RETURNS: a gint representing the number of selected columns,
2252 // <selected>: a #gint** that is to contain the selected columns numbers
2253 extern (C) int function (Table* table, int** selected) get_selected_columns;
2255 // RETURNS: a gint representing the number of selected rows,
2256 // <selected>: a #gint** that is to contain the selected row numbers
2257 extern (C) int function (Table* table, int** selected) get_selected_rows;
2259 // RETURNS: a gboolean representing if the column is selected, or 0
2260 // <column>: a #gint representing a column in @table
2261 extern (C) int function (Table* table, int column) is_column_selected;
2263 // RETURNS: a gboolean representing if the row is selected, or 0
2264 // <row>: a #gint representing a row in @table
2265 extern (C) int function (Table* table, int row) is_row_selected;
2267 // RETURNS: a gboolean representing if the cell is selected, or 0
2268 // <row>: a #gint representing a row in @table
2269 // <column>: a #gint representing a column in @table
2270 extern (C) int function (Table* table, int row, int column) is_selected;
2272 // RETURNS: a gboolean representing if row was successfully added to selection,
2273 // <row>: a #gint representing a row in @table
2274 extern (C) int function (Table* table, int row) add_row_selection;
2276 // RETURNS: a gboolean representing if the row was successfully removed from
2277 // <row>: a #gint representing a row in @table
2278 extern (C) int function (Table* table, int row) remove_row_selection;
2280 // RETURNS: a gboolean representing if the column was successfully added to
2281 // <column>: a #gint representing a column in @table
2282 extern (C) int function (Table* table, int column) add_column_selection;
2284 // RETURNS: a gboolean representing if the column was successfully removed from
2285 // <column>: a #gint representing a column in @table
2286 extern (C) int function (Table* table, int column) remove_column_selection;
2287 extern (C) void function (Table* table, int row, int num_inserted) row_inserted;
2288 extern (C) void function (Table* table, int column, int num_inserted) column_inserted;
2289 extern (C) void function (Table* table, int row, int num_deleted) row_deleted;
2290 extern (C) void function (Table* table, int column, int num_deleted) column_deleted;
2291 extern (C) void function (Table* table) row_reordered;
2292 extern (C) void function (Table* table) column_reordered;
2293 extern (C) void function (Table* table) model_changed;
2294 Function pad1, pad2, pad3, pad4;
2297 struct Text /* Interface */ {
2298 mixin template __interface__() {
2299 // Adds a selection bounded by the specified offsets.
2300 // RETURNS: %TRUE if success, %FALSE otherwise
2301 // <start_offset>: the start position of the selected region
2302 // <end_offset>: the offset of the first character after the selected region.
2303 int add_selection()(int start_offset, int end_offset) {
2304 return atk_text_add_selection(cast(Text*)&this, start_offset, end_offset);
2307 // VERSION: 1.3
2308 // Get the ranges of text in the specified bounding box.
2309 // element of the array returned by this function will be NULL.
2310 // RETURNS: Array of AtkTextRange. The last
2311 // <rect>: An AtkTextRectangle giving the dimensions of the bounding box.
2312 // <coord_type>: Specify whether coordinates are relative to the screen or widget window.
2313 // <x_clip_type>: Specify the horizontal clip type.
2314 // <y_clip_type>: Specify the vertical clip type.
2315 TextRange** /*new*/ get_bounded_ranges()(TextRectangle* rect, CoordType coord_type, TextClipType x_clip_type, TextClipType y_clip_type) {
2316 return atk_text_get_bounded_ranges(cast(Text*)&this, rect, coord_type, x_clip_type, y_clip_type);
2319 // Gets the offset position of the caret (cursor).
2320 // RETURNS: the offset position of the caret (cursor).
2321 int get_caret_offset()() {
2322 return atk_text_get_caret_offset(cast(Text*)&this);
2325 // Gets the specified text.
2326 // RETURNS: the character at @offset.
2327 // <offset>: position
2328 dchar get_character_at_offset()(int offset) {
2329 return atk_text_get_character_at_offset(cast(Text*)&this, offset);
2332 // Gets the character count.
2333 // RETURNS: the number of characters.
2334 int get_character_count()() {
2335 return atk_text_get_character_count(cast(Text*)&this);
2338 // Get the bounding box containing the glyph representing the character at
2339 // a particular text offset.
2340 // <offset>: The offset of the text character for which bounding information is required.
2341 // <x>: Pointer for the x cordinate of the bounding box
2342 // <y>: Pointer for the y cordinate of the bounding box
2343 // <width>: Pointer for the width of the bounding box
2344 // <height>: Pointer for the height of the bounding box
2345 // <coords>: specify whether coordinates are relative to the screen or widget window
2346 void get_character_extents()(int offset, int* x, int* y, int* width, int* height, CoordType coords) {
2347 atk_text_get_character_extents(cast(Text*)&this, offset, x, y, width, height, coords);
2350 // Creates an #AtkAttributeSet which consists of the default values of
2351 // attributes for the text. See the enum AtkTextAttribute for types of text
2352 // attributes that can be returned. Note that other attributes may also be
2353 // returned.
2354 // values of attributes. at @offset. this #atkattributeset should be freed by
2355 // a call to atk_attribute_set_free().
2356 // RETURNS: an #AtkAttributeSet which contains the default
2357 AttributeSet* /*new*/ get_default_attributes()() {
2358 return atk_text_get_default_attributes(cast(Text*)&this);
2361 // Gets the number of selected regions.
2362 // occurred.
2363 // RETURNS: The number of selected regions, or -1 if a failure
2364 int get_n_selections()() {
2365 return atk_text_get_n_selections(cast(Text*)&this);
2368 // Gets the offset of the character located at coordinates @x and @y. @x and @y
2369 // are interpreted as being relative to the screen or this widget's window
2370 // depending on @coords.
2371 // the specified @x and @y coordinates.
2372 // RETURNS: the offset to the character which is located at
2373 // <x>: screen x-position of character
2374 // <y>: screen y-position of character
2375 // <coords>: specify whether coordinates are relative to the screen or widget window
2376 int get_offset_at_point()(int x, int y, CoordType coords) {
2377 return atk_text_get_offset_at_point(cast(Text*)&this, x, y, coords);
2380 // VERSION: 1.3
2381 // Get the bounding box for text within the specified range.
2382 // <start_offset>: The offset of the first text character for which boundary information is required.
2383 // <end_offset>: The offset of the text character after the last character for which boundary information is required.
2384 // <coord_type>: Specify whether coordinates are relative to the screen or widget window.
2385 // <rect>: A pointer to a AtkTextRectangle which is filled in by this function.
2386 void get_range_extents()(int start_offset, int end_offset, CoordType coord_type, TextRectangle* rect) {
2387 atk_text_get_range_extents(cast(Text*)&this, start_offset, end_offset, coord_type, rect);
2390 // Creates an #AtkAttributeSet which consists of the attributes explicitly
2391 // set at the position @offset in the text. @start_offset and @end_offset are
2392 // set to the start and end of the range around @offset where the attributes are
2393 // invariant. Note that @end_offset is the offset of the first character
2394 // after the range. See the enum AtkTextAttribute for types of text
2395 // attributes that can be returned. Note that other attributes may also be
2396 // returned.
2397 // explicitly set at @offset. This #AtkAttributeSet should be freed by a call
2398 // to atk_attribute_set_free().
2399 // RETURNS: an #AtkAttributeSet which contains the attributes
2400 // <offset>: the offset at which to get the attributes, -1 means the offset of the character to be inserted at the caret location.
2401 // <start_offset>: the address to put the start offset of the range
2402 // <end_offset>: the address to put the end offset of the range
2403 AttributeSet* /*new*/ get_run_attributes()(int offset, int* start_offset, int* end_offset) {
2404 return atk_text_get_run_attributes(cast(Text*)&this, offset, start_offset, end_offset);
2407 // Gets the text from the specified selection.
2408 // to free the returned string.
2409 // RETURNS: a newly allocated string containing the selected text. Use g_free()
2410 // <selection_num>: 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.
2411 // <start_offset>: passes back the start position of the selected region
2412 // <end_offset>: passes back the end position of (e.g. offset immediately past) the selected region
2413 char* /*new*/ get_selection()(int selection_num, int* start_offset, int* end_offset) {
2414 return atk_text_get_selection(cast(Text*)&this, selection_num, start_offset, end_offset);
2417 // Gets the specified text.
2418 // to, but not including @end_offset. Use g_free() to free the returned string.
2419 // RETURNS: a newly allocated string containing the text from @start_offset up
2420 // <start_offset>: start position
2421 // <end_offset>: end position
2422 char* /*new*/ get_text()(int start_offset, int end_offset) {
2423 return atk_text_get_text(cast(Text*)&this, start_offset, end_offset);
2426 // Gets the specified text.
2427 // If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character after the
2428 // offset is returned.
2429 // If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
2430 // is from the word start after the offset to the next word start.
2431 // The returned string will contain the word after the offset if the offset
2432 // is inside a word or if the offset is not inside a word.
2433 // If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string
2434 // is from the word end at or after the offset to the next work end.
2435 // The returned string will contain the word after the offset if the offset
2436 // is inside a word and will contain the word after the word after the offset
2437 // if the offset is not inside a word.
2438 // If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
2439 // string is from the sentence start after the offset to the next sentence
2440 // start.
2441 // The returned string will contain the sentence after the offset if the offset
2442 // is inside a sentence or if the offset is not inside a sentence.
2443 // If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string
2444 // is from the sentence end at or after the offset to the next sentence end.
2445 // The returned string will contain the sentence after the offset if the offset
2446 // is inside a sentence and will contain the sentence after the sentence
2447 // after the offset if the offset is not inside a sentence.
2448 // If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
2449 // string is from the line start after the offset to the next line start.
2450 // If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string
2451 // is from the line end at or after the offset to the next line end.
2452 // by the specified @boundary_type. Use g_free() to free the returned string.
2453 // RETURNS: a newly allocated string containing the text after @offset bounded
2454 // <offset>: position
2455 // <boundary_type>: An #AtkTextBoundary
2456 // <start_offset>: the start offset of the returned string
2457 // <end_offset>: the offset of the first character after the returned substring
2458 char* /*new*/ get_text_after_offset()(int offset, TextBoundary boundary_type, int* start_offset, int* end_offset) {
2459 return atk_text_get_text_after_offset(cast(Text*)&this, offset, boundary_type, start_offset, end_offset);
2462 // Gets the specified text.
2463 // If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character at the
2464 // offset is returned.
2465 // If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
2466 // is from the word start at or before the offset to the word start after
2467 // the offset.
2468 // The returned string will contain the word at the offset if the offset
2469 // is inside a word and will contain the word before the offset if the
2470 // offset is not inside a word.
2471 // If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string
2472 // is from the word end before the offset to the word end at or after the
2473 // offset.
2474 // The returned string will contain the word at the offset if the offset
2475 // is inside a word and will contain the word after to the offset if the
2476 // offset is not inside a word.
2477 // If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
2478 // string is from the sentence start at or before the offset to the sentence
2479 // start after the offset.
2480 // The returned string will contain the sentence at the offset if the offset
2481 // is inside a sentence and will contain the sentence before the offset
2482 // if the offset is not inside a sentence.
2483 // If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string
2484 // is from the sentence end before the offset to the sentence end at or
2485 // after the offset.
2486 // The returned string will contain the sentence at the offset if the offset
2487 // is inside a sentence and will contain the sentence after the offset
2488 // if the offset is not inside a sentence.
2489 // If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
2490 // string is from the line start at or before the offset to the line
2491 // start after the offset.
2492 // If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string
2493 // is from the line end before the offset to the line end at or after
2494 // the offset.
2495 // the specified @boundary_type. Use g_free() to free the returned string.
2496 // RETURNS: a newly allocated string containing the text at @offset bounded by
2497 // <offset>: position
2498 // <boundary_type>: An #AtkTextBoundary
2499 // <start_offset>: the start offset of the returned string
2500 // <end_offset>: the offset of the first character after the returned substring
2501 char* /*new*/ get_text_at_offset()(int offset, TextBoundary boundary_type, int* start_offset, int* end_offset) {
2502 return atk_text_get_text_at_offset(cast(Text*)&this, offset, boundary_type, start_offset, end_offset);
2505 // Gets the specified text.
2506 // If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character before the
2507 // offset is returned.
2508 // If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
2509 // is from the word start before the word start before or at the offset to
2510 // the word start before or at the offset.
2511 // The returned string will contain the word before the offset if the offset
2512 // is inside a word and will contain the word before the word before the
2513 // offset if the offset is not inside a word.
2514 // If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string
2515 // is from the word end before the word end before the offset to the word
2516 // end before the offset.
2517 // The returned string will contain the word before the offset if the offset
2518 // is inside a word or if the offset is not inside a word.
2519 // If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
2520 // string is from the sentence start before the sentence start before
2521 // the offset to the sentence start before the offset.
2522 // The returned string will contain the sentence before the offset if the
2523 // offset is inside a sentence and will contain the sentence before the
2524 // sentence before the offset if the offset is not inside a sentence.
2525 // If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string
2526 // is from the sentence end before the sentence end at or before the offset to
2527 // the sentence end at or before the offset.
2528 // The returned string will contain the sentence before the offset if the
2529 // offset is inside a sentence or if the offset is not inside a sentence.
2530 // If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
2531 // string is from the line start before the line start ar or before the offset
2532 // to the line start ar or before the offset.
2533 // If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string
2534 // is from the line end before the line end before the offset to the
2535 // line end before the offset.
2536 // by the specified @boundary_type. Use g_free() to free the returned string.
2537 // RETURNS: a newly allocated string containing the text before @offset bounded
2538 // <offset>: position
2539 // <boundary_type>: An #AtkTextBoundary
2540 // <start_offset>: the start offset of the returned string
2541 // <end_offset>: the offset of the first character after the returned substring
2542 char* /*new*/ get_text_before_offset()(int offset, TextBoundary boundary_type, int* start_offset, int* end_offset) {
2543 return atk_text_get_text_before_offset(cast(Text*)&this, offset, boundary_type, start_offset, end_offset);
2546 // Removes the specified selection.
2547 // RETURNS: %TRUE if success, %FALSE otherwise
2548 // <selection_num>: 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.
2549 int remove_selection()(int selection_num) {
2550 return atk_text_remove_selection(cast(Text*)&this, selection_num);
2553 // Sets the caret (cursor) position to the specified @offset.
2554 // RETURNS: %TRUE if success, %FALSE otherwise.
2555 // <offset>: position
2556 int set_caret_offset()(int offset) {
2557 return atk_text_set_caret_offset(cast(Text*)&this, offset);
2560 // Changes the start and end offset of the specified selection.
2561 // RETURNS: %TRUE if success, %FALSE otherwise
2562 // <selection_num>: 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.
2563 // <start_offset>: the new start position of the selection
2564 // <end_offset>: the new end position of (e.g. offset immediately past) the selection
2565 int set_selection()(int selection_num, int start_offset, int end_offset) {
2566 return atk_text_set_selection(cast(Text*)&this, selection_num, start_offset, end_offset);
2568 extern (C) alias static void function (Text* this_, void* user_data=null) signal_text_attributes_changed;
2570 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2571 return super_.signal_connect!name(cb, data, cf);
2574 ulong signal_connect(string name:"text-attributes-changed", CB:signal_text_attributes_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2575 return signal_connect_data!()(&this, cast(char*)"text-attributes-changed",
2576 cast(GObject2.Callback)cb, data, null, cf);
2578 extern (C) alias static void function (Text* this_, int object, void* user_data=null) signal_text_caret_moved;
2579 ulong signal_connect(string name:"text-caret-moved", CB:signal_text_caret_moved)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2580 return signal_connect_data!()(&this, cast(char*)"text-caret-moved",
2581 cast(GObject2.Callback)cb, data, null, cf);
2583 extern (C) alias static void function (Text* this_, int object, int p0, void* user_data=null) signal_text_changed;
2584 ulong signal_connect(string name:"text-changed", CB:signal_text_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2585 return signal_connect_data!()(&this, cast(char*)"text-changed",
2586 cast(GObject2.Callback)cb, data, null, cf);
2588 extern (C) alias static void function (Text* this_, int object, int p0, char* p1, void* user_data=null) signal_text_insert;
2589 ulong signal_connect(string name:"text-insert", CB:signal_text_insert)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2590 return signal_connect_data!()(&this, cast(char*)"text-insert",
2591 cast(GObject2.Callback)cb, data, null, cf);
2593 extern (C) alias static void function (Text* this_, int object, int p0, char* p1, void* user_data=null) signal_text_remove;
2594 ulong signal_connect(string name:"text-remove", CB:signal_text_remove)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2595 return signal_connect_data!()(&this, cast(char*)"text-remove",
2596 cast(GObject2.Callback)cb, data, null, cf);
2598 extern (C) alias static void function (Text* this_, void* user_data=null) signal_text_selection_changed;
2599 ulong signal_connect(string name:"text-selection-changed", CB:signal_text_selection_changed)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2600 return signal_connect_data!()(&this, cast(char*)"text-selection-changed",
2601 cast(GObject2.Callback)cb, data, null, cf);
2603 extern (C) alias static void function (Text* this_, int object, int p0, int p1, char* p2, void* user_data=null) signal_text_update;
2604 ulong signal_connect(string name:"text-update", CB:signal_text_update)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2605 return signal_connect_data!()(&this, cast(char*)"text-update",
2606 cast(GObject2.Callback)cb, data, null, cf);
2609 mixin __interface__;
2612 enum TextAttribute {
2613 INVALID = 0,
2614 LEFT_MARGIN = 1,
2615 RIGHT_MARGIN = 2,
2616 INDENT = 3,
2617 INVISIBLE = 4,
2618 EDITABLE = 5,
2619 PIXELS_ABOVE_LINES = 6,
2620 PIXELS_BELOW_LINES = 7,
2621 PIXELS_INSIDE_WRAP = 8,
2622 BG_FULL_HEIGHT = 9,
2623 RISE = 10,
2624 UNDERLINE = 11,
2625 STRIKETHROUGH = 12,
2626 SIZE = 13,
2627 SCALE = 14,
2628 WEIGHT = 15,
2629 LANGUAGE = 16,
2630 FAMILY_NAME = 17,
2631 BG_COLOR = 18,
2632 FG_COLOR = 19,
2633 BG_STIPPLE = 20,
2634 FG_STIPPLE = 21,
2635 WRAP_MODE = 22,
2636 DIRECTION = 23,
2637 JUSTIFICATION = 24,
2638 STRETCH = 25,
2639 VARIANT = 26,
2640 STYLE = 27,
2641 LAST_DEFINED = 28
2643 enum TextBoundary {
2644 CHAR = 0,
2645 WORD_START = 1,
2646 WORD_END = 2,
2647 SENTENCE_START = 3,
2648 SENTENCE_END = 4,
2649 LINE_START = 5,
2650 LINE_END = 6
2652 enum TextClipType {
2653 NONE = 0,
2654 MIN = 1,
2655 MAX = 2,
2656 BOTH = 3
2658 struct TextIface {
2659 GObject2.TypeInterface parent;
2661 // RETURNS: a newly allocated string containing the text from @start_offset up
2662 // <start_offset>: start position
2663 // <end_offset>: end position
2664 extern (C) char* /*new*/ function (Text* text, int start_offset, int end_offset) get_text;
2666 // RETURNS: a newly allocated string containing the text after @offset bounded
2667 // <offset>: position
2668 // <boundary_type>: An #AtkTextBoundary
2669 // <start_offset>: the start offset of the returned string
2670 // <end_offset>: the offset of the first character after the returned substring
2671 extern (C) char* /*new*/ function (Text* text, int offset, TextBoundary boundary_type, int* start_offset, int* end_offset) get_text_after_offset;
2673 // RETURNS: a newly allocated string containing the text at @offset bounded by
2674 // <offset>: position
2675 // <boundary_type>: An #AtkTextBoundary
2676 // <start_offset>: the start offset of the returned string
2677 // <end_offset>: the offset of the first character after the returned substring
2678 extern (C) char* /*new*/ function (Text* text, int offset, TextBoundary boundary_type, int* start_offset, int* end_offset) get_text_at_offset;
2680 // RETURNS: the character at @offset.
2681 // <offset>: position
2682 extern (C) dchar function (Text* text, int offset) get_character_at_offset;
2684 // RETURNS: a newly allocated string containing the text before @offset bounded
2685 // <offset>: position
2686 // <boundary_type>: An #AtkTextBoundary
2687 // <start_offset>: the start offset of the returned string
2688 // <end_offset>: the offset of the first character after the returned substring
2689 extern (C) char* /*new*/ function (Text* text, int offset, TextBoundary boundary_type, int* start_offset, int* end_offset) get_text_before_offset;
2690 // RETURNS: the offset position of the caret (cursor).
2691 extern (C) int function (Text* text) get_caret_offset;
2693 // RETURNS: an #AtkAttributeSet which contains the attributes
2694 // <offset>: the offset at which to get the attributes, -1 means the offset of the character to be inserted at the caret location.
2695 // <start_offset>: the address to put the start offset of the range
2696 // <end_offset>: the address to put the end offset of the range
2697 extern (C) AttributeSet* /*new*/ function (Text* text, int offset, int* start_offset, int* end_offset) get_run_attributes;
2698 // RETURNS: an #AtkAttributeSet which contains the default
2699 extern (C) AttributeSet* /*new*/ function (Text* text) get_default_attributes;
2701 // <offset>: The offset of the text character for which bounding information is required.
2702 // <x>: Pointer for the x cordinate of the bounding box
2703 // <y>: Pointer for the y cordinate of the bounding box
2704 // <width>: Pointer for the width of the bounding box
2705 // <height>: Pointer for the height of the bounding box
2706 // <coords>: specify whether coordinates are relative to the screen or widget window
2707 extern (C) void function (Text* text, int offset, int* x, int* y, int* width, int* height, CoordType coords) get_character_extents;
2708 // RETURNS: the number of characters.
2709 extern (C) int function (Text* text) get_character_count;
2711 // RETURNS: the offset to the character which is located at
2712 // <x>: screen x-position of character
2713 // <y>: screen y-position of character
2714 // <coords>: specify whether coordinates are relative to the screen or widget window
2715 extern (C) int function (Text* text, int x, int y, CoordType coords) get_offset_at_point;
2716 // RETURNS: The number of selected regions, or -1 if a failure
2717 extern (C) int function (Text* text) get_n_selections;
2719 // RETURNS: a newly allocated string containing the selected text. Use g_free()
2720 // <selection_num>: 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.
2721 // <start_offset>: passes back the start position of the selected region
2722 // <end_offset>: passes back the end position of (e.g. offset immediately past) the selected region
2723 extern (C) char* /*new*/ function (Text* text, int selection_num, int* start_offset, int* end_offset) get_selection;
2725 // RETURNS: %TRUE if success, %FALSE otherwise
2726 // <start_offset>: the start position of the selected region
2727 // <end_offset>: the offset of the first character after the selected region.
2728 extern (C) int function (Text* text, int start_offset, int end_offset) add_selection;
2730 // RETURNS: %TRUE if success, %FALSE otherwise
2731 // <selection_num>: 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.
2732 extern (C) int function (Text* text, int selection_num) remove_selection;
2734 // RETURNS: %TRUE if success, %FALSE otherwise
2735 // <selection_num>: 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.
2736 // <start_offset>: the new start position of the selection
2737 // <end_offset>: the new end position of (e.g. offset immediately past) the selection
2738 extern (C) int function (Text* text, int selection_num, int start_offset, int end_offset) set_selection;
2740 // RETURNS: %TRUE if success, %FALSE otherwise.
2741 // <offset>: position
2742 extern (C) int function (Text* text, int offset) set_caret_offset;
2743 extern (C) void function (Text* text, int position, int length) text_changed;
2744 extern (C) void function (Text* text, int location) text_caret_moved;
2745 extern (C) void function (Text* text) text_selection_changed;
2746 extern (C) void function (Text* text) text_attributes_changed;
2748 // <start_offset>: The offset of the first text character for which boundary information is required.
2749 // <end_offset>: The offset of the text character after the last character for which boundary information is required.
2750 // <coord_type>: Specify whether coordinates are relative to the screen or widget window.
2751 // <rect>: A pointer to a AtkTextRectangle which is filled in by this function.
2752 extern (C) void function (Text* text, int start_offset, int end_offset, CoordType coord_type, TextRectangle* rect) get_range_extents;
2753 extern (C) TextRange** /*new*/ function (Text* text, TextRectangle* rect, CoordType coord_type, TextClipType x_clip_type, TextClipType y_clip_type) get_bounded_ranges;
2754 Function pad4;
2757 // A structure used to describe a text range.
2758 struct TextRange {
2759 TextRectangle bounds;
2760 int start_offset, end_offset;
2761 char* content;
2764 // A structure used to store a rectangle used by AtkText.
2765 struct TextRectangle {
2766 int x, y, width, height;
2769 struct Util /* : GObject.Object */ {
2770 alias parent this;
2771 alias parent super_;
2772 alias parent object;
2773 GObject2.Object parent;
2776 struct UtilClass {
2777 GObject2.ObjectClass parent;
2778 // Unintrospectable functionp: add_global_event_listener() / ()
2779 extern (C) uint function (GObject2.SignalEmissionHook listener, char* event_type) add_global_event_listener;
2780 extern (C) void function (uint listener_id) remove_global_event_listener;
2781 // Unintrospectable functionp: add_key_event_listener() / ()
2782 extern (C) uint function (KeySnoopFunc listener, void* data) add_key_event_listener;
2783 extern (C) void function (uint listener_id) remove_key_event_listener;
2784 // Unintrospectable functionp: get_root() / ()
2785 extern (C) Object* function () get_root;
2786 extern (C) char* function () get_toolkit_name;
2787 extern (C) char* function () get_toolkit_version;
2790 struct Value /* Interface */ {
2791 mixin template __interface__() {
2792 // Gets the value of this object.
2793 // <value>: a #GValue representing the current accessible value
2794 void get_current_value()(GObject2.Value* value) {
2795 atk_value_get_current_value(cast(Value*)&this, value);
2798 // Gets the maximum value of this object.
2799 // <value>: a #GValue representing the maximum accessible value
2800 void get_maximum_value()(GObject2.Value* value) {
2801 atk_value_get_maximum_value(cast(Value*)&this, value);
2804 // VERSION: 1.12
2805 // Gets the minimum increment by which the value of this object may be changed. If zero,
2806 // the minimum increment is undefined, which may mean that it is limited only by the
2807 // floating point precision of the platform.
2808 // <value>: a #GValue representing the minimum increment by which the accessible value may be changed
2809 void get_minimum_increment()(GObject2.Value* value) {
2810 atk_value_get_minimum_increment(cast(Value*)&this, value);
2813 // Gets the minimum value of this object.
2814 // <value>: a #GValue representing the minimum accessible value
2815 void get_minimum_value()(GObject2.Value* value) {
2816 atk_value_get_minimum_value(cast(Value*)&this, value);
2819 // Sets the value of this object.
2820 // RETURNS: %TRUE if new value is successfully set, %FALSE otherwise.
2821 // <value>: a #GValue which is the desired new accessible value.
2822 int set_current_value()(GObject2.Value* value) {
2823 return atk_value_set_current_value(cast(Value*)&this, value);
2826 mixin __interface__;
2829 struct ValueIface {
2830 GObject2.TypeInterface parent;
2831 // <value>: a #GValue representing the current accessible value
2832 extern (C) void function (Value* obj, GObject2.Value* value) get_current_value;
2833 // <value>: a #GValue representing the maximum accessible value
2834 extern (C) void function (Value* obj, GObject2.Value* value) get_maximum_value;
2835 // <value>: a #GValue representing the minimum accessible value
2836 extern (C) void function (Value* obj, GObject2.Value* value) get_minimum_value;
2838 // RETURNS: %TRUE if new value is successfully set, %FALSE otherwise.
2839 // <value>: a #GValue which is the desired new accessible value.
2840 extern (C) int function (Value* obj, GObject2.Value* value) set_current_value;
2841 // <value>: a #GValue representing the minimum increment by which the accessible value may be changed
2842 extern (C) void function (Value* obj, GObject2.Value* value) get_minimum_increment;
2843 Function pad1;
2846 struct Window /* Interface */ {
2847 mixin template __interface__() { extern (C) alias static void function (Window* this_, void* user_data=null) signal_activate;
2849 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2850 return super_.signal_connect!name(cb, data, cf);
2853 ulong signal_connect(string name:"activate", CB:signal_activate)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2854 return signal_connect_data!()(&this, cast(char*)"activate",
2855 cast(GObject2.Callback)cb, data, null, cf);
2857 extern (C) alias static void function (Window* this_, void* user_data=null) signal_create;
2858 ulong signal_connect(string name:"create", CB:signal_create)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2859 return signal_connect_data!()(&this, cast(char*)"create",
2860 cast(GObject2.Callback)cb, data, null, cf);
2862 extern (C) alias static void function (Window* this_, void* user_data=null) signal_deactivate;
2863 ulong signal_connect(string name:"deactivate", CB:signal_deactivate)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2864 return signal_connect_data!()(&this, cast(char*)"deactivate",
2865 cast(GObject2.Callback)cb, data, null, cf);
2867 extern (C) alias static void function (Window* this_, void* user_data=null) signal_destroy;
2868 ulong signal_connect(string name:"destroy", CB:signal_destroy)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2869 return signal_connect_data!()(&this, cast(char*)"destroy",
2870 cast(GObject2.Callback)cb, data, null, cf);
2872 extern (C) alias static void function (Window* this_, void* user_data=null) signal_maximize;
2873 ulong signal_connect(string name:"maximize", CB:signal_maximize)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2874 return signal_connect_data!()(&this, cast(char*)"maximize",
2875 cast(GObject2.Callback)cb, data, null, cf);
2877 extern (C) alias static void function (Window* this_, void* user_data=null) signal_minimize;
2878 ulong signal_connect(string name:"minimize", CB:signal_minimize)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2879 return signal_connect_data!()(&this, cast(char*)"minimize",
2880 cast(GObject2.Callback)cb, data, null, cf);
2882 extern (C) alias static void function (Window* this_, void* user_data=null) signal_move;
2883 ulong signal_connect(string name:"move", CB:signal_move)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2884 return signal_connect_data!()(&this, cast(char*)"move",
2885 cast(GObject2.Callback)cb, data, null, cf);
2887 extern (C) alias static void function (Window* this_, void* user_data=null) signal_resize;
2888 ulong signal_connect(string name:"resize", CB:signal_resize)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2889 return signal_connect_data!()(&this, cast(char*)"resize",
2890 cast(GObject2.Callback)cb, data, null, cf);
2892 extern (C) alias static void function (Window* this_, void* user_data=null) signal_restore;
2893 ulong signal_connect(string name:"restore", CB:signal_restore)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2894 return signal_connect_data!()(&this, cast(char*)"restore",
2895 cast(GObject2.Callback)cb, data, null, cf);
2898 mixin __interface__;
2901 struct WindowIface {
2902 GObject2.TypeInterface parent;
2903 void*[16] _padding_dummy;
2906 struct _PropertyValues {
2907 char* property_name;
2908 GObject2.Value old_value, new_value;
2911 struct _Registry {
2912 GObject2.Object parent;
2913 GLib2.HashTable* factory_type_registry, factory_singleton_cache;
2916 struct _RegistryClass {
2917 GObject2.ObjectClass parent_class;
2921 // Unintrospectable function: add_focus_tracker() / atk_add_focus_tracker()
2922 // Adds the specified function to the list of functions to be called
2923 // when an object receives focus.
2924 // RETURNS: added focus tracker id, or 0 on failure.
2925 // <focus_tracker>: Function to be added to the list of functions to be called when an object receives focus.
2926 static uint add_focus_tracker()(EventListener focus_tracker) {
2927 return atk_add_focus_tracker(focus_tracker);
2931 // Unintrospectable function: add_global_event_listener() / atk_add_global_event_listener()
2932 // Adds the specified function to the list of functions to be called
2933 // when an ATK event of type event_type occurs.
2934 // The format of event_type is the following:
2935 // "ATK:<atk_type>:<atk_event>
2936 // Where "ATK" works as the namespace, <atk_interface> is the name of
2937 // the ATK type (interface or object) and <atk_event> is the name of
2938 // the signal defined on that interface.
2939 // For example:
2940 // ATK:AtkObject:state-change
2941 // ATK:AtkText:text-selection-changed
2942 // RETURNS: added event listener id, or 0 on failure.
2943 // <listener>: the listener to notify
2944 // <event_type>: the type of event for which notification is requested
2945 static uint add_global_event_listener()(GObject2.SignalEmissionHook listener, char* event_type) {
2946 return atk_add_global_event_listener(listener, event_type);
2950 // Unintrospectable function: add_key_event_listener() / atk_add_key_event_listener()
2951 // Adds the specified function to the list of functions to be called
2952 // when a key event occurs. The @data element will be passed to the
2953 // #AtkKeySnoopFunc (@listener) as the @func_data param, on notification.
2954 // RETURNS: added event listener id, or 0 on failure.
2955 // <listener>: the listener to notify
2956 // <data>: 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.
2957 static uint add_key_event_listener()(KeySnoopFunc listener, void* data) {
2958 return atk_add_key_event_listener(listener, data);
2962 // Frees the memory used by an #AtkAttributeSet, including all its
2963 // #AtkAttributes.
2964 // <attrib_set>: The #AtkAttributeSet to free
2965 static void attribute_set_free()(AttributeSet* attrib_set) {
2966 atk_attribute_set_free(attrib_set);
2970 // Unintrospectable function: focus_tracker_init() / atk_focus_tracker_init()
2971 // Specifies the function to be called for focus tracker initialization.
2972 // This function should be called by an implementation of the
2973 // ATK interface if any specific work needs to be done to enable
2974 // focus tracking.
2975 // <init>: Function to be called for focus tracker initialization
2976 static void focus_tracker_init()(EventListenerInit init) {
2977 atk_focus_tracker_init(init);
2981 // Cause the focus tracker functions which have been specified to be
2982 // executed for the object.
2983 // <object>: an #AtkObject
2984 static void focus_tracker_notify()(Object* object) {
2985 atk_focus_tracker_notify(object);
2989 // Gets a default implementation of the #AtkObjectFactory/type
2990 // registry.
2991 // registry for registering new #AtkObject factories. Following
2992 // a call to this function, maintainers may call atk_registry_set_factory_type()
2993 // to associate an #AtkObjectFactory subclass with the GType of objects
2994 // for whom accessibility information will be provided.
2995 // #AtkObjectFactory/type registry
2996 // RETURNS: a default implementation of the
2997 static Registry* /*new*/ get_default_registry()() {
2998 return atk_get_default_registry();
3002 // VERSION: 1.6
3003 // Gets the currently focused object.
3004 // application
3005 // RETURNS: the currently focused object for the current
3006 static Object* get_focus_object()() {
3007 return atk_get_focus_object();
3011 // Gets the root accessible container for the current application.
3012 // application
3013 // RETURNS: the root accessible container for the current
3014 static Object* get_root()() {
3015 return atk_get_root();
3019 // Gets name string for the GUI toolkit implementing ATK for this application.
3020 // RETURNS: name string for the GUI toolkit implementing ATK for this application
3021 static char* get_toolkit_name()() {
3022 return atk_get_toolkit_name();
3026 // Gets version string for the GUI toolkit implementing ATK for this application.
3027 // RETURNS: version string for the GUI toolkit implementing ATK for this application
3028 static char* get_toolkit_version()() {
3029 return atk_get_toolkit_version();
3033 // VERSION: 1.20
3034 // Gets the current version for ATK.
3035 // RETURNS: version string for ATK
3036 static char* get_version()() {
3037 return atk_get_version();
3041 // Get the #AtkRelationType type corresponding to a relation name.
3042 // or #ATK_RELATION_NULL if no matching relation type is found.
3043 // RETURNS: the #AtkRelationType enumerated type corresponding to the specified name,
3044 // <name>: a string which is the (non-localized) name of an ATK relation type.
3045 static RelationType relation_type_for_name()(char* name) {
3046 return atk_relation_type_for_name(name);
3050 // Gets the description string describing the #AtkRelationType @type.
3051 // RETURNS: the string describing the AtkRelationType
3052 // <type>: The #AtkRelationType whose name is required
3053 static char* relation_type_get_name()(RelationType type) {
3054 return atk_relation_type_get_name(type);
3058 // Associate @name with a new #AtkRelationType
3059 // RETURNS: an #AtkRelationType associated with @name
3060 // <name>: a name string
3061 static RelationType relation_type_register()(char* name) {
3062 return atk_relation_type_register(name);
3066 // Removes the specified focus tracker from the list of functions
3067 // to be called when any object receives focus.
3068 // <tracker_id>: the id of the focus tracker to remove
3069 static void remove_focus_tracker()(uint tracker_id) {
3070 atk_remove_focus_tracker(tracker_id);
3074 // Removes the specified event listener
3075 // <listener_id>: the id of the event listener to remove
3076 static void remove_global_event_listener()(uint listener_id) {
3077 atk_remove_global_event_listener(listener_id);
3081 // Removes the specified event listener
3082 // <listener_id>: the id of the event listener to remove
3083 static void remove_key_event_listener()(uint listener_id) {
3084 atk_remove_key_event_listener(listener_id);
3088 // Get the #AtkRole type corresponding to a rolew name.
3089 // or #ATK_ROLE_INVALID if no matching role is found.
3090 // RETURNS: the #AtkRole enumerated type corresponding to the specified
3091 // <name>: a string which is the (non-localized) name of an ATK role.
3092 static Role role_for_name()(char* name) {
3093 return atk_role_for_name(name);
3097 // Gets the localized description string describing the #AtkRole @role.
3098 // RETURNS: the localized string describing the AtkRole
3099 // <role>: The #AtkRole whose localized name is required
3100 static char* role_get_localized_name()(Role role) {
3101 return atk_role_get_localized_name(role);
3105 // Gets the description string describing the #AtkRole @role.
3106 // RETURNS: the string describing the AtkRole
3107 // <role>: The #AtkRole whose name is required
3108 static char* role_get_name()(Role role) {
3109 return atk_role_get_name(role);
3113 // Registers the role specified by @name.
3114 // RETURNS: an #AtkRole for the new role.
3115 // <name>: a character string describing the new role.
3116 static Role role_register()(char* name) {
3117 return atk_role_register(name);
3121 // Gets the #AtkStateType corresponding to the description string @name.
3122 // RETURNS: an #AtkStateType corresponding to @name
3123 // <name>: a character string state name
3124 static StateType state_type_for_name()(char* name) {
3125 return atk_state_type_for_name(name);
3129 // Gets the description string describing the #AtkStateType @type.
3130 // RETURNS: the string describing the AtkStateType
3131 // <type>: The #AtkStateType whose name is required
3132 static char* state_type_get_name()(StateType type) {
3133 return atk_state_type_get_name(type);
3137 // Register a new object state.
3138 // RETURNS: an #AtkState value for the new state.
3139 // <name>: a character string describing the new state.
3140 static StateType state_type_register()(char* name) {
3141 return atk_state_type_register(name);
3145 // Get the #AtkTextAttribute type corresponding to a text attribute name.
3146 // or #ATK_TEXT_ATTRIBUTE_INVALID if no matching text attribute is found.
3147 // RETURNS: the #AtkTextAttribute enumerated type corresponding to the specified
3148 // <name>: a string which is the (non-localized) name of an ATK text attribute.
3149 static TextAttribute text_attribute_for_name()(char* name) {
3150 return atk_text_attribute_for_name(name);
3154 // Gets the name corresponding to the #AtkTextAttribute
3155 // RETURNS: a string containing the name; this string should not be freed
3156 // <attr>: The #AtkTextAttribute whose name is required
3157 static char* text_attribute_get_name()(TextAttribute attr) {
3158 return atk_text_attribute_get_name(attr);
3162 // Gets the value for the index of the #AtkTextAttribute
3163 // NULL is returned if there are no values maintained for the attr value.
3164 // RETURNS: a string containing the value; this string should not be freed;
3165 // <attr>: The #AtkTextAttribute for which a value is required
3166 // <index_>: The index of the required value
3167 static char* text_attribute_get_value()(TextAttribute attr, int index_) {
3168 return atk_text_attribute_get_value(attr, index_);
3172 // Associate @name with a new #AtkTextAttribute
3173 // RETURNS: an #AtkTextAttribute associated with @name
3174 // <name>: a name string
3175 static TextAttribute text_attribute_register()(char* name) {
3176 return atk_text_attribute_register(name);
3180 // VERSION: 1.3
3181 // Frees the memory associated with an array of AtkTextRange. It is assumed
3182 // that the array was returned by the function atk_text_get_bounded_ranges
3183 // and is NULL terminated.
3184 // <ranges>: A pointer to an array of #AtkTextRange which is to be freed.
3185 static void text_free_ranges()(TextRange** ranges) {
3186 atk_text_free_ranges(ranges);
3190 // C prototypes:
3192 extern (C) {
3193 int atk_action_do_action(Action* this_, int i);
3194 char* atk_action_get_description(Action* this_, int i);
3195 char* atk_action_get_keybinding(Action* this_, int i);
3196 char* atk_action_get_localized_name(Action* this_, int i);
3197 int atk_action_get_n_actions(Action* this_);
3198 char* atk_action_get_name(Action* this_, int i);
3199 int atk_action_set_description(Action* this_, int i, char* desc);
3200 uint atk_component_add_focus_handler(Component* this_, FocusHandler handler);
3201 int atk_component_contains(Component* this_, int x, int y, CoordType coord_type);
3202 double atk_component_get_alpha(Component* this_);
3203 void atk_component_get_extents(Component* this_, int* x, int* y, int* width, int* height, CoordType coord_type);
3204 Layer atk_component_get_layer(Component* this_);
3205 int atk_component_get_mdi_zorder(Component* this_);
3206 void atk_component_get_position(Component* this_, int* x, int* y, CoordType coord_type);
3207 void atk_component_get_size(Component* this_, int* width, int* height);
3208 int atk_component_grab_focus(Component* this_);
3209 Object* /*new*/ atk_component_ref_accessible_at_point(Component* this_, int x, int y, CoordType coord_type);
3210 void atk_component_remove_focus_handler(Component* this_, uint handler_id);
3211 int atk_component_set_extents(Component* this_, int x, int y, int width, int height, CoordType coord_type);
3212 int atk_component_set_position(Component* this_, int x, int y, CoordType coord_type);
3213 int atk_component_set_size(Component* this_, int width, int height);
3214 char* atk_document_get_attribute_value(Document* this_, char* attribute_name);
3215 AttributeSet* atk_document_get_attributes(Document* this_);
3216 void* atk_document_get_document(Document* this_);
3217 char* atk_document_get_document_type(Document* this_);
3218 char* atk_document_get_locale(Document* this_);
3219 int atk_document_set_attribute_value(Document* this_, char* attribute_name, char* attribute_value);
3220 void atk_editable_text_copy_text(EditableText* this_, int start_pos, int end_pos);
3221 void atk_editable_text_cut_text(EditableText* this_, int start_pos, int end_pos);
3222 void atk_editable_text_delete_text(EditableText* this_, int start_pos, int end_pos);
3223 void atk_editable_text_insert_text(EditableText* this_, char* string_, int length, int* position);
3224 void atk_editable_text_paste_text(EditableText* this_, int position);
3225 int atk_editable_text_set_run_attributes(EditableText* this_, AttributeSet* attrib_set, int start_offset, int end_offset);
3226 void atk_editable_text_set_text_contents(EditableText* this_, char* string_);
3227 Object* atk_gobject_accessible_for_object(GObject2.Object* obj);
3228 GObject2.Object* atk_gobject_accessible_get_object(GObjectAccessible* this_);
3229 int atk_hyperlink_get_end_index(Hyperlink* this_);
3230 int atk_hyperlink_get_n_anchors(Hyperlink* this_);
3231 Object* atk_hyperlink_get_object(Hyperlink* this_, int i);
3232 int atk_hyperlink_get_start_index(Hyperlink* this_);
3233 char* /*new*/ atk_hyperlink_get_uri(Hyperlink* this_, int i);
3234 int atk_hyperlink_is_inline(Hyperlink* this_);
3235 int atk_hyperlink_is_valid(Hyperlink* this_);
3236 Hyperlink* /*new*/ atk_hyperlink_impl_get_hyperlink(HyperlinkImpl* this_);
3237 Hyperlink* atk_hypertext_get_link(Hypertext* this_, int link_index);
3238 int atk_hypertext_get_link_index(Hypertext* this_, int char_index);
3239 int atk_hypertext_get_n_links(Hypertext* this_);
3240 char* atk_image_get_image_description(Image* this_);
3241 char* atk_image_get_image_locale(Image* this_);
3242 void atk_image_get_image_position(Image* this_, int* x, int* y, CoordType coord_type);
3243 void atk_image_get_image_size(Image* this_, int* width, int* height);
3244 int atk_image_set_image_description(Image* this_, char* description);
3245 Object* /*new*/ atk_implementor_ref_accessible(Implementor* this_);
3246 Misc* atk_misc_get_instance();
3247 void atk_misc_threads_enter(Misc* this_);
3248 void atk_misc_threads_leave(Misc* this_);
3249 NoOpObject* /*new*/ atk_no_op_object_new(GObject2.Object* obj);
3250 NoOpObjectFactory* /*new*/ atk_no_op_object_factory_new();
3251 int atk_object_add_relationship(Object* this_, RelationType relationship, Object* target);
3252 uint atk_object_connect_property_change_handler(Object* this_, PropertyChangeHandler* handler);
3253 AttributeSet* atk_object_get_attributes(Object* this_);
3254 char* atk_object_get_description(Object* this_);
3255 int atk_object_get_index_in_parent(Object* this_);
3256 int atk_object_get_n_accessible_children(Object* this_);
3257 char* atk_object_get_name(Object* this_);
3258 Object* atk_object_get_parent(Object* this_);
3259 Role atk_object_get_role(Object* this_);
3260 void atk_object_initialize(Object* this_, void* data);
3261 void atk_object_notify_state_change(Object* this_, State state, int value);
3262 Object* /*new*/ atk_object_ref_accessible_child(Object* this_, int i);
3263 RelationSet* /*new*/ atk_object_ref_relation_set(Object* this_);
3264 StateSet* /*new*/ atk_object_ref_state_set(Object* this_);
3265 void atk_object_remove_property_change_handler(Object* this_, uint handler_id);
3266 int atk_object_remove_relationship(Object* this_, RelationType relationship, Object* target);
3267 void atk_object_set_description(Object* this_, char* description);
3268 void atk_object_set_name(Object* this_, char* name);
3269 void atk_object_set_parent(Object* this_, Object* parent);
3270 void atk_object_set_role(Object* this_, Role role);
3271 Object* /*new*/ atk_object_factory_create_accessible(ObjectFactory* this_, GObject2.Object* obj);
3272 Type atk_object_factory_get_accessible_type(ObjectFactory* this_);
3273 void atk_object_factory_invalidate(ObjectFactory* this_);
3274 Plug* /*new*/ atk_plug_new();
3275 char* /*new*/ atk_plug_get_id(Plug* this_);
3276 ObjectFactory* atk_registry_get_factory(Registry* this_, Type type);
3277 Type atk_registry_get_factory_type(Registry* this_, Type type);
3278 void atk_registry_set_factory_type(Registry* this_, Type type, Type factory_type);
3279 Relation* /*new*/ atk_relation_new(Object** targets, int n_targets, RelationType relationship);
3280 void atk_relation_add_target(Relation* this_, Object* target);
3281 RelationType atk_relation_get_relation_type(Relation* this_);
3282 PtrArray* atk_relation_get_target(Relation* this_);
3283 int atk_relation_remove_target(Relation* this_, Object* target);
3284 RelationSet* /*new*/ atk_relation_set_new();
3285 void atk_relation_set_add(RelationSet* this_, Relation* relation);
3286 void atk_relation_set_add_relation_by_type(RelationSet* this_, RelationType relationship, Object* target);
3287 int atk_relation_set_contains(RelationSet* this_, RelationType relationship);
3288 int atk_relation_set_get_n_relations(RelationSet* this_);
3289 Relation* atk_relation_set_get_relation(RelationSet* this_, int i);
3290 Relation* atk_relation_set_get_relation_by_type(RelationSet* this_, RelationType relationship);
3291 void atk_relation_set_remove(RelationSet* this_, Relation* relation);
3292 int atk_selection_add_selection(Selection* this_, int i);
3293 int atk_selection_clear_selection(Selection* this_);
3294 int atk_selection_get_selection_count(Selection* this_);
3295 int atk_selection_is_child_selected(Selection* this_, int i);
3296 Object* /*new*/ atk_selection_ref_selection(Selection* this_, int i);
3297 int atk_selection_remove_selection(Selection* this_, int i);
3298 int atk_selection_select_all_selection(Selection* this_);
3299 Socket* /*new*/ atk_socket_new();
3300 void atk_socket_embed(Socket* this_, char* plug_id);
3301 int atk_socket_is_occupied(Socket* this_);
3302 StateSet* /*new*/ atk_state_set_new();
3303 int atk_state_set_add_state(StateSet* this_, StateType type);
3304 void atk_state_set_add_states(StateSet* this_, StateType* types, int n_types);
3305 StateSet* /*new*/ atk_state_set_and_sets(StateSet* this_, StateSet* compare_set);
3306 void atk_state_set_clear_states(StateSet* this_);
3307 int atk_state_set_contains_state(StateSet* this_, StateType type);
3308 int atk_state_set_contains_states(StateSet* this_, StateType* types, int n_types);
3309 int atk_state_set_is_empty(StateSet* this_);
3310 StateSet* /*new*/ atk_state_set_or_sets(StateSet* this_, StateSet* compare_set);
3311 int atk_state_set_remove_state(StateSet* this_, StateType type);
3312 StateSet* /*new*/ atk_state_set_xor_sets(StateSet* this_, StateSet* compare_set);
3313 char* atk_streamable_content_get_mime_type(StreamableContent* this_, int i);
3314 int atk_streamable_content_get_n_mime_types(StreamableContent* this_);
3315 GLib2.IOChannel* /*new*/ atk_streamable_content_get_stream(StreamableContent* this_, char* mime_type);
3316 char* atk_streamable_content_get_uri(StreamableContent* this_, char* mime_type);
3317 int atk_table_add_column_selection(Table* this_, int column);
3318 int atk_table_add_row_selection(Table* this_, int row);
3319 Object* atk_table_get_caption(Table* this_);
3320 int atk_table_get_column_at_index(Table* this_, int index_);
3321 char* atk_table_get_column_description(Table* this_, int column);
3322 int atk_table_get_column_extent_at(Table* this_, int row, int column);
3323 Object* atk_table_get_column_header(Table* this_, int column);
3324 int atk_table_get_index_at(Table* this_, int row, int column);
3325 int atk_table_get_n_columns(Table* this_);
3326 int atk_table_get_n_rows(Table* this_);
3327 int atk_table_get_row_at_index(Table* this_, int index_);
3328 char* atk_table_get_row_description(Table* this_, int row);
3329 int atk_table_get_row_extent_at(Table* this_, int row, int column);
3330 Object* atk_table_get_row_header(Table* this_, int row);
3331 int atk_table_get_selected_columns(Table* this_, int** selected);
3332 int atk_table_get_selected_rows(Table* this_, int** selected);
3333 Object* /*new*/ atk_table_get_summary(Table* this_);
3334 int atk_table_is_column_selected(Table* this_, int column);
3335 int atk_table_is_row_selected(Table* this_, int row);
3336 int atk_table_is_selected(Table* this_, int row, int column);
3337 Object* /*new*/ atk_table_ref_at(Table* this_, int row, int column);
3338 int atk_table_remove_column_selection(Table* this_, int column);
3339 int atk_table_remove_row_selection(Table* this_, int row);
3340 void atk_table_set_caption(Table* this_, Object* caption);
3341 void atk_table_set_column_description(Table* this_, int column, char* description);
3342 void atk_table_set_column_header(Table* this_, int column, Object* header);
3343 void atk_table_set_row_description(Table* this_, int row, char* description);
3344 void atk_table_set_row_header(Table* this_, int row, Object* header);
3345 void atk_table_set_summary(Table* this_, Object* accessible);
3346 int atk_text_add_selection(Text* this_, int start_offset, int end_offset);
3347 TextRange** /*new*/ atk_text_get_bounded_ranges(Text* this_, TextRectangle* rect, CoordType coord_type, TextClipType x_clip_type, TextClipType y_clip_type);
3348 int atk_text_get_caret_offset(Text* this_);
3349 dchar atk_text_get_character_at_offset(Text* this_, int offset);
3350 int atk_text_get_character_count(Text* this_);
3351 void atk_text_get_character_extents(Text* this_, int offset, int* x, int* y, int* width, int* height, CoordType coords);
3352 AttributeSet* /*new*/ atk_text_get_default_attributes(Text* this_);
3353 int atk_text_get_n_selections(Text* this_);
3354 int atk_text_get_offset_at_point(Text* this_, int x, int y, CoordType coords);
3355 void atk_text_get_range_extents(Text* this_, int start_offset, int end_offset, CoordType coord_type, TextRectangle* rect);
3356 AttributeSet* /*new*/ atk_text_get_run_attributes(Text* this_, int offset, int* start_offset, int* end_offset);
3357 char* /*new*/ atk_text_get_selection(Text* this_, int selection_num, int* start_offset, int* end_offset);
3358 char* /*new*/ atk_text_get_text(Text* this_, int start_offset, int end_offset);
3359 char* /*new*/ atk_text_get_text_after_offset(Text* this_, int offset, TextBoundary boundary_type, int* start_offset, int* end_offset);
3360 char* /*new*/ atk_text_get_text_at_offset(Text* this_, int offset, TextBoundary boundary_type, int* start_offset, int* end_offset);
3361 char* /*new*/ atk_text_get_text_before_offset(Text* this_, int offset, TextBoundary boundary_type, int* start_offset, int* end_offset);
3362 int atk_text_remove_selection(Text* this_, int selection_num);
3363 int atk_text_set_caret_offset(Text* this_, int offset);
3364 int atk_text_set_selection(Text* this_, int selection_num, int start_offset, int end_offset);
3365 void atk_value_get_current_value(Value* this_, GObject2.Value* value);
3366 void atk_value_get_maximum_value(Value* this_, GObject2.Value* value);
3367 void atk_value_get_minimum_increment(Value* this_, GObject2.Value* value);
3368 void atk_value_get_minimum_value(Value* this_, GObject2.Value* value);
3369 int atk_value_set_current_value(Value* this_, GObject2.Value* value);
3370 uint atk_add_focus_tracker(EventListener focus_tracker);
3371 uint atk_add_global_event_listener(GObject2.SignalEmissionHook listener, char* event_type);
3372 uint atk_add_key_event_listener(KeySnoopFunc listener, void* data);
3373 void atk_attribute_set_free(AttributeSet* attrib_set);
3374 void atk_focus_tracker_init(EventListenerInit init);
3375 void atk_focus_tracker_notify(Object* object);
3376 Registry* /*new*/ atk_get_default_registry();
3377 Object* atk_get_focus_object();
3378 Object* atk_get_root();
3379 char* atk_get_toolkit_name();
3380 char* atk_get_toolkit_version();
3381 char* atk_get_version();
3382 RelationType atk_relation_type_for_name(char* name);
3383 char* atk_relation_type_get_name(RelationType type);
3384 RelationType atk_relation_type_register(char* name);
3385 void atk_remove_focus_tracker(uint tracker_id);
3386 void atk_remove_global_event_listener(uint listener_id);
3387 void atk_remove_key_event_listener(uint listener_id);
3388 Role atk_role_for_name(char* name);
3389 char* atk_role_get_localized_name(Role role);
3390 char* atk_role_get_name(Role role);
3391 Role atk_role_register(char* name);
3392 StateType atk_state_type_for_name(char* name);
3393 char* atk_state_type_get_name(StateType type);
3394 StateType atk_state_type_register(char* name);
3395 TextAttribute atk_text_attribute_for_name(char* name);
3396 char* atk_text_attribute_get_name(TextAttribute attr);
3397 char* atk_text_attribute_get_value(TextAttribute attr, int index_);
3398 TextAttribute atk_text_attribute_register(char* name);
3399 void atk_text_free_ranges(TextRange** ranges);