Regenerate; adds 'nothrow' and pseudo-constructors.
[girtod.git] / gtk2 / atk.d
blob1a4666dbdc2ee404b16f5d6405430f093bd11324
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) nothrow {
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) nothrow {
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) nothrow {
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) nothrow {
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()() nothrow {
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) nothrow {
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) nothrow {
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) nothrow do_action;
111 // RETURNS: a the number of actions, or 0 if @action does not
112 extern (C) int function (Action* action) nothrow get_n_actions;
113 // <i>: the action index corresponding to the action to be performed
114 extern (C) char* function (Action* action, int i) nothrow get_description;
115 // <i>: the action index corresponding to the action to be performed
116 extern (C) char* function (Action* action, int i) nothrow get_name;
117 // <i>: the action index corresponding to the action to be performed
118 extern (C) char* function (Action* action, int i) nothrow 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) nothrow set_description;
124 // <i>: the action index corresponding to the action to be performed
125 extern (C) char* function (Action* action, int i) nothrow 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) nothrow {
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) nothrow {
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()() nothrow {
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) nothrow {
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()() nothrow {
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()() nothrow {
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) nothrow {
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) nothrow {
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()() nothrow {
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) nothrow {
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) nothrow {
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) nothrow {
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) nothrow {
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) nothrow {
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) nothrow 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)
264 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
265 if (is(typeof(cb)==signal_bounds_changed)||_ttmm!(CB, signal_bounds_changed)()) {
266 return signal_connect_data!()(&this, cast(char*)"bounds-changed",
267 cast(GObject2.Callback)cb, data, null, cf);
270 mixin __interface__;
273 struct ComponentIface {
274 GObject2.TypeInterface parent;
276 // Unintrospectable functionp: add_focus_handler() / ()
278 // RETURNS: a handler id which can be used in atk_component_remove_focus_handler
279 // <handler>: The #AtkFocusHandler to be attached to @component
280 extern (C) uint function (Component* component, FocusHandler handler) nothrow add_focus_handler;
282 // RETURNS: %TRUE or %FALSE indicating whether the specified point is within
283 // <x>: x coordinate
284 // <y>: y coordinate
285 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
286 extern (C) int function (Component* component, int x, int y, CoordType coord_type) nothrow contains;
288 // RETURNS: a reference to the accessible child, if one exists
289 // <x>: x coordinate
290 // <y>: y coordinate
291 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
292 extern (C) Object* /*new*/ function (Component* component, int x, int y, CoordType coord_type) nothrow ref_accessible_at_point;
294 // <x>: address of #gint to put x coordinate
295 // <y>: address of #gint to put y coordinate
296 // <width>: address of #gint to put width
297 // <height>: address of #gint to put height
298 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
299 extern (C) void function (Component* component, int* x, int* y, int* width, int* height, CoordType coord_type) nothrow get_extents;
301 // <x>: address of #gint to put x coordinate position
302 // <y>: address of #gint to put y coordinate position
303 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
304 extern (C) void function (Component* component, int* x, int* y, CoordType coord_type) nothrow get_position;
306 // <width>: address of #gint to put width of @component
307 // <height>: address of #gint to put height of @component
308 extern (C) void function (Component* component, int* width, int* height) nothrow get_size;
309 // RETURNS: %TRUE if successful, %FALSE otherwise.
310 extern (C) int function (Component* component) nothrow grab_focus;
311 // <handler_id>: the handler id of the focus handler to be removed from @component
312 extern (C) void function (Component* component, uint handler_id) nothrow remove_focus_handler;
314 // RETURNS: %TRUE or %FALSE whether the extents were set or not
315 // <x>: x coordinate
316 // <y>: y coordinate
317 // <width>: width to set for @component
318 // <height>: height to set for @component
319 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
320 extern (C) int function (Component* component, int x, int y, int width, int height, CoordType coord_type) nothrow set_extents;
322 // RETURNS: %TRUE or %FALSE whether or not the position was set or not
323 // <x>: x coordinate
324 // <y>: y coordinate
325 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
326 extern (C) int function (Component* component, int x, int y, CoordType coord_type) nothrow set_position;
328 // RETURNS: %TRUE or %FALSE whether the size was set or not
329 // <width>: width to set for @component
330 // <height>: height to set for @component
331 extern (C) int function (Component* component, int width, int height) nothrow set_size;
332 // RETURNS: an #AtkLayer which is the layer of the component
333 extern (C) Layer function (Component* component) nothrow get_layer;
334 // RETURNS: a gint which is the zorder of the component, i.e. the depth at
335 extern (C) int function (Component* component) nothrow get_mdi_zorder;
336 extern (C) void function (Component* component, Rectangle* bounds) nothrow bounds_changed;
337 // RETURNS: An alpha value from 0 to 1.0, inclusive.
338 extern (C) double function (Component* component) nothrow get_alpha;
341 enum CoordType {
342 SCREEN = 0,
343 WINDOW = 1
345 struct Document /* Interface */ {
346 mixin template __interface__() {
347 // VERSION: 1.12
348 // document, or NULL if a value for #attribute_name has not been specified
349 // for this document.
350 // RETURNS: a string value associated with the named attribute for this
351 // <attribute_name>: a character string representing the name of the attribute whose value is being queried.
352 char* get_attribute_value()(char* attribute_name) nothrow {
353 return atk_document_get_attribute_value(cast(Document*)&this, attribute_name);
356 // VERSION: 1.12
357 // Gets an AtkAttributeSet which describes document-wide
358 // attributes as name-value pairs.
359 // set name-value-pair attributes associated with this document
360 // as a whole.
361 // RETURNS: An AtkAttributeSet containing the explicitly
362 AttributeSet* get_attributes()() nothrow {
363 return atk_document_get_attributes(cast(Document*)&this);
366 // Gets a %gpointer that points to an instance of the DOM. It is
367 // up to the caller to check atk_document_get_type to determine
368 // how to cast this pointer.
369 // RETURNS: a %gpointer that points to an instance of the DOM.
370 void* get_document()() nothrow {
371 return atk_document_get_document(cast(Document*)&this);
374 // Gets a string indicating the document type.
375 // RETURNS: a string indicating the document type
376 char* get_document_type()() nothrow {
377 return atk_document_get_document_type(cast(Document*)&this);
380 // Gets a UTF-8 string indicating the POSIX-style LC_MESSAGES locale
381 // of the content of this document instance. Individual
382 // text substrings or images within this document may have
383 // a different locale, see atk_text_get_attributes and
384 // atk_image_get_image_locale.
385 // locale of the document content as a whole, or NULL if
386 // the document content does not specify a locale.
387 // RETURNS: a UTF-8 string indicating the POSIX-style LC_MESSAGES
388 char* get_locale()() nothrow {
389 return atk_document_get_locale(cast(Document*)&this);
392 // VERSION: 1.12
393 // for this document, FALSE otherwise (e.g. if the document does not
394 // allow the attribute to be modified).
395 // RETURNS: TRUE if #value is successfully associated with #attribute_name
396 // <attribute_name>: a character string representing the name of the attribute whose value is being set.
397 // <attribute_value>: a string value to be associated with #attribute_name.
398 int set_attribute_value()(char* attribute_name, char* attribute_value) nothrow {
399 return atk_document_set_attribute_value(cast(Document*)&this, attribute_name, attribute_value);
401 extern (C) alias static void function (Document* this_, void* user_data=null) nothrow signal_load_complete;
403 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
404 return super_.signal_connect!name(cb, data, cf);
407 ulong signal_connect(string name:"load-complete", CB:signal_load_complete)
408 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
409 if (is(typeof(cb)==signal_load_complete)||_ttmm!(CB, signal_load_complete)()) {
410 return signal_connect_data!()(&this, cast(char*)"load-complete",
411 cast(GObject2.Callback)cb, data, null, cf);
413 extern (C) alias static void function (Document* this_, void* user_data=null) nothrow signal_load_stopped;
414 ulong signal_connect(string name:"load-stopped", CB:signal_load_stopped)
415 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
416 if (is(typeof(cb)==signal_load_stopped)||_ttmm!(CB, signal_load_stopped)()) {
417 return signal_connect_data!()(&this, cast(char*)"load-stopped",
418 cast(GObject2.Callback)cb, data, null, cf);
420 extern (C) alias static void function (Document* this_, void* user_data=null) nothrow signal_reload;
421 ulong signal_connect(string name:"reload", CB:signal_reload)
422 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
423 if (is(typeof(cb)==signal_reload)||_ttmm!(CB, signal_reload)()) {
424 return signal_connect_data!()(&this, cast(char*)"reload",
425 cast(GObject2.Callback)cb, data, null, cf);
428 mixin __interface__;
431 struct DocumentIface {
432 GObject2.TypeInterface parent;
433 // RETURNS: a string indicating the document type
434 extern (C) char* function (Document* document) nothrow get_document_type;
435 // RETURNS: a %gpointer that points to an instance of the DOM.
436 extern (C) void* function (Document* document) nothrow get_document;
437 extern (C) char* function (Document* document) nothrow get_document_locale;
438 // Unintrospectable functionp: get_document_attributes() / ()
439 extern (C) AttributeSet* function (Document* document) nothrow get_document_attributes;
440 extern (C) char* function (Document* document, char* attribute_name) nothrow get_document_attribute_value;
441 extern (C) int function (Document* document, char* attribute_name, char* attribute_value) nothrow set_document_attribute;
442 Function pad1, pad2, pad3, pad4;
445 struct EditableText /* Interface */ {
446 mixin template __interface__() {
447 // Copy text from @start_pos up to, but not including @end_pos
448 // to the clipboard.
449 // <start_pos>: start position
450 // <end_pos>: end position
451 void copy_text()(int start_pos, int end_pos) nothrow {
452 atk_editable_text_copy_text(cast(EditableText*)&this, start_pos, end_pos);
455 // Copy text from @start_pos up to, but not including @end_pos
456 // to the clipboard and then delete from the widget.
457 // <start_pos>: start position
458 // <end_pos>: end position
459 void cut_text()(int start_pos, int end_pos) nothrow {
460 atk_editable_text_cut_text(cast(EditableText*)&this, start_pos, end_pos);
463 // Delete text @start_pos up to, but not including @end_pos.
464 // <start_pos>: start position
465 // <end_pos>: end position
466 void delete_text()(int start_pos, int end_pos) nothrow {
467 atk_editable_text_delete_text(cast(EditableText*)&this, start_pos, end_pos);
470 // Insert text at a given position.
471 // <string>: the text to insert
472 // <length>: the length of text to insert, in bytes
473 // <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.
474 void insert_text()(char* string_, int length, int* position) nothrow {
475 atk_editable_text_insert_text(cast(EditableText*)&this, string_, length, position);
478 // Paste text from clipboard to specified @position.
479 // <position>: position to paste
480 void paste_text()(int position) nothrow {
481 atk_editable_text_paste_text(cast(EditableText*)&this, position);
483 int set_run_attributes()(AttributeSet* attrib_set, int start_offset, int end_offset) nothrow {
484 return atk_editable_text_set_run_attributes(cast(EditableText*)&this, attrib_set, start_offset, end_offset);
487 // Set text contents of @text.
488 // <string>: string to set for text contents of @text
489 void set_text_contents()(char* string_) nothrow {
490 atk_editable_text_set_text_contents(cast(EditableText*)&this, string_);
493 mixin __interface__;
496 struct EditableTextIface {
497 GObject2.TypeInterface parent_interface;
498 extern (C) int function (EditableText* text, AttributeSet* attrib_set, int start_offset, int end_offset) nothrow set_run_attributes;
499 // <string>: string to set for text contents of @text
500 extern (C) void function (EditableText* text, char* string_) nothrow set_text_contents;
502 // <string>: the text to insert
503 // <length>: the length of text to insert, in bytes
504 // <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.
505 extern (C) void function (EditableText* text, char* string_, int length, int* position) nothrow insert_text;
507 // <start_pos>: start position
508 // <end_pos>: end position
509 extern (C) void function (EditableText* text, int start_pos, int end_pos) nothrow copy_text;
511 // <start_pos>: start position
512 // <end_pos>: end position
513 extern (C) void function (EditableText* text, int start_pos, int end_pos) nothrow cut_text;
515 // <start_pos>: start position
516 // <end_pos>: end position
517 extern (C) void function (EditableText* text, int start_pos, int end_pos) nothrow delete_text;
518 // <position>: position to paste
519 extern (C) void function (EditableText* text, int position) nothrow paste_text;
520 Function pad1, pad2;
524 // A function which is called when an object emits a matching event,
525 // as used in #atk_add_focus_tracker.
526 // Currently the only events for which object-specific handlers are
527 // supported are events of type "focus:". Most clients of ATK will prefer to
528 // attach signal handlers for the various ATK signals instead.
529 // see atk_add_focus_tracker.
530 // <obj>: An #AtkObject instance for whom the callback will be called when the specified event (e.g. 'focus:') takes place.
531 extern (C) alias void function (Object* obj) nothrow EventListener;
534 // An #AtkEventListenerInit function is a special function that is
535 // called in order to initialize the per-object event registration system
536 // used by #AtkEventListener, if any preparation is required.
537 // see atk_focus_tracker_init.
538 extern (C) alias void function () nothrow EventListenerInit;
540 extern (C) alias void function (Object* arg_a, int arg_b) nothrow FocusHandler;
542 extern (C) alias int function (void* data) nothrow Function;
544 struct GObjectAccessible /* : Object */ {
545 alias parent this;
546 alias parent super_;
547 alias parent object;
548 Object parent;
551 // Gets the accessible object for the specified @obj.
552 // the @obj
553 // RETURNS: a #AtkObject which is the accessible object for
554 // <obj>: a #GObject
555 static Object* for_object()(GObject2.Object* obj) nothrow {
556 return atk_gobject_accessible_for_object(obj);
559 // Gets the GObject for which @obj is the accessible object.
560 // the accessible object
561 // RETURNS: a #GObject which is the object for which @obj is
562 GObject2.Object* get_object()() nothrow {
563 return atk_gobject_accessible_get_object(&this);
567 struct GObjectAccessibleClass {
568 ObjectClass parent_class;
569 Function pad1, pad2;
572 struct Hyperlink /* : GObject.Object */ {
573 mixin Action.__interface__;
574 alias parent this;
575 alias parent super_;
576 alias parent object;
577 GObject2.Object parent;
580 // Gets the index with the hypertext document at which this link ends.
581 // RETURNS: the index with the hypertext document at which this link ends
582 int get_end_index()() nothrow {
583 return atk_hyperlink_get_end_index(&this);
586 // Gets the number of anchors associated with this hyperlink.
587 // RETURNS: the number of anchors associated with this hyperlink
588 int get_n_anchors()() nothrow {
589 return atk_hyperlink_get_n_anchors(&this);
592 // Returns the item associated with this hyperlinks nth anchor.
593 // For instance, the returned #AtkObject will implement #AtkText
594 // if @link_ is a text hyperlink, #AtkImage if @link_ is an image
595 // hyperlink etc.
596 // Multiple anchors are primarily used by client-side image maps.
597 // i-th anchor
598 // RETURNS: an #AtkObject associated with this hyperlinks
599 // <i>: a (zero-index) integer specifying the desired anchor
600 Object* get_object()(int i) nothrow {
601 return atk_hyperlink_get_object(&this, i);
604 // Gets the index with the hypertext document at which this link begins.
605 // RETURNS: the index with the hypertext document at which this link begins
606 int get_start_index()() nothrow {
607 return atk_hyperlink_get_start_index(&this);
610 // Get a the URI associated with the anchor specified
611 // by @i of @link_.
612 // Multiple anchors are primarily used by client-side image maps.
613 // RETURNS: a string specifying the URI
614 // <i>: a (zero-index) integer specifying the desired anchor
615 char* /*new*/ get_uri()(int i) nothrow {
616 return atk_hyperlink_get_uri(&this, i);
619 // Indicates whether the link currently displays some or all of its
620 // content inline. Ordinary HTML links will usually return
621 // %FALSE, but an inline &lt;src&gt; HTML element will return
622 // %TRUE.
623 // RETURNS: whether or not this link displays its content inline.
624 int is_inline()() nothrow {
625 return atk_hyperlink_is_inline(&this);
628 // Since the document that a link is associated with may have changed
629 // this method returns %TRUE if the link is still valid (with
630 // respect to the document it references) and %FALSE otherwise.
631 // RETURNS: whether or not this link is still valid
632 int is_valid()() nothrow {
633 return atk_hyperlink_is_valid(&this);
635 extern (C) alias static void function (Hyperlink* this_, void* user_data=null) nothrow signal_link_activated;
637 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
638 return super_.signal_connect!name(cb, data, cf);
641 ulong signal_connect(string name:"link-activated", CB:signal_link_activated)
642 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
643 if (is(typeof(cb)==signal_link_activated)||_ttmm!(CB, signal_link_activated)()) {
644 return signal_connect_data!()(&this, cast(char*)"link-activated",
645 cast(GObject2.Callback)cb, data, null, cf);
649 struct HyperlinkClass {
650 GObject2.ObjectClass parent;
652 // RETURNS: a string specifying the URI
653 // <i>: a (zero-index) integer specifying the desired anchor
654 extern (C) char* /*new*/ function (Hyperlink* link_, int i) nothrow get_uri;
656 // RETURNS: an #AtkObject associated with this hyperlinks
657 // <i>: a (zero-index) integer specifying the desired anchor
658 extern (C) Object* function (Hyperlink* link_, int i) nothrow get_object;
659 // RETURNS: the index with the hypertext document at which this link ends
660 extern (C) int function (Hyperlink* link_) nothrow get_end_index;
661 // RETURNS: the index with the hypertext document at which this link begins
662 extern (C) int function (Hyperlink* link_) nothrow get_start_index;
663 // RETURNS: whether or not this link is still valid
664 extern (C) int function (Hyperlink* link_) nothrow is_valid;
665 // RETURNS: the number of anchors associated with this hyperlink
666 extern (C) int function (Hyperlink* link_) nothrow get_n_anchors;
667 extern (C) uint function (Hyperlink* link_) nothrow link_state;
668 extern (C) int function (Hyperlink* link_) nothrow is_selected_link;
669 extern (C) void function (Hyperlink* link_) nothrow link_activated;
670 Function pad1;
673 struct HyperlinkImpl /* Interface */ {
674 mixin template __interface__() {
675 // VERSION: 1.12
676 // Gets the hyperlink associated with this object.
677 // implementing AtkObject.
678 // RETURNS: an AtkHyperlink object which points to this
679 Hyperlink* /*new*/ get_hyperlink()() nothrow {
680 return atk_hyperlink_impl_get_hyperlink(cast(HyperlinkImpl*)&this);
683 mixin __interface__;
686 struct HyperlinkImplIface {
687 GObject2.TypeInterface parent;
688 // RETURNS: an AtkHyperlink object which points to this
689 extern (C) Hyperlink* /*new*/ function (HyperlinkImpl* impl) nothrow get_hyperlink;
690 Function pad1;
693 enum HyperlinkStateFlags {
694 INLINE = 1
696 struct Hypertext /* Interface */ {
697 mixin template __interface__() {
698 // Gets the link in this hypertext document at index
699 // index @link_index
700 // RETURNS: the link in this hypertext document at
701 // <link_index>: an integer specifying the desired link
702 Hyperlink* get_link()(int link_index) nothrow {
703 return atk_hypertext_get_link(cast(Hypertext*)&this, link_index);
706 // Gets the index into the array of hyperlinks that is associated with
707 // the character specified by @char_index.
708 // or -1 if there is no hyperlink associated with this character.
709 // RETURNS: an index into the array of hyperlinks in @hypertext,
710 // <char_index>: a character index
711 int get_link_index()(int char_index) nothrow {
712 return atk_hypertext_get_link_index(cast(Hypertext*)&this, char_index);
715 // Gets the number of links within this hypertext document.
716 // RETURNS: the number of links within this hypertext document
717 int get_n_links()() nothrow {
718 return atk_hypertext_get_n_links(cast(Hypertext*)&this);
720 extern (C) alias static void function (Hypertext* this_, int object, void* user_data=null) nothrow signal_link_selected;
722 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
723 return super_.signal_connect!name(cb, data, cf);
726 ulong signal_connect(string name:"link-selected", CB:signal_link_selected)
727 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
728 if (is(typeof(cb)==signal_link_selected)||_ttmm!(CB, signal_link_selected)()) {
729 return signal_connect_data!()(&this, cast(char*)"link-selected",
730 cast(GObject2.Callback)cb, data, null, cf);
733 mixin __interface__;
736 struct HypertextIface {
737 GObject2.TypeInterface parent;
739 // RETURNS: the link in this hypertext document at
740 // <link_index>: an integer specifying the desired link
741 extern (C) Hyperlink* function (Hypertext* hypertext, int link_index) nothrow get_link;
742 // RETURNS: the number of links within this hypertext document
743 extern (C) int function (Hypertext* hypertext) nothrow get_n_links;
745 // RETURNS: an index into the array of hyperlinks in @hypertext,
746 // <char_index>: a character index
747 extern (C) int function (Hypertext* hypertext, int char_index) nothrow get_link_index;
748 extern (C) void function (Hypertext* hypertext, int link_index) nothrow link_selected;
749 Function pad1, pad2, pad3;
752 struct Image /* Interface */ {
753 mixin template __interface__() {
754 // Get a textual description of this image.
755 // RETURNS: a string representing the image description
756 char* get_image_description()() nothrow {
757 return atk_image_get_image_description(cast(Image*)&this);
760 // Since ATK 1.12
761 // 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.
762 char* get_image_locale()() nothrow {
763 return atk_image_get_image_locale(cast(Image*)&this);
766 // Gets the position of the image in the form of a point specifying the
767 // images top-left corner.
768 // <x>: address of #gint to put x coordinate position; otherwise, -1 if value cannot be obtained.
769 // <y>: address of #gint to put y coordinate position; otherwise, -1 if value cannot be obtained.
770 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
771 void get_image_position()(int* x, int* y, CoordType coord_type) nothrow {
772 atk_image_get_image_position(cast(Image*)&this, x, y, coord_type);
775 // Get the width and height in pixels for the specified image.
776 // The values of @width and @height are returned as -1 if the
777 // values cannot be obtained (for instance, if the object is not onscreen).
778 // <width>: filled with the image width, or -1 if the value cannot be obtained.
779 // <height>: filled with the image height, or -1 if the value cannot be obtained.
780 void get_image_size()(int* width, int* height) nothrow {
781 atk_image_get_image_size(cast(Image*)&this, width, height);
784 // Sets the textual description for this image.
785 // not be completed.
786 // RETURNS: boolean TRUE, or FALSE if operation could
787 // <description>: a string description to set for @image
788 int set_image_description()(char* description) nothrow {
789 return atk_image_set_image_description(cast(Image*)&this, description);
792 mixin __interface__;
795 struct ImageIface {
796 GObject2.TypeInterface parent;
798 // <x>: address of #gint to put x coordinate position; otherwise, -1 if value cannot be obtained.
799 // <y>: address of #gint to put y coordinate position; otherwise, -1 if value cannot be obtained.
800 // <coord_type>: specifies whether the coordinates are relative to the screen or to the components top level window
801 extern (C) void function (Image* image, int* x, int* y, CoordType coord_type) nothrow get_image_position;
802 // RETURNS: a string representing the image description
803 extern (C) char* function (Image* image) nothrow get_image_description;
805 // <width>: filled with the image width, or -1 if the value cannot be obtained.
806 // <height>: filled with the image height, or -1 if the value cannot be obtained.
807 extern (C) void function (Image* image, int* width, int* height) nothrow get_image_size;
809 // RETURNS: boolean TRUE, or FALSE if operation could
810 // <description>: a string description to set for @image
811 extern (C) int function (Image* image, char* description) nothrow set_image_description;
812 extern (C) char* function (Image* image) nothrow get_image_locale;
813 Function pad1;
816 struct Implementor {
818 // Gets a reference to an object's #AtkObject implementation, if
819 // the object implements #AtkObjectIface
820 // implementation
821 // RETURNS: a reference to an object's #AtkObject
822 Object* /*new*/ ref_accessible()() nothrow {
823 return atk_implementor_ref_accessible(&this);
827 struct ImplementorIface /* Interface */ {
828 mixin template __interface__() { }
829 mixin __interface__;
832 // Encapsulates information about a key event.
833 struct KeyEventStruct {
834 int type;
835 uint state, keyval;
836 int length;
837 char* string_;
838 ushort keycode;
839 uint timestamp;
842 enum KeyEventType {
843 PRESS = 0,
844 RELEASE = 1,
845 LAST_DEFINED = 2
848 // An #AtkKeySnoopFunc is a type of callback which is called whenever a key event occurs,
849 // if registered via atk_add_key_event_listener. It allows for pre-emptive
850 // interception of key events via the return code as described below.
851 // discarded without being passed to the normal GUI recipient; FALSE (zero) if the
852 // event dispatch to the client application should proceed as normal.
853 // see atk_add_key_event_listener.
854 // RETURNS: TRUE (nonzero) if the event emission should be stopped and the event
855 // <event>: an AtkKeyEventStruct containing information about the key event for which notification is being given.
856 // <func_data>: a block of data which will be passed to the event listener, on notification.
857 extern (C) alias int function (KeyEventStruct* event, void* func_data) nothrow KeySnoopFunc;
859 enum Layer {
860 INVALID = 0,
861 BACKGROUND = 1,
862 CANVAS = 2,
863 WIDGET = 3,
864 MDI = 4,
865 POPUP = 5,
866 OVERLAY = 6,
867 WINDOW = 7
869 struct Misc /* : GObject.Object */ {
870 alias parent this;
871 alias parent super_;
872 alias parent object;
873 GObject2.Object parent;
876 // VERSION: 1.13
877 // Obtain the singleton instance of AtkMisc for this application.
878 // RETURNS: The singleton instance of AtkMisc for this application.
879 static Misc* get_instance()() nothrow {
880 return atk_misc_get_instance();
883 // VERSION: 1.13
884 // Take the thread mutex for the GUI toolkit,
885 // if one exists.
886 // (This method is implemented by the toolkit ATK implementation layer;
887 // for instance, for GTK+, GAIL implements this via GDK_THREADS_ENTER).
888 void threads_enter()() nothrow {
889 atk_misc_threads_enter(&this);
892 // VERSION: 1.13
893 // Release the thread mutex for the GUI toolkit,
894 // if one exists. This method, and atk_misc_threads_enter,
895 // are needed in some situations by threaded application code which
896 // services ATK requests, since fulfilling ATK requests often
897 // requires calling into the GUI toolkit. If a long-running or
898 // potentially blocking call takes place inside such a block, it should
899 // be bracketed by atk_misc_threads_leave/atk_misc_threads_enter calls.
900 // (This method is implemented by the toolkit ATK implementation layer;
901 // for instance, for GTK+, GAIL implements this via GDK_THREADS_LEAVE).
902 void threads_leave()() nothrow {
903 atk_misc_threads_leave(&this);
907 struct MiscClass {
908 GObject2.ObjectClass parent;
909 extern (C) void function (Misc* misc) nothrow threads_enter;
910 extern (C) void function (Misc* misc) nothrow threads_leave;
911 void*[32] vfuncs;
914 struct NoOpObject /* : Object */ {
915 mixin Action.__interface__;
916 mixin Component.__interface__;
917 mixin Document.__interface__;
918 mixin EditableText.__interface__;
919 mixin Hypertext.__interface__;
920 mixin Image.__interface__;
921 mixin Selection.__interface__;
922 mixin Table.__interface__;
923 mixin Text.__interface__;
924 mixin Value.__interface__;
925 mixin Window.__interface__;
926 alias parent this;
927 alias parent super_;
928 alias parent object;
929 Object parent;
932 // Provides a default (non-functioning stub) #AtkObject.
933 // Application maintainers should not use this method.
934 // RETURNS: a default (non-functioning stub) #AtkObject
935 // <obj>: a #GObject
936 static NoOpObject* /*new*/ new_()(GObject2.Object* obj) nothrow {
937 return atk_no_op_object_new(obj);
939 alias new_!() opCall;
942 struct NoOpObjectClass {
943 ObjectClass parent_class;
946 struct NoOpObjectFactory /* : ObjectFactory */ {
947 alias parent this;
948 alias parent super_;
949 alias parent objectfactory;
950 ObjectFactory parent;
953 // Creates an instance of an #AtkObjectFactory which generates primitive
954 // (non-functioning) #AtkObjects.
955 // RETURNS: an instance of an #AtkObjectFactory
956 static NoOpObjectFactory* /*new*/ new_()() nothrow {
957 return atk_no_op_object_factory_new();
959 alias new_!() opCall;
962 struct NoOpObjectFactoryClass {
963 ObjectFactoryClass parent_class;
966 struct Object /* : GObject.Object */ {
967 alias parent this;
968 alias parent super_;
969 alias parent object;
970 GObject2.Object parent;
971 char* description, name;
972 Object* accessible_parent;
973 Role role;
974 RelationSet* relation_set;
975 Layer layer;
978 // Adds a relationship of the specified type with the specified target.
979 // Returns TRUE if the relationship is added.
980 // <relationship>: The #AtkRelationType of the relation
981 // <target>: The #AtkObject which is to be the target of the relation.
982 int add_relationship()(RelationType relationship, Object* target) nothrow {
983 return atk_object_add_relationship(&this, relationship, target);
986 // Unintrospectable method: connect_property_change_handler() / atk_object_connect_property_change_handler()
987 // Specifies a function to be called when a property changes value.
988 // atk_object_remove_property_change_handler()
989 // RETURNS: a #guint which is the handler id used in
990 // <handler>: a function to be called when a property changes its value
991 uint connect_property_change_handler()(PropertyChangeHandler* handler) nothrow {
992 return atk_object_connect_property_change_handler(&this, handler);
995 // VERSION: 1.12
996 // Get a list of properties applied to this object as a whole, as an #AtkAttributeSet consisting of
997 // name-value pairs. As such these attributes may be considered weakly-typed properties or annotations,
998 // as distinct from strongly-typed object data available via other get/set methods.
999 // Not all objects have explicit "name-value pair" #AtkAttributeSet properties.
1000 // properties/annotations applied to the object, or an empty set if the object
1001 // has no name-value pair attributes assigned to it.
1002 // RETURNS: an #AtkAttributeSet consisting of all explicit
1003 AttributeSet* get_attributes()() nothrow {
1004 return atk_object_get_attributes(&this);
1007 // Gets the accessible description of the accessible.
1008 // of the accessible.
1009 // RETURNS: a character string representing the accessible description
1010 char* get_description()() nothrow {
1011 return atk_object_get_description(&this);
1014 // Gets the 0-based index of this accessible in its parent; returns -1 if the
1015 // accessible does not have an accessible parent.
1016 // RETURNS: an integer which is the index of the accessible in its parent
1017 int get_index_in_parent()() nothrow {
1018 return atk_object_get_index_in_parent(&this);
1021 // Gets the number of accessible children of the accessible.
1022 // of the accessible.
1023 // RETURNS: an integer representing the number of accessible children
1024 int get_n_accessible_children()() nothrow {
1025 return atk_object_get_n_accessible_children(&this);
1028 // Gets the accessible name of the accessible.
1029 // RETURNS: a character string representing the accessible name of the object.
1030 char* get_name()() nothrow {
1031 return atk_object_get_name(&this);
1034 // Gets the accessible parent of the accessible.
1035 // of the accessible
1036 // RETURNS: a #AtkObject representing the accessible parent
1037 Object* get_parent()() nothrow {
1038 return atk_object_get_parent(&this);
1041 // Gets the role of the accessible.
1042 // RETURNS: an #AtkRole which is the role of the accessible
1043 Role get_role()() nothrow {
1044 return atk_object_get_role(&this);
1047 // This function is called when implementing subclasses of #AtkObject.
1048 // It does initialization required for the new object. It is intended
1049 // that this function should called only in the ..._new() functions used
1050 // to create an instance of a subclass of #AtkObject
1051 // <data>: a #gpointer which identifies the object for which the AtkObject was created.
1052 void initialize()(void* data) nothrow {
1053 atk_object_initialize(&this, data);
1056 // Emits a state-change signal for the specified state.
1057 // <state>: an #AtkState whose state is changed
1058 // <value>: a gboolean which indicates whether the state is being set on or off
1059 void notify_state_change()(State state, int value) nothrow {
1060 atk_object_notify_state_change(&this, state, value);
1063 // Gets a reference to the specified accessible child of the object.
1064 // The accessible children are 0-based so the first accessible child is
1065 // at index 0, the second at index 1 and so on.
1066 // accessible child of the accessible.
1067 // RETURNS: an #AtkObject representing the specified
1068 // <i>: a gint representing the position of the child, starting from 0
1069 Object* /*new*/ ref_accessible_child()(int i) nothrow {
1070 return atk_object_ref_accessible_child(&this, i);
1073 // Gets the #AtkRelationSet associated with the object.
1074 // of the object.
1075 // RETURNS: an #AtkRelationSet representing the relation set
1076 RelationSet* /*new*/ ref_relation_set()() nothrow {
1077 return atk_object_ref_relation_set(&this);
1080 // Gets a reference to the state set of the accessible; the caller must
1081 // unreference it when it is no longer needed.
1082 // set of the accessible
1083 // RETURNS: a reference to an #AtkStateSet which is the state
1084 StateSet* /*new*/ ref_state_set()() nothrow {
1085 return atk_object_ref_state_set(&this);
1088 // Removes a property change handler.
1089 // <handler_id>: a guint which identifies the handler to be removed.
1090 void remove_property_change_handler()(uint handler_id) nothrow {
1091 atk_object_remove_property_change_handler(&this, handler_id);
1094 // Removes a relationship of the specified type with the specified target.
1095 // Returns TRUE if the relationship is removed.
1096 // <relationship>: The #AtkRelationType of the relation
1097 // <target>: The #AtkObject which is the target of the relation to be removed.
1098 int remove_relationship()(RelationType relationship, Object* target) nothrow {
1099 return atk_object_remove_relationship(&this, relationship, target);
1102 // Sets the accessible description of the accessible.
1103 // <description>: a character string to be set as the accessible description
1104 void set_description()(char* description) nothrow {
1105 atk_object_set_description(&this, description);
1108 // Sets the accessible name of the accessible.
1109 // <name>: a character string to be set as the accessible name
1110 void set_name()(char* name) nothrow {
1111 atk_object_set_name(&this, name);
1114 // Sets the accessible parent of the accessible.
1115 // <parent>: an #AtkObject to be set as the accessible parent
1116 void set_parent()(Object* parent) nothrow {
1117 atk_object_set_parent(&this, parent);
1120 // Sets the role of the accessible.
1121 // <role>: an #AtkRole to be set as the role
1122 void set_role()(Role role) nothrow {
1123 atk_object_set_role(&this, role);
1125 extern (C) alias static void function (Object* this_, void* object, void* user_data=null) nothrow signal_active_descendant_changed;
1127 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1128 return super_.signal_connect!name(cb, data, cf);
1131 ulong signal_connect(string name:"active-descendant-changed", CB:signal_active_descendant_changed)
1132 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
1133 if (is(typeof(cb)==signal_active_descendant_changed)||_ttmm!(CB, signal_active_descendant_changed)()) {
1134 return signal_connect_data!()(&this, cast(char*)"active-descendant-changed",
1135 cast(GObject2.Callback)cb, data, null, cf);
1137 extern (C) alias static void function (Object* this_, c_uint object, void* p0, void* user_data=null) nothrow signal_children_changed;
1138 ulong signal_connect(string name:"children-changed", CB:signal_children_changed)
1139 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
1140 if (is(typeof(cb)==signal_children_changed)||_ttmm!(CB, signal_children_changed)()) {
1141 return signal_connect_data!()(&this, cast(char*)"children-changed",
1142 cast(GObject2.Callback)cb, data, null, cf);
1144 extern (C) alias static void function (Object* this_, c_int object, void* user_data=null) nothrow signal_focus_event;
1145 ulong signal_connect(string name:"focus-event", CB:signal_focus_event)
1146 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
1147 if (is(typeof(cb)==signal_focus_event)||_ttmm!(CB, signal_focus_event)()) {
1148 return signal_connect_data!()(&this, cast(char*)"focus-event",
1149 cast(GObject2.Callback)cb, data, null, cf);
1151 extern (C) alias static void function (Object* this_, void* object, void* user_data=null) nothrow signal_property_change;
1152 ulong signal_connect(string name:"property-change", CB:signal_property_change)
1153 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
1154 if (is(typeof(cb)==signal_property_change)||_ttmm!(CB, signal_property_change)()) {
1155 return signal_connect_data!()(&this, cast(char*)"property-change",
1156 cast(GObject2.Callback)cb, data, null, cf);
1158 extern (C) alias static void function (Object* this_, char* object, c_int p0, void* user_data=null) nothrow signal_state_change;
1159 ulong signal_connect(string name:"state-change", CB:signal_state_change)
1160 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
1161 if (is(typeof(cb)==signal_state_change)||_ttmm!(CB, signal_state_change)()) {
1162 return signal_connect_data!()(&this, cast(char*)"state-change",
1163 cast(GObject2.Callback)cb, data, null, cf);
1165 extern (C) alias static void function (Object* this_, void* user_data=null) nothrow signal_visible_data_changed;
1166 ulong signal_connect(string name:"visible-data-changed", CB:signal_visible_data_changed)
1167 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
1168 if (is(typeof(cb)==signal_visible_data_changed)||_ttmm!(CB, signal_visible_data_changed)()) {
1169 return signal_connect_data!()(&this, cast(char*)"visible-data-changed",
1170 cast(GObject2.Callback)cb, data, null, cf);
1174 struct ObjectClass {
1175 GObject2.ObjectClass parent;
1176 // RETURNS: a character string representing the accessible name of the object.
1177 extern (C) char* function (Object* accessible) nothrow get_name;
1178 // RETURNS: a character string representing the accessible description
1179 extern (C) char* function (Object* accessible) nothrow get_description;
1180 // RETURNS: a #AtkObject representing the accessible parent
1181 extern (C) Object* function (Object* accessible) nothrow get_parent;
1182 extern (C) int function (Object* accessible) nothrow get_n_children;
1183 // Unintrospectable functionp: ref_child() / ()
1184 extern (C) Object* function (Object* accessible, int i) nothrow ref_child;
1185 // RETURNS: an integer which is the index of the accessible in its parent
1186 extern (C) int function (Object* accessible) nothrow get_index_in_parent;
1187 // RETURNS: an #AtkRelationSet representing the relation set
1188 extern (C) RelationSet* /*new*/ function (Object* accessible) nothrow ref_relation_set;
1189 // RETURNS: an #AtkRole which is the role of the accessible
1190 extern (C) Role function (Object* accessible) nothrow get_role;
1191 extern (C) Layer function (Object* accessible) nothrow get_layer;
1192 extern (C) int function (Object* accessible) nothrow get_mdi_zorder;
1193 // RETURNS: a reference to an #AtkStateSet which is the state
1194 extern (C) StateSet* /*new*/ function (Object* accessible) nothrow ref_state_set;
1195 // <name>: a character string to be set as the accessible name
1196 extern (C) void function (Object* accessible, char* name) nothrow set_name;
1197 // <description>: a character string to be set as the accessible description
1198 extern (C) void function (Object* accessible, char* description) nothrow set_description;
1199 // <parent>: an #AtkObject to be set as the accessible parent
1200 extern (C) void function (Object* accessible, Object* parent) nothrow set_parent;
1201 // <role>: an #AtkRole to be set as the role
1202 extern (C) void function (Object* accessible, Role role) nothrow set_role;
1204 // Unintrospectable functionp: connect_property_change_handler() / ()
1206 // RETURNS: a #guint which is the handler id used in
1207 // <handler>: a function to be called when a property changes its value
1208 extern (C) uint function (Object* accessible, PropertyChangeHandler* handler) nothrow connect_property_change_handler;
1209 // <handler_id>: a guint which identifies the handler to be removed.
1210 extern (C) void function (Object* accessible, uint handler_id) nothrow remove_property_change_handler;
1211 // <data>: a #gpointer which identifies the object for which the AtkObject was created.
1212 extern (C) void function (Object* accessible, void* data) nothrow initialize;
1213 extern (C) void function (Object* accessible, uint change_index, void* changed_child) nothrow children_changed;
1214 extern (C) void function (Object* accessible, int focus_in) nothrow focus_event;
1215 // Unintrospectable functionp: property_change() / ()
1216 extern (C) void function (Object* accessible, _PropertyValues* values) nothrow property_change;
1217 extern (C) void function (Object* accessible, char* name, int state_set) nothrow state_change;
1218 extern (C) void function (Object* accessible) nothrow visible_data_changed;
1219 extern (C) void function (Object* accessible, void** child) nothrow active_descendant_changed;
1220 // RETURNS: an #AtkAttributeSet consisting of all explicit
1221 extern (C) AttributeSet* function (Object* accessible) nothrow get_attributes;
1222 Function pad1, pad2;
1225 struct ObjectFactory /* : GObject.Object */ {
1226 alias parent this;
1227 alias parent super_;
1228 alias parent object;
1229 GObject2.Object parent;
1232 // Provides an #AtkObject that implements an accessibility interface
1233 // on behalf of @obj
1234 // interface on behalf of @obj
1235 // RETURNS: an #AtkObject that implements an accessibility
1236 // <obj>: a #GObject
1237 Object* /*new*/ create_accessible()(GObject2.Object* obj) nothrow {
1238 return atk_object_factory_create_accessible(&this, obj);
1241 // Gets the GType of the accessible which is created by the factory.
1242 // The value G_TYPE_INVALID is returned if no type if found.
1243 // RETURNS: the type of the accessible which is created by the @factory.
1244 Type get_accessible_type()() nothrow {
1245 return atk_object_factory_get_accessible_type(&this);
1248 // Inform @factory that it is no longer being used to create
1249 // accessibles. When called, @factory may need to inform
1250 // #AtkObjects which it has created that they need to be re-instantiated.
1251 // in object registries.
1252 void invalidate()() nothrow {
1253 atk_object_factory_invalidate(&this);
1257 struct ObjectFactoryClass {
1258 GObject2.ObjectClass parent_class;
1259 // Unintrospectable functionp: create_accessible() / ()
1260 extern (C) Object* function (GObject2.Object* obj) nothrow create_accessible;
1261 extern (C) void function (ObjectFactory* factory) nothrow invalidate;
1262 extern (C) Type function () nothrow get_accessible_type;
1263 Function pad1, pad2;
1266 struct Plug /* : Object */ {
1267 mixin Component.__interface__;
1268 alias parent this;
1269 alias parent super_;
1270 alias parent object;
1271 Object parent;
1273 static Plug* /*new*/ new_()() nothrow {
1274 return atk_plug_new();
1276 alias new_!() opCall;
1277 char* /*new*/ get_id()() nothrow {
1278 return atk_plug_get_id(&this);
1282 struct PlugClass {
1283 ObjectClass parent_class;
1284 extern (C) char* /*new*/ function (Plug* obj) nothrow get_object_id;
1287 // Unintrospectable callback: PropertyChangeHandler() / ()
1288 extern (C) alias void function (Object* arg_a, _PropertyValues* arg_b) nothrow PropertyChangeHandler;
1290 struct Rectangle {
1291 int x, y, width, height;
1294 struct Registry /* : GObject.Object */ {
1295 alias method_parent this;
1296 alias method_parent super_;
1297 alias method_parent object;
1298 GObject2.Object method_parent;
1301 // Gets an #AtkObjectFactory appropriate for creating #AtkObjects
1302 // appropriate for @type.
1303 // #AtkObjects appropriate for @type.
1304 // RETURNS: an #AtkObjectFactory appropriate for creating
1305 // <type>: a #GType with which to look up the associated #AtkObjectFactory
1306 ObjectFactory* get_factory()(Type type) nothrow {
1307 return atk_registry_get_factory(&this, type);
1310 // Provides a #GType indicating the #AtkObjectFactory subclass
1311 // associated with @type.
1312 // RETURNS: a #GType associated with type @type
1313 // <type>: a #GType with which to look up the associated #AtkObjectFactory subclass
1314 Type get_factory_type()(Type type) nothrow {
1315 return atk_registry_get_factory_type(&this, type);
1318 // Associate an #AtkObjectFactory subclass with a #GType. Note:
1319 // The associated @factory_type will thereafter be responsible for
1320 // the creation of new #AtkObject implementations for instances
1321 // appropriate for @type.
1322 // <type>: an #AtkObject type
1323 // <factory_type>: an #AtkObjectFactory type to associate with @type. Must implement AtkObject appropriate for @type.
1324 void set_factory_type()(Type type, Type factory_type) nothrow {
1325 atk_registry_set_factory_type(&this, type, factory_type);
1329 struct Relation /* : GObject.Object */ {
1330 alias parent this;
1331 alias parent super_;
1332 alias parent object;
1333 GObject2.Object parent;
1334 void*[666] target;
1335 RelationType relationship;
1338 // Create a new relation for the specified key and the specified list
1339 // of targets. See also atk_object_add_relationship().
1340 // RETURNS: a pointer to a new #AtkRelation
1341 // <targets>: an array of pointers to #AtkObjects
1342 // <n_targets>: number of #AtkObjects pointed to by @targets
1343 // <relationship>: an #AtkRelationType with which to create the new #AtkRelation
1344 static Relation* /*new*/ new_()(Object** targets, int n_targets, RelationType relationship) nothrow {
1345 return atk_relation_new(targets, n_targets, relationship);
1347 alias new_!() opCall;
1349 // VERSION: 1.9
1350 // Adds the specified AtkObject to the target for the relation, if it is
1351 // not already present. See also atk_object_add_relationship().
1352 // <target>: an #AtkObject
1353 void add_target()(Object* target) nothrow {
1354 atk_relation_add_target(&this, target);
1357 // Gets the type of @relation
1358 // RETURNS: the type of @relation
1359 RelationType get_relation_type()() nothrow {
1360 return atk_relation_get_relation_type(&this);
1363 // Gets the target list of @relation
1364 // RETURNS: the target list of @relation
1365 PtrArray* get_target()() nothrow {
1366 return atk_relation_get_target(&this);
1369 // Remove the specified AtkObject from the target for the relation.
1370 // Returns TRUE if the removal is successful.
1371 // <target>: an #AtkObject
1372 int remove_target()(Object* target) nothrow {
1373 return atk_relation_remove_target(&this, target);
1377 struct RelationClass {
1378 GObject2.ObjectClass parent;
1381 struct RelationSet /* : GObject.Object */ {
1382 alias parent this;
1383 alias parent super_;
1384 alias parent object;
1385 GObject2.Object parent;
1386 void*[666] relations;
1389 // Creates a new empty relation set.
1390 // RETURNS: a new #AtkRelationSet
1391 static RelationSet* /*new*/ new_()() nothrow {
1392 return atk_relation_set_new();
1394 alias new_!() opCall;
1396 // Add a new relation to the current relation set if it is not already
1397 // present.
1398 // This function ref's the AtkRelation so the caller of this function
1399 // should unref it to ensure that it will be destroyed when the AtkRelationSet
1400 // is destroyed.
1401 // <relation>: an #AtkRelation
1402 void add()(Relation* relation) nothrow {
1403 atk_relation_set_add(&this, relation);
1406 // VERSION: 1.9
1407 // Add a new relation of the specified type with the specified target to
1408 // the current relation set if the relation set does not contain a relation
1409 // of that type. If it is does contain a relation of that typea the target
1410 // is added to the relation.
1411 // <relationship>: an #AtkRelationType
1412 // <target>: an #AtkObject
1413 void add_relation_by_type()(RelationType relationship, Object* target) nothrow {
1414 atk_relation_set_add_relation_by_type(&this, relationship, target);
1417 // Determines whether the relation set contains a relation that matches the
1418 // specified type.
1419 // in @set, %FALSE otherwise
1420 // RETURNS: %TRUE if @relationship is the relationship type of a relation
1421 // <relationship>: an #AtkRelationType
1422 int contains()(RelationType relationship) nothrow {
1423 return atk_relation_set_contains(&this, relationship);
1426 // Determines the number of relations in a relation set.
1427 // RETURNS: an integer representing the number of relations in the set.
1428 int get_n_relations()() nothrow {
1429 return atk_relation_set_get_n_relations(&this);
1432 // Determines the relation at the specified position in the relation set.
1433 // position i in the set.
1434 // RETURNS: a #AtkRelation, which is the relation at
1435 // <i>: a gint representing a position in the set, starting from 0.
1436 Relation* get_relation()(int i) nothrow {
1437 return atk_relation_set_get_relation(&this, i);
1440 // Finds a relation that matches the specified type.
1441 // specified type.
1442 // RETURNS: an #AtkRelation, which is a relation matching the
1443 // <relationship>: an #AtkRelationType
1444 Relation* get_relation_by_type()(RelationType relationship) nothrow {
1445 return atk_relation_set_get_relation_by_type(&this, relationship);
1448 // Removes a relation from the relation set.
1449 // This function unref's the #AtkRelation so it will be deleted unless there
1450 // is another reference to it.
1451 // <relation>: an #AtkRelation
1452 void remove()(Relation* relation) nothrow {
1453 atk_relation_set_remove(&this, relation);
1457 struct RelationSetClass {
1458 GObject2.ObjectClass parent;
1459 Function pad1, pad2;
1462 enum RelationType {
1463 NULL = 0,
1464 CONTROLLED_BY = 1,
1465 CONTROLLER_FOR = 2,
1466 LABEL_FOR = 3,
1467 LABELLED_BY = 4,
1468 MEMBER_OF = 5,
1469 NODE_CHILD_OF = 6,
1470 FLOWS_TO = 7,
1471 FLOWS_FROM = 8,
1472 SUBWINDOW_OF = 9,
1473 EMBEDS = 10,
1474 EMBEDDED_BY = 11,
1475 POPUP_FOR = 12,
1476 PARENT_WINDOW_OF = 13,
1477 DESCRIBED_BY = 14,
1478 DESCRIPTION_FOR = 15,
1479 NODE_PARENT_OF = 16,
1480 LAST_DEFINED = 17
1482 enum Role {
1483 INVALID = 0,
1484 ACCEL_LABEL = 1,
1485 ALERT = 2,
1486 ANIMATION = 3,
1487 ARROW = 4,
1488 CALENDAR = 5,
1489 CANVAS = 6,
1490 CHECK_BOX = 7,
1491 CHECK_MENU_ITEM = 8,
1492 COLOR_CHOOSER = 9,
1493 COLUMN_HEADER = 10,
1494 COMBO_BOX = 11,
1495 DATE_EDITOR = 12,
1496 DESKTOP_ICON = 13,
1497 DESKTOP_FRAME = 14,
1498 DIAL = 15,
1499 DIALOG = 16,
1500 DIRECTORY_PANE = 17,
1501 DRAWING_AREA = 18,
1502 FILE_CHOOSER = 19,
1503 FILLER = 20,
1504 FONT_CHOOSER = 21,
1505 FRAME = 22,
1506 GLASS_PANE = 23,
1507 HTML_CONTAINER = 24,
1508 ICON = 25,
1509 IMAGE = 26,
1510 INTERNAL_FRAME = 27,
1511 LABEL = 28,
1512 LAYERED_PANE = 29,
1513 LIST = 30,
1514 LIST_ITEM = 31,
1515 MENU = 32,
1516 MENU_BAR = 33,
1517 MENU_ITEM = 34,
1518 OPTION_PANE = 35,
1519 PAGE_TAB = 36,
1520 PAGE_TAB_LIST = 37,
1521 PANEL = 38,
1522 PASSWORD_TEXT = 39,
1523 POPUP_MENU = 40,
1524 PROGRESS_BAR = 41,
1525 PUSH_BUTTON = 42,
1526 RADIO_BUTTON = 43,
1527 RADIO_MENU_ITEM = 44,
1528 ROOT_PANE = 45,
1529 ROW_HEADER = 46,
1530 SCROLL_BAR = 47,
1531 SCROLL_PANE = 48,
1532 SEPARATOR = 49,
1533 SLIDER = 50,
1534 SPLIT_PANE = 51,
1535 SPIN_BUTTON = 52,
1536 STATUSBAR = 53,
1537 TABLE = 54,
1538 TABLE_CELL = 55,
1539 TABLE_COLUMN_HEADER = 56,
1540 TABLE_ROW_HEADER = 57,
1541 TEAR_OFF_MENU_ITEM = 58,
1542 TERMINAL = 59,
1543 TEXT = 60,
1544 TOGGLE_BUTTON = 61,
1545 TOOL_BAR = 62,
1546 TOOL_TIP = 63,
1547 TREE = 64,
1548 TREE_TABLE = 65,
1549 UNKNOWN = 66,
1550 VIEWPORT = 67,
1551 WINDOW = 68,
1552 HEADER = 69,
1553 FOOTER = 70,
1554 PARAGRAPH = 71,
1555 RULER = 72,
1556 APPLICATION = 73,
1557 AUTOCOMPLETE = 74,
1558 EDITBAR = 75,
1559 EMBEDDED = 76,
1560 ENTRY = 77,
1561 CHART = 78,
1562 CAPTION = 79,
1563 DOCUMENT_FRAME = 80,
1564 HEADING = 81,
1565 PAGE = 82,
1566 SECTION = 83,
1567 REDUNDANT_OBJECT = 84,
1568 FORM = 85,
1569 LINK = 86,
1570 INPUT_METHOD_WINDOW = 87,
1571 TABLE_ROW = 88,
1572 TREE_ITEM = 89,
1573 DOCUMENT_SPREADSHEET = 90,
1574 DOCUMENT_PRESENTATION = 91,
1575 DOCUMENT_TEXT = 92,
1576 DOCUMENT_WEB = 93,
1577 DOCUMENT_EMAIL = 94,
1578 COMMENT = 95,
1579 LIST_BOX = 96,
1580 GROUPING = 97,
1581 IMAGE_MAP = 98,
1582 NOTIFICATION = 99,
1583 INFO_BAR = 100,
1584 LAST_DEFINED = 101
1586 struct Selection /* Interface */ {
1587 mixin template __interface__() {
1588 // Adds the specified accessible child of the object to the
1589 // object's selection.
1590 // RETURNS: TRUE if success, FALSE otherwise.
1591 // <i>: a #gint specifying the child index.
1592 int add_selection()(int i) nothrow {
1593 return atk_selection_add_selection(cast(Selection*)&this, i);
1596 // Clears the selection in the object so that no children in the object
1597 // are selected.
1598 // RETURNS: TRUE if success, FALSE otherwise.
1599 int clear_selection()() nothrow {
1600 return atk_selection_clear_selection(cast(Selection*)&this);
1603 // Gets the number of accessible children currently selected.
1604 // indication of whether AtkSelectionIface is implemented, they should
1605 // use type checking/interface checking macros or the
1606 // atk_get_accessible_value() convenience method.
1607 // if @selection does not implement this interface.
1608 // RETURNS: a gint representing the number of items selected, or 0
1609 int get_selection_count()() nothrow {
1610 return atk_selection_get_selection_count(cast(Selection*)&this);
1613 // Determines if the current child of this object is selected
1614 // indication of whether AtkSelectionIface is implemented, they should
1615 // use type checking/interface checking macros or the
1616 // atk_get_accessible_value() convenience method.
1617 // if @selection does not implement this interface.
1618 // RETURNS: a gboolean representing the specified child is selected, or 0
1619 // <i>: a #gint specifying the child index.
1620 int is_child_selected()(int i) nothrow {
1621 return atk_selection_is_child_selected(cast(Selection*)&this, i);
1624 // Gets a reference to the accessible object representing the specified
1625 // selected child of the object.
1626 // indication of whether AtkSelectionIface is implemented, they should
1627 // use type checking/interface checking macros or the
1628 // atk_get_accessible_value() convenience method.
1629 // accessible , or %NULL if @selection does not implement this interface.
1630 // RETURNS: an #AtkObject representing the selected
1631 // <i>: a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child).
1632 Object* /*new*/ ref_selection()(int i) nothrow {
1633 return atk_selection_ref_selection(cast(Selection*)&this, i);
1636 // Removes the specified child of the object from the object's selection.
1637 // RETURNS: TRUE if success, FALSE otherwise.
1638 // <i>: a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child).
1639 int remove_selection()(int i) nothrow {
1640 return atk_selection_remove_selection(cast(Selection*)&this, i);
1643 // Causes every child of the object to be selected if the object
1644 // supports multiple selections.
1645 // RETURNS: TRUE if success, FALSE otherwise.
1646 int select_all_selection()() nothrow {
1647 return atk_selection_select_all_selection(cast(Selection*)&this);
1649 extern (C) alias static void function (Selection* this_, void* user_data=null) nothrow signal_selection_changed;
1651 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
1652 return super_.signal_connect!name(cb, data, cf);
1655 ulong signal_connect(string name:"selection-changed", CB:signal_selection_changed)
1656 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
1657 if (is(typeof(cb)==signal_selection_changed)||_ttmm!(CB, signal_selection_changed)()) {
1658 return signal_connect_data!()(&this, cast(char*)"selection-changed",
1659 cast(GObject2.Callback)cb, data, null, cf);
1662 mixin __interface__;
1665 struct SelectionIface {
1666 GObject2.TypeInterface parent;
1668 // RETURNS: TRUE if success, FALSE otherwise.
1669 // <i>: a #gint specifying the child index.
1670 extern (C) int function (Selection* selection, int i) nothrow add_selection;
1671 // RETURNS: TRUE if success, FALSE otherwise.
1672 extern (C) int function (Selection* selection) nothrow clear_selection;
1674 // RETURNS: an #AtkObject representing the selected
1675 // <i>: a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child).
1676 extern (C) Object* /*new*/ function (Selection* selection, int i) nothrow ref_selection;
1677 // RETURNS: a gint representing the number of items selected, or 0
1678 extern (C) int function (Selection* selection) nothrow get_selection_count;
1680 // RETURNS: a gboolean representing the specified child is selected, or 0
1681 // <i>: a #gint specifying the child index.
1682 extern (C) int function (Selection* selection, int i) nothrow is_child_selected;
1684 // RETURNS: TRUE if success, FALSE otherwise.
1685 // <i>: a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child).
1686 extern (C) int function (Selection* selection, int i) nothrow remove_selection;
1687 // RETURNS: TRUE if success, FALSE otherwise.
1688 extern (C) int function (Selection* selection) nothrow select_all_selection;
1689 extern (C) void function (Selection* selection) nothrow selection_changed;
1690 Function pad1, pad2;
1693 struct Socket /* : Object */ {
1694 mixin Component.__interface__;
1695 alias parent this;
1696 alias parent super_;
1697 alias parent object;
1698 Object parent;
1699 private char* embedded_plug_id;
1701 static Socket* /*new*/ new_()() nothrow {
1702 return atk_socket_new();
1704 alias new_!() opCall;
1706 // VERSION: 1.30
1707 // Embeds the children of an #AtkPlug as the children of the #AtkSocket. The
1708 // plug may be in the same process or in a different process.
1709 // THe class item used by this function should be filled in by the IPC layer
1710 // (ie, at-spi2-atk). The implementor of the AtkSocket should call this
1711 // function and pass the id for the plug as returned by atk_plug_get_id.
1712 // It is the responsibility of the application to pass the plug id on to
1713 // the process implementing the AtkSocket as needed.
1714 // <plug_id>: the ID of an #AtkPlug
1715 void embed()(char* plug_id) nothrow {
1716 atk_socket_embed(&this, plug_id);
1719 // VERSION: 1.30
1720 // Determines whether or not the socket has an embedded plug.
1721 // RETURNS: TRUE if a plug is embedded in the socket
1722 int is_occupied()() nothrow {
1723 return atk_socket_is_occupied(&this);
1727 struct SocketClass {
1728 ObjectClass parent_class;
1729 // <plug_id>: the ID of an #AtkPlug
1730 extern (C) void function (Socket* obj, char* plug_id) nothrow embed;
1733 struct StateSet /* : GObject.Object */ {
1734 alias parent this;
1735 alias parent super_;
1736 alias parent object;
1737 GObject2.Object parent;
1740 // Creates a new empty state set.
1741 // RETURNS: a new #AtkStateSet
1742 static StateSet* /*new*/ new_()() nothrow {
1743 return atk_state_set_new();
1745 alias new_!() opCall;
1747 // Add a new state for the specified type to the current state set if
1748 // it is not already present.
1749 // RETURNS: %TRUE if the state for @type is not already in @set.
1750 // <type>: an #AtkStateType
1751 int add_state()(StateType type) nothrow {
1752 return atk_state_set_add_state(&this, type);
1755 // Add the states for the specified types to the current state set.
1756 // <types>: an array of #AtkStateType
1757 // <n_types>: The number of elements in the array
1758 void add_states()(StateType* types, int n_types) nothrow {
1759 atk_state_set_add_states(&this, types, n_types);
1762 // Constructs the intersection of the two sets, returning %NULL if the
1763 // intersection is empty.
1764 // the two sets.
1765 // RETURNS: a new #AtkStateSet which is the intersection of
1766 // <compare_set>: another #AtkStateSet
1767 StateSet* /*new*/ and_sets()(StateSet* compare_set) nothrow {
1768 return atk_state_set_and_sets(&this, compare_set);
1770 // Removes all states from the state set.
1771 void clear_states()() nothrow {
1772 atk_state_set_clear_states(&this);
1775 // Checks whether the state for the specified type is in the specified set.
1776 // RETURNS: %TRUE if @type is the state type is in @set.
1777 // <type>: an #AtkStateType
1778 int contains_state()(StateType type) nothrow {
1779 return atk_state_set_contains_state(&this, type);
1782 // Checks whether the states for all the specified types are in the
1783 // specified set.
1784 // RETURNS: %TRUE if all the states for @type are in @set.
1785 // <types>: an array of #AtkStateType
1786 // <n_types>: The number of elements in the array
1787 int contains_states()(StateType* types, int n_types) nothrow {
1788 return atk_state_set_contains_states(&this, types, n_types);
1791 // Checks whether the state set is empty, i.e. has no states set.
1792 // RETURNS: %TRUE if @set has no states set, otherwise %FALSE
1793 int is_empty()() nothrow {
1794 return atk_state_set_is_empty(&this);
1797 // Constructs the union of the two sets.
1798 // sets, returning %NULL is empty.
1799 // RETURNS: a new #AtkStateSet which is the union of the two
1800 // <compare_set>: another #AtkStateSet
1801 StateSet* /*new*/ or_sets()(StateSet* compare_set) nothrow {
1802 return atk_state_set_or_sets(&this, compare_set);
1805 // Removes the state for the specified type from the state set.
1806 // RETURNS: %TRUE if @type was the state type is in @set.
1807 // <type>: an #AtkType
1808 int remove_state()(StateType type) nothrow {
1809 return atk_state_set_remove_state(&this, type);
1812 // Constructs the exclusive-or of the two sets, returning %NULL is empty.
1813 // The set returned by this operation contains the states in exactly
1814 // one of the two sets.
1815 // which are in exactly one of the two sets.
1816 // RETURNS: a new #AtkStateSet which contains the states
1817 // <compare_set>: another #AtkStateSet
1818 StateSet* /*new*/ xor_sets()(StateSet* compare_set) nothrow {
1819 return atk_state_set_xor_sets(&this, compare_set);
1823 struct StateSetClass {
1824 GObject2.ObjectClass parent;
1827 enum StateType {
1828 INVALID = 0,
1829 ACTIVE = 1,
1830 ARMED = 2,
1831 BUSY = 3,
1832 CHECKED = 4,
1833 DEFUNCT = 5,
1834 EDITABLE = 6,
1835 ENABLED = 7,
1836 EXPANDABLE = 8,
1837 EXPANDED = 9,
1838 FOCUSABLE = 10,
1839 FOCUSED = 11,
1840 HORIZONTAL = 12,
1841 ICONIFIED = 13,
1842 MODAL = 14,
1843 MULTI_LINE = 15,
1844 MULTISELECTABLE = 16,
1845 OPAQUE = 17,
1846 PRESSED = 18,
1847 RESIZABLE = 19,
1848 SELECTABLE = 20,
1849 SELECTED = 21,
1850 SENSITIVE = 22,
1851 SHOWING = 23,
1852 SINGLE_LINE = 24,
1853 STALE = 25,
1854 TRANSIENT = 26,
1855 VERTICAL = 27,
1856 VISIBLE = 28,
1857 MANAGES_DESCENDANTS = 29,
1858 INDETERMINATE = 30,
1859 TRUNCATED = 31,
1860 REQUIRED = 32,
1861 INVALID_ENTRY = 33,
1862 SUPPORTS_AUTOCOMPLETION = 34,
1863 SELECTABLE_TEXT = 35,
1864 DEFAULT = 36,
1865 ANIMATED = 37,
1866 VISITED = 38,
1867 LAST_DEFINED = 39
1869 struct StreamableContent /* Interface */ {
1870 mixin template __interface__() {
1871 // Gets the character string of the specified mime type. The first mime
1872 // type is at position 0, the second at position 1, and so on.
1873 // should not free the character string.
1874 // <i>: a gint representing the position of the mime type starting from 0
1875 char* get_mime_type()(int i) nothrow {
1876 return atk_streamable_content_get_mime_type(cast(StreamableContent*)&this, i);
1879 // Gets the number of mime types supported by this object.
1880 // RETURNS: a gint which is the number of mime types supported by the object.
1881 int get_n_mime_types()() nothrow {
1882 return atk_streamable_content_get_n_mime_types(cast(StreamableContent*)&this);
1885 // Unintrospectable method: get_stream() / atk_streamable_content_get_stream()
1886 // Gets the content in the specified mime type.
1887 // specified mime type.
1888 // RETURNS: A #GIOChannel which contains the content in the
1889 // <mime_type>: a gchar* representing the mime type
1890 GLib2.IOChannel* /*new*/ get_stream()(char* mime_type) nothrow {
1891 return atk_streamable_content_get_stream(cast(StreamableContent*)&this, mime_type);
1894 // VERSION: 1.12
1895 // Get a string representing a URI in IETF standard format
1896 // (see http://www.ietf.org/rfc/rfc2396.txt) from which the object's content
1897 // may be streamed in the specified mime-type, if one is available.
1898 // If mime_type is NULL, the URI for the default (and possibly only) mime-type is
1899 // returned.
1900 // Note that it is possible for get_uri to return NULL but for
1901 // get_stream to work nonetheless, since not all GIOChannels connect to URIs.
1902 // can be constructed.
1903 // RETURNS: Returns a string representing a URI, or NULL if no corresponding URI
1904 // <mime_type>: a gchar* representing the mime type, or NULL to request a URI for the default mime type.
1905 char* get_uri()(char* mime_type) nothrow {
1906 return atk_streamable_content_get_uri(cast(StreamableContent*)&this, mime_type);
1909 mixin __interface__;
1912 struct StreamableContentIface {
1913 GObject2.TypeInterface parent;
1914 // RETURNS: a gint which is the number of mime types supported by the object.
1915 extern (C) int function (StreamableContent* streamable) nothrow get_n_mime_types;
1916 // <i>: a gint representing the position of the mime type starting from 0
1917 extern (C) char* function (StreamableContent* streamable, int i) nothrow get_mime_type;
1919 // Unintrospectable functionp: get_stream() / ()
1921 // RETURNS: A #GIOChannel which contains the content in the
1922 // <mime_type>: a gchar* representing the mime type
1923 extern (C) GLib2.IOChannel* /*new*/ function (StreamableContent* streamable, char* mime_type) nothrow get_stream;
1925 // RETURNS: Returns a string representing a URI, or NULL if no corresponding URI
1926 // <mime_type>: a gchar* representing the mime type, or NULL to request a URI for the default mime type.
1927 extern (C) char* function (StreamableContent* streamable, char* mime_type) nothrow get_uri;
1928 Function pad1, pad2, pad3;
1931 struct Table /* Interface */ {
1932 mixin template __interface__() {
1933 // Adds the specified @column to the selection.
1934 // the selection, or 0 if value does not implement this interface.
1935 // RETURNS: a gboolean representing if the column was successfully added to
1936 // <column>: a #gint representing a column in @table
1937 int add_column_selection()(int column) nothrow {
1938 return atk_table_add_column_selection(cast(Table*)&this, column);
1941 // Adds the specified @row to the selection.
1942 // or 0 if value does not implement this interface.
1943 // RETURNS: a gboolean representing if row was successfully added to selection,
1944 // <row>: a #gint representing a row in @table
1945 int add_row_selection()(int row) nothrow {
1946 return atk_table_add_row_selection(cast(Table*)&this, row);
1949 // Gets the caption for the @table.
1950 // %NULL if value does not implement this interface.
1951 // RETURNS: a AtkObject* representing the table caption, or
1952 Object* get_caption()() nothrow {
1953 return atk_table_get_caption(cast(Table*)&this);
1956 // Gets a #gint representing the column at the specified @index_.
1957 // or -1 if the table does not implement this interface
1958 // RETURNS: a gint representing the column at the specified index,
1959 // <index_>: a #gint representing an index in @table
1960 int get_column_at_index()(int index_) nothrow {
1961 return atk_table_get_column_at_index(cast(Table*)&this, index_);
1964 // Gets the description text of the specified @column in the table
1965 // if value does not implement this interface.
1966 // RETURNS: a gchar* representing the column description, or %NULL
1967 // <column>: a #gint representing a column in @table
1968 char* get_column_description()(int column) nothrow {
1969 return atk_table_get_column_description(cast(Table*)&this, column);
1972 // Gets the number of columns occupied by the accessible object
1973 // at the specified @row and @column in the @table.
1974 // if value does not implement this interface.
1975 // RETURNS: a gint representing the column extent at specified position, or 0
1976 // <row>: a #gint representing a row in @table
1977 // <column>: a #gint representing a column in @table
1978 int get_column_extent_at()(int row, int column) nothrow {
1979 return atk_table_get_column_extent_at(cast(Table*)&this, row, column);
1982 // Gets the column header of a specified column in an accessible table.
1983 // header, or %NULL if value does not implement this interface.
1984 // RETURNS: a AtkObject* representing the specified column
1985 // <column>: a #gint representing a column in the table
1986 Object* get_column_header()(int column) nothrow {
1987 return atk_table_get_column_header(cast(Table*)&this, column);
1990 // Gets a #gint representing the index at the specified @row and @column.
1991 // The value -1 is returned if the object at row,column is not a child
1992 // of table or table does not implement this interface.
1993 // RETURNS: a #gint representing the index at specified position.
1994 // <row>: a #gint representing a row in @table
1995 // <column>: a #gint representing a column in @table
1996 int get_index_at()(int row, int column) nothrow {
1997 return atk_table_get_index_at(cast(Table*)&this, row, column);
2000 // Gets the number of columns in the table.
2001 // if value does not implement this interface.
2002 // RETURNS: a gint representing the number of columns, or 0
2003 int get_n_columns()() nothrow {
2004 return atk_table_get_n_columns(cast(Table*)&this);
2007 // Gets the number of rows in the table.
2008 // if value does not implement this interface.
2009 // RETURNS: a gint representing the number of rows, or 0
2010 int get_n_rows()() nothrow {
2011 return atk_table_get_n_rows(cast(Table*)&this);
2014 // Gets a #gint representing the row at the specified @index_.
2015 // or -1 if the table does not implement this interface
2016 // RETURNS: a gint representing the row at the specified index,
2017 // <index_>: a #gint representing an index in @table
2018 int get_row_at_index()(int index_) nothrow {
2019 return atk_table_get_row_at_index(cast(Table*)&this, index_);
2022 // Gets the description text of the specified row in the table
2023 // if value does not implement this interface.
2024 // RETURNS: a gchar* representing the row description, or %NULL
2025 // <row>: a #gint representing a row in @table
2026 char* get_row_description()(int row) nothrow {
2027 return atk_table_get_row_description(cast(Table*)&this, row);
2030 // Gets the number of rows occupied by the accessible object
2031 // at a specified @row and @column in the @table.
2032 // if value does not implement this interface.
2033 // RETURNS: a gint representing the row extent at specified position, or 0
2034 // <row>: a #gint representing a row in @table
2035 // <column>: a #gint representing a column in @table
2036 int get_row_extent_at()(int row, int column) nothrow {
2037 return atk_table_get_row_extent_at(cast(Table*)&this, row, column);
2040 // Gets the row header of a specified row in an accessible table.
2041 // header, or %NULL if value does not implement this interface.
2042 // RETURNS: a AtkObject* representing the specified row
2043 // <row>: a #gint representing a row in the table
2044 Object* get_row_header()(int row) nothrow {
2045 return atk_table_get_row_header(cast(Table*)&this, row);
2048 // Gets the selected columns of the table by initializing **selected with
2049 // the selected column numbers. This array should be freed by the caller.
2050 // or %0 if value does not implement this interface.
2051 // RETURNS: a gint representing the number of selected columns,
2052 // <selected>: a #gint** that is to contain the selected columns numbers
2053 int get_selected_columns()(int** selected) nothrow {
2054 return atk_table_get_selected_columns(cast(Table*)&this, selected);
2057 // Gets the selected rows of the table by initializing **selected with
2058 // the selected row numbers. This array should be freed by the caller.
2059 // or zero if value does not implement this interface.
2060 // RETURNS: a gint representing the number of selected rows,
2061 // <selected>: a #gint** that is to contain the selected row numbers
2062 int get_selected_rows()(int** selected) nothrow {
2063 return atk_table_get_selected_rows(cast(Table*)&this, selected);
2066 // Gets the summary description of the table.
2067 // of the table, or zero if value does not implement this interface.
2068 // RETURNS: a AtkObject* representing a summary description
2069 Object* /*new*/ get_summary()() nothrow {
2070 return atk_table_get_summary(cast(Table*)&this);
2073 // Gets a boolean value indicating whether the specified @column
2074 // is selected
2075 // if value does not implement this interface.
2076 // RETURNS: a gboolean representing if the column is selected, or 0
2077 // <column>: a #gint representing a column in @table
2078 int is_column_selected()(int column) nothrow {
2079 return atk_table_is_column_selected(cast(Table*)&this, column);
2082 // Gets a boolean value indicating whether the specified @row
2083 // is selected
2084 // if value does not implement this interface.
2085 // RETURNS: a gboolean representing if the row is selected, or 0
2086 // <row>: a #gint representing a row in @table
2087 int is_row_selected()(int row) nothrow {
2088 return atk_table_is_row_selected(cast(Table*)&this, row);
2091 // Gets a boolean value indicating whether the accessible object
2092 // at the specified @row and @column is selected
2093 // if value does not implement this interface.
2094 // RETURNS: a gboolean representing if the cell is selected, or 0
2095 // <row>: a #gint representing a row in @table
2096 // <column>: a #gint representing a column in @table
2097 int is_selected()(int row, int column) nothrow {
2098 return atk_table_is_selected(cast(Table*)&this, row, column);
2101 // Get a reference to the table cell at @row, @column.
2102 // accessible
2103 // RETURNS: a AtkObject* representing the referred to
2104 // <row>: a #gint representing a row in @table
2105 // <column>: a #gint representing a column in @table
2106 Object* /*new*/ ref_at()(int row, int column) nothrow {
2107 return atk_table_ref_at(cast(Table*)&this, row, column);
2110 // Adds the specified @column to the selection.
2111 // the selection, or 0 if value does not implement this interface.
2112 // RETURNS: a gboolean representing if the column was successfully removed from
2113 // <column>: a #gint representing a column in @table
2114 int remove_column_selection()(int column) nothrow {
2115 return atk_table_remove_column_selection(cast(Table*)&this, column);
2118 // Removes the specified @row from the selection.
2119 // the selection, or 0 if value does not implement this interface.
2120 // RETURNS: a gboolean representing if the row was successfully removed from
2121 // <row>: a #gint representing a row in @table
2122 int remove_row_selection()(int row) nothrow {
2123 return atk_table_remove_row_selection(cast(Table*)&this, row);
2126 // Sets the caption for the table.
2127 // <caption>: a #AtkObject representing the caption to set for @table
2128 void set_caption()(Object* caption) nothrow {
2129 atk_table_set_caption(cast(Table*)&this, caption);
2132 // Sets the description text for the specified @column of the @table.
2133 // <column>: a #gint representing a column in @table
2134 // <description>: a #gchar representing the description text to set for the specified @column of the @table
2135 void set_column_description()(int column, char* description) nothrow {
2136 atk_table_set_column_description(cast(Table*)&this, column, description);
2139 // Sets the specified column header to @header.
2140 // <column>: a #gint representing a column in @table
2141 // <header>: an #AtkTable
2142 void set_column_header()(int column, Object* header) nothrow {
2143 atk_table_set_column_header(cast(Table*)&this, column, header);
2146 // Sets the description text for the specified @row of @table.
2147 // <row>: a #gint representing a row in @table
2148 // <description>: a #gchar representing the description text to set for the specified @row of @table
2149 void set_row_description()(int row, char* description) nothrow {
2150 atk_table_set_row_description(cast(Table*)&this, row, description);
2153 // Sets the specified row header to @header.
2154 // <row>: a #gint representing a row in @table
2155 // <header>: an #AtkTable
2156 void set_row_header()(int row, Object* header) nothrow {
2157 atk_table_set_row_header(cast(Table*)&this, row, header);
2160 // Sets the summary description of the table.
2161 // <accessible>: an #AtkObject representing the summary description to set for @table
2162 void set_summary()(Object* accessible) nothrow {
2163 atk_table_set_summary(cast(Table*)&this, accessible);
2165 extern (C) alias static void function (Table* this_, int object, int p0, void* user_data=null) nothrow signal_column_deleted;
2167 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2168 return super_.signal_connect!name(cb, data, cf);
2171 ulong signal_connect(string name:"column-deleted", CB:signal_column_deleted)
2172 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2173 if (is(typeof(cb)==signal_column_deleted)||_ttmm!(CB, signal_column_deleted)()) {
2174 return signal_connect_data!()(&this, cast(char*)"column-deleted",
2175 cast(GObject2.Callback)cb, data, null, cf);
2177 extern (C) alias static void function (Table* this_, int object, int p0, void* user_data=null) nothrow signal_column_inserted;
2178 ulong signal_connect(string name:"column-inserted", CB:signal_column_inserted)
2179 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2180 if (is(typeof(cb)==signal_column_inserted)||_ttmm!(CB, signal_column_inserted)()) {
2181 return signal_connect_data!()(&this, cast(char*)"column-inserted",
2182 cast(GObject2.Callback)cb, data, null, cf);
2184 extern (C) alias static void function (Table* this_, void* user_data=null) nothrow signal_column_reordered;
2185 ulong signal_connect(string name:"column-reordered", CB:signal_column_reordered)
2186 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2187 if (is(typeof(cb)==signal_column_reordered)||_ttmm!(CB, signal_column_reordered)()) {
2188 return signal_connect_data!()(&this, cast(char*)"column-reordered",
2189 cast(GObject2.Callback)cb, data, null, cf);
2191 extern (C) alias static void function (Table* this_, void* user_data=null) nothrow signal_model_changed;
2192 ulong signal_connect(string name:"model-changed", CB:signal_model_changed)
2193 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2194 if (is(typeof(cb)==signal_model_changed)||_ttmm!(CB, signal_model_changed)()) {
2195 return signal_connect_data!()(&this, cast(char*)"model-changed",
2196 cast(GObject2.Callback)cb, data, null, cf);
2198 extern (C) alias static void function (Table* this_, int object, int p0, void* user_data=null) nothrow signal_row_deleted;
2199 ulong signal_connect(string name:"row-deleted", CB:signal_row_deleted)
2200 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2201 if (is(typeof(cb)==signal_row_deleted)||_ttmm!(CB, signal_row_deleted)()) {
2202 return signal_connect_data!()(&this, cast(char*)"row-deleted",
2203 cast(GObject2.Callback)cb, data, null, cf);
2205 extern (C) alias static void function (Table* this_, int object, int p0, void* user_data=null) nothrow signal_row_inserted;
2206 ulong signal_connect(string name:"row-inserted", CB:signal_row_inserted)
2207 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2208 if (is(typeof(cb)==signal_row_inserted)||_ttmm!(CB, signal_row_inserted)()) {
2209 return signal_connect_data!()(&this, cast(char*)"row-inserted",
2210 cast(GObject2.Callback)cb, data, null, cf);
2212 extern (C) alias static void function (Table* this_, void* user_data=null) nothrow signal_row_reordered;
2213 ulong signal_connect(string name:"row-reordered", CB:signal_row_reordered)
2214 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2215 if (is(typeof(cb)==signal_row_reordered)||_ttmm!(CB, signal_row_reordered)()) {
2216 return signal_connect_data!()(&this, cast(char*)"row-reordered",
2217 cast(GObject2.Callback)cb, data, null, cf);
2220 mixin __interface__;
2223 struct TableIface {
2224 GObject2.TypeInterface parent;
2226 // RETURNS: a AtkObject* representing the referred to
2227 // <row>: a #gint representing a row in @table
2228 // <column>: a #gint representing a column in @table
2229 extern (C) Object* /*new*/ function (Table* table, int row, int column) nothrow ref_at;
2231 // RETURNS: a #gint representing the index at specified position.
2232 // <row>: a #gint representing a row in @table
2233 // <column>: a #gint representing a column in @table
2234 extern (C) int function (Table* table, int row, int column) nothrow get_index_at;
2236 // RETURNS: a gint representing the column at the specified index,
2237 // <index_>: a #gint representing an index in @table
2238 extern (C) int function (Table* table, int index_) nothrow get_column_at_index;
2240 // RETURNS: a gint representing the row at the specified index,
2241 // <index_>: a #gint representing an index in @table
2242 extern (C) int function (Table* table, int index_) nothrow get_row_at_index;
2243 // RETURNS: a gint representing the number of columns, or 0
2244 extern (C) int function (Table* table) nothrow get_n_columns;
2245 // RETURNS: a gint representing the number of rows, or 0
2246 extern (C) int function (Table* table) nothrow get_n_rows;
2248 // RETURNS: a gint representing the column extent at specified position, or 0
2249 // <row>: a #gint representing a row in @table
2250 // <column>: a #gint representing a column in @table
2251 extern (C) int function (Table* table, int row, int column) nothrow get_column_extent_at;
2253 // RETURNS: a gint representing the row extent at specified position, or 0
2254 // <row>: a #gint representing a row in @table
2255 // <column>: a #gint representing a column in @table
2256 extern (C) int function (Table* table, int row, int column) nothrow get_row_extent_at;
2257 // RETURNS: a AtkObject* representing the table caption, or
2258 extern (C) Object* function (Table* table) nothrow get_caption;
2260 // RETURNS: a gchar* representing the column description, or %NULL
2261 // <column>: a #gint representing a column in @table
2262 extern (C) char* function (Table* table, int column) nothrow get_column_description;
2264 // RETURNS: a AtkObject* representing the specified column
2265 // <column>: a #gint representing a column in the table
2266 extern (C) Object* function (Table* table, int column) nothrow get_column_header;
2268 // RETURNS: a gchar* representing the row description, or %NULL
2269 // <row>: a #gint representing a row in @table
2270 extern (C) char* function (Table* table, int row) nothrow get_row_description;
2272 // RETURNS: a AtkObject* representing the specified row
2273 // <row>: a #gint representing a row in the table
2274 extern (C) Object* function (Table* table, int row) nothrow get_row_header;
2275 // RETURNS: a AtkObject* representing a summary description
2276 extern (C) Object* /*new*/ function (Table* table) nothrow get_summary;
2277 // <caption>: a #AtkObject representing the caption to set for @table
2278 extern (C) void function (Table* table, Object* caption) nothrow set_caption;
2280 // <column>: a #gint representing a column in @table
2281 // <description>: a #gchar representing the description text to set for the specified @column of the @table
2282 extern (C) void function (Table* table, int column, char* description) nothrow set_column_description;
2284 // <column>: a #gint representing a column in @table
2285 // <header>: an #AtkTable
2286 extern (C) void function (Table* table, int column, Object* header) nothrow set_column_header;
2288 // <row>: a #gint representing a row in @table
2289 // <description>: a #gchar representing the description text to set for the specified @row of @table
2290 extern (C) void function (Table* table, int row, char* description) nothrow set_row_description;
2292 // <row>: a #gint representing a row in @table
2293 // <header>: an #AtkTable
2294 extern (C) void function (Table* table, int row, Object* header) nothrow set_row_header;
2295 // <accessible>: an #AtkObject representing the summary description to set for @table
2296 extern (C) void function (Table* table, Object* accessible) nothrow set_summary;
2298 // RETURNS: a gint representing the number of selected columns,
2299 // <selected>: a #gint** that is to contain the selected columns numbers
2300 extern (C) int function (Table* table, int** selected) nothrow get_selected_columns;
2302 // RETURNS: a gint representing the number of selected rows,
2303 // <selected>: a #gint** that is to contain the selected row numbers
2304 extern (C) int function (Table* table, int** selected) nothrow get_selected_rows;
2306 // RETURNS: a gboolean representing if the column is selected, or 0
2307 // <column>: a #gint representing a column in @table
2308 extern (C) int function (Table* table, int column) nothrow is_column_selected;
2310 // RETURNS: a gboolean representing if the row is selected, or 0
2311 // <row>: a #gint representing a row in @table
2312 extern (C) int function (Table* table, int row) nothrow is_row_selected;
2314 // RETURNS: a gboolean representing if the cell is selected, or 0
2315 // <row>: a #gint representing a row in @table
2316 // <column>: a #gint representing a column in @table
2317 extern (C) int function (Table* table, int row, int column) nothrow is_selected;
2319 // RETURNS: a gboolean representing if row was successfully added to selection,
2320 // <row>: a #gint representing a row in @table
2321 extern (C) int function (Table* table, int row) nothrow add_row_selection;
2323 // RETURNS: a gboolean representing if the row was successfully removed from
2324 // <row>: a #gint representing a row in @table
2325 extern (C) int function (Table* table, int row) nothrow remove_row_selection;
2327 // RETURNS: a gboolean representing if the column was successfully added to
2328 // <column>: a #gint representing a column in @table
2329 extern (C) int function (Table* table, int column) nothrow add_column_selection;
2331 // RETURNS: a gboolean representing if the column was successfully removed from
2332 // <column>: a #gint representing a column in @table
2333 extern (C) int function (Table* table, int column) nothrow remove_column_selection;
2334 extern (C) void function (Table* table, int row, int num_inserted) nothrow row_inserted;
2335 extern (C) void function (Table* table, int column, int num_inserted) nothrow column_inserted;
2336 extern (C) void function (Table* table, int row, int num_deleted) nothrow row_deleted;
2337 extern (C) void function (Table* table, int column, int num_deleted) nothrow column_deleted;
2338 extern (C) void function (Table* table) nothrow row_reordered;
2339 extern (C) void function (Table* table) nothrow column_reordered;
2340 extern (C) void function (Table* table) nothrow model_changed;
2341 Function pad1, pad2, pad3, pad4;
2344 struct Text /* Interface */ {
2345 mixin template __interface__() {
2346 // Adds a selection bounded by the specified offsets.
2347 // RETURNS: %TRUE if success, %FALSE otherwise
2348 // <start_offset>: the start position of the selected region
2349 // <end_offset>: the offset of the first character after the selected region.
2350 int add_selection()(int start_offset, int end_offset) nothrow {
2351 return atk_text_add_selection(cast(Text*)&this, start_offset, end_offset);
2354 // VERSION: 1.3
2355 // Get the ranges of text in the specified bounding box.
2356 // element of the array returned by this function will be NULL.
2357 // RETURNS: Array of AtkTextRange. The last
2358 // <rect>: An AtkTextRectangle giving the dimensions of the bounding box.
2359 // <coord_type>: Specify whether coordinates are relative to the screen or widget window.
2360 // <x_clip_type>: Specify the horizontal clip type.
2361 // <y_clip_type>: Specify the vertical clip type.
2362 TextRange** /*new*/ get_bounded_ranges()(TextRectangle* rect, CoordType coord_type, TextClipType x_clip_type, TextClipType y_clip_type) nothrow {
2363 return atk_text_get_bounded_ranges(cast(Text*)&this, rect, coord_type, x_clip_type, y_clip_type);
2366 // Gets the offset position of the caret (cursor).
2367 // RETURNS: the offset position of the caret (cursor).
2368 int get_caret_offset()() nothrow {
2369 return atk_text_get_caret_offset(cast(Text*)&this);
2372 // Gets the specified text.
2373 // RETURNS: the character at @offset.
2374 // <offset>: position
2375 dchar get_character_at_offset()(int offset) nothrow {
2376 return atk_text_get_character_at_offset(cast(Text*)&this, offset);
2379 // Gets the character count.
2380 // RETURNS: the number of characters.
2381 int get_character_count()() nothrow {
2382 return atk_text_get_character_count(cast(Text*)&this);
2385 // Get the bounding box containing the glyph representing the character at
2386 // a particular text offset.
2387 // <offset>: The offset of the text character for which bounding information is required.
2388 // <x>: Pointer for the x cordinate of the bounding box
2389 // <y>: Pointer for the y cordinate of the bounding box
2390 // <width>: Pointer for the width of the bounding box
2391 // <height>: Pointer for the height of the bounding box
2392 // <coords>: specify whether coordinates are relative to the screen or widget window
2393 void get_character_extents()(int offset, int* x, int* y, int* width, int* height, CoordType coords) nothrow {
2394 atk_text_get_character_extents(cast(Text*)&this, offset, x, y, width, height, coords);
2397 // Creates an #AtkAttributeSet which consists of the default values of
2398 // attributes for the text. See the enum AtkTextAttribute for types of text
2399 // attributes that can be returned. Note that other attributes may also be
2400 // returned.
2401 // values of attributes. at @offset. this #atkattributeset should be freed by
2402 // a call to atk_attribute_set_free().
2403 // RETURNS: an #AtkAttributeSet which contains the default
2404 AttributeSet* /*new*/ get_default_attributes()() nothrow {
2405 return atk_text_get_default_attributes(cast(Text*)&this);
2408 // Gets the number of selected regions.
2409 // occurred.
2410 // RETURNS: The number of selected regions, or -1 if a failure
2411 int get_n_selections()() nothrow {
2412 return atk_text_get_n_selections(cast(Text*)&this);
2415 // Gets the offset of the character located at coordinates @x and @y. @x and @y
2416 // are interpreted as being relative to the screen or this widget's window
2417 // depending on @coords.
2418 // the specified @x and @y coordinates.
2419 // RETURNS: the offset to the character which is located at
2420 // <x>: screen x-position of character
2421 // <y>: screen y-position of character
2422 // <coords>: specify whether coordinates are relative to the screen or widget window
2423 int get_offset_at_point()(int x, int y, CoordType coords) nothrow {
2424 return atk_text_get_offset_at_point(cast(Text*)&this, x, y, coords);
2427 // VERSION: 1.3
2428 // Get the bounding box for text within the specified range.
2429 // <start_offset>: The offset of the first text character for which boundary information is required.
2430 // <end_offset>: The offset of the text character after the last character for which boundary information is required.
2431 // <coord_type>: Specify whether coordinates are relative to the screen or widget window.
2432 // <rect>: A pointer to a AtkTextRectangle which is filled in by this function.
2433 void get_range_extents()(int start_offset, int end_offset, CoordType coord_type, TextRectangle* rect) nothrow {
2434 atk_text_get_range_extents(cast(Text*)&this, start_offset, end_offset, coord_type, rect);
2437 // Creates an #AtkAttributeSet which consists of the attributes explicitly
2438 // set at the position @offset in the text. @start_offset and @end_offset are
2439 // set to the start and end of the range around @offset where the attributes are
2440 // invariant. Note that @end_offset is the offset of the first character
2441 // after the range. See the enum AtkTextAttribute for types of text
2442 // attributes that can be returned. Note that other attributes may also be
2443 // returned.
2444 // explicitly set at @offset. This #AtkAttributeSet should be freed by a call
2445 // to atk_attribute_set_free().
2446 // RETURNS: an #AtkAttributeSet which contains the attributes
2447 // <offset>: the offset at which to get the attributes, -1 means the offset of the character to be inserted at the caret location.
2448 // <start_offset>: the address to put the start offset of the range
2449 // <end_offset>: the address to put the end offset of the range
2450 AttributeSet* /*new*/ get_run_attributes()(int offset, int* start_offset, int* end_offset) nothrow {
2451 return atk_text_get_run_attributes(cast(Text*)&this, offset, start_offset, end_offset);
2454 // Gets the text from the specified selection.
2455 // to free the returned string.
2456 // RETURNS: a newly allocated string containing the selected text. Use g_free()
2457 // <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.
2458 // <start_offset>: passes back the start position of the selected region
2459 // <end_offset>: passes back the end position of (e.g. offset immediately past) the selected region
2460 char* /*new*/ get_selection()(int selection_num, int* start_offset, int* end_offset) nothrow {
2461 return atk_text_get_selection(cast(Text*)&this, selection_num, start_offset, end_offset);
2464 // Gets the specified text.
2465 // to, but not including @end_offset. Use g_free() to free the returned string.
2466 // RETURNS: a newly allocated string containing the text from @start_offset up
2467 // <start_offset>: start position
2468 // <end_offset>: end position
2469 char* /*new*/ get_text()(int start_offset, int end_offset) nothrow {
2470 return atk_text_get_text(cast(Text*)&this, start_offset, end_offset);
2473 // Gets the specified text.
2474 // If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character after the
2475 // offset is returned.
2476 // If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
2477 // is from the word start after the offset to the next word start.
2478 // The returned string will contain the word after the offset if the offset
2479 // is inside a word or if the offset is not inside a word.
2480 // If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string
2481 // is from the word end at or after the offset to the next work end.
2482 // The returned string will contain the word after the offset if the offset
2483 // is inside a word and will contain the word after the word after the offset
2484 // if the offset is not inside a word.
2485 // If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
2486 // string is from the sentence start after the offset to the next sentence
2487 // start.
2488 // The returned string will contain the sentence after the offset if the offset
2489 // is inside a sentence or if the offset is not inside a sentence.
2490 // If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string
2491 // is from the sentence end at or after the offset to the next sentence end.
2492 // The returned string will contain the sentence after the offset if the offset
2493 // is inside a sentence and will contain the sentence after the sentence
2494 // after the offset if the offset is not inside a sentence.
2495 // If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
2496 // string is from the line start after the offset to the next line start.
2497 // If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string
2498 // is from the line end at or after the offset to the next line end.
2499 // by the specified @boundary_type. Use g_free() to free the returned string.
2500 // RETURNS: a newly allocated string containing the text after @offset bounded
2501 // <offset>: position
2502 // <boundary_type>: An #AtkTextBoundary
2503 // <start_offset>: the start offset of the returned string
2504 // <end_offset>: the offset of the first character after the returned substring
2505 char* /*new*/ get_text_after_offset()(int offset, TextBoundary boundary_type, int* start_offset, int* end_offset) nothrow {
2506 return atk_text_get_text_after_offset(cast(Text*)&this, offset, boundary_type, start_offset, end_offset);
2509 // Gets the specified text.
2510 // If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character at the
2511 // offset is returned.
2512 // If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
2513 // is from the word start at or before the offset to the word start after
2514 // the offset.
2515 // The returned string will contain the word at the offset if the offset
2516 // is inside a word and will contain the word before the offset if the
2517 // offset is not inside a word.
2518 // If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string
2519 // is from the word end before the offset to the word end at or after the
2520 // offset.
2521 // The returned string will contain the word at the offset if the offset
2522 // is inside a word and will contain the word after to the offset if the
2523 // offset is not inside a word.
2524 // If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
2525 // string is from the sentence start at or before the offset to the sentence
2526 // start after the offset.
2527 // The returned string will contain the sentence at the offset if the offset
2528 // is inside a sentence and will contain the sentence before the offset
2529 // if the offset is not inside a sentence.
2530 // If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string
2531 // is from the sentence end before the offset to the sentence end at or
2532 // after the offset.
2533 // The returned string will contain the sentence at the offset if the offset
2534 // is inside a sentence and will contain the sentence after the offset
2535 // if the offset is not inside a sentence.
2536 // If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
2537 // string is from the line start at or before the offset to the line
2538 // start after the offset.
2539 // If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string
2540 // is from the line end before the offset to the line end at or after
2541 // the offset.
2542 // the specified @boundary_type. Use g_free() to free the returned string.
2543 // RETURNS: a newly allocated string containing the text at @offset bounded by
2544 // <offset>: position
2545 // <boundary_type>: An #AtkTextBoundary
2546 // <start_offset>: the start offset of the returned string
2547 // <end_offset>: the offset of the first character after the returned substring
2548 char* /*new*/ get_text_at_offset()(int offset, TextBoundary boundary_type, int* start_offset, int* end_offset) nothrow {
2549 return atk_text_get_text_at_offset(cast(Text*)&this, offset, boundary_type, start_offset, end_offset);
2552 // Gets the specified text.
2553 // If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character before the
2554 // offset is returned.
2555 // If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string
2556 // is from the word start before the word start before or at the offset to
2557 // the word start before or at the offset.
2558 // The returned string will contain the word before the offset if the offset
2559 // is inside a word and will contain the word before the word before the
2560 // offset if the offset is not inside a word.
2561 // If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string
2562 // is from the word end before the word end before the offset to the word
2563 // end before the offset.
2564 // The returned string will contain the word before the offset if the offset
2565 // is inside a word or if the offset is not inside a word.
2566 // If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned
2567 // string is from the sentence start before the sentence start before
2568 // the offset to the sentence start before the offset.
2569 // The returned string will contain the sentence before the offset if the
2570 // offset is inside a sentence and will contain the sentence before the
2571 // sentence before the offset if the offset is not inside a sentence.
2572 // If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string
2573 // is from the sentence end before the sentence end at or before the offset to
2574 // the sentence end at or before the offset.
2575 // The returned string will contain the sentence before the offset if the
2576 // offset is inside a sentence or if the offset is not inside a sentence.
2577 // If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned
2578 // string is from the line start before the line start ar or before the offset
2579 // to the line start ar or before the offset.
2580 // If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string
2581 // is from the line end before the line end before the offset to the
2582 // line end before the offset.
2583 // by the specified @boundary_type. Use g_free() to free the returned string.
2584 // RETURNS: a newly allocated string containing the text before @offset bounded
2585 // <offset>: position
2586 // <boundary_type>: An #AtkTextBoundary
2587 // <start_offset>: the start offset of the returned string
2588 // <end_offset>: the offset of the first character after the returned substring
2589 char* /*new*/ get_text_before_offset()(int offset, TextBoundary boundary_type, int* start_offset, int* end_offset) nothrow {
2590 return atk_text_get_text_before_offset(cast(Text*)&this, offset, boundary_type, start_offset, end_offset);
2593 // Removes the specified selection.
2594 // RETURNS: %TRUE if success, %FALSE otherwise
2595 // <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.
2596 int remove_selection()(int selection_num) nothrow {
2597 return atk_text_remove_selection(cast(Text*)&this, selection_num);
2600 // Sets the caret (cursor) position to the specified @offset.
2601 // RETURNS: %TRUE if success, %FALSE otherwise.
2602 // <offset>: position
2603 int set_caret_offset()(int offset) nothrow {
2604 return atk_text_set_caret_offset(cast(Text*)&this, offset);
2607 // Changes the start and end offset of the specified selection.
2608 // RETURNS: %TRUE if success, %FALSE otherwise
2609 // <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.
2610 // <start_offset>: the new start position of the selection
2611 // <end_offset>: the new end position of (e.g. offset immediately past) the selection
2612 int set_selection()(int selection_num, int start_offset, int end_offset) nothrow {
2613 return atk_text_set_selection(cast(Text*)&this, selection_num, start_offset, end_offset);
2615 extern (C) alias static void function (Text* this_, void* user_data=null) nothrow signal_text_attributes_changed;
2617 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2618 return super_.signal_connect!name(cb, data, cf);
2621 ulong signal_connect(string name:"text-attributes-changed", CB:signal_text_attributes_changed)
2622 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2623 if (is(typeof(cb)==signal_text_attributes_changed)||_ttmm!(CB, signal_text_attributes_changed)()) {
2624 return signal_connect_data!()(&this, cast(char*)"text-attributes-changed",
2625 cast(GObject2.Callback)cb, data, null, cf);
2627 extern (C) alias static void function (Text* this_, int object, void* user_data=null) nothrow signal_text_caret_moved;
2628 ulong signal_connect(string name:"text-caret-moved", CB:signal_text_caret_moved)
2629 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2630 if (is(typeof(cb)==signal_text_caret_moved)||_ttmm!(CB, signal_text_caret_moved)()) {
2631 return signal_connect_data!()(&this, cast(char*)"text-caret-moved",
2632 cast(GObject2.Callback)cb, data, null, cf);
2634 extern (C) alias static void function (Text* this_, int object, int p0, void* user_data=null) nothrow signal_text_changed;
2635 ulong signal_connect(string name:"text-changed", CB:signal_text_changed)
2636 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2637 if (is(typeof(cb)==signal_text_changed)||_ttmm!(CB, signal_text_changed)()) {
2638 return signal_connect_data!()(&this, cast(char*)"text-changed",
2639 cast(GObject2.Callback)cb, data, null, cf);
2641 extern (C) alias static void function (Text* this_, int object, int p0, char* p1, void* user_data=null) nothrow signal_text_insert;
2642 ulong signal_connect(string name:"text-insert", CB:signal_text_insert)
2643 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2644 if (is(typeof(cb)==signal_text_insert)||_ttmm!(CB, signal_text_insert)()) {
2645 return signal_connect_data!()(&this, cast(char*)"text-insert",
2646 cast(GObject2.Callback)cb, data, null, cf);
2648 extern (C) alias static void function (Text* this_, int object, int p0, char* p1, void* user_data=null) nothrow signal_text_remove;
2649 ulong signal_connect(string name:"text-remove", CB:signal_text_remove)
2650 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2651 if (is(typeof(cb)==signal_text_remove)||_ttmm!(CB, signal_text_remove)()) {
2652 return signal_connect_data!()(&this, cast(char*)"text-remove",
2653 cast(GObject2.Callback)cb, data, null, cf);
2655 extern (C) alias static void function (Text* this_, void* user_data=null) nothrow signal_text_selection_changed;
2656 ulong signal_connect(string name:"text-selection-changed", CB:signal_text_selection_changed)
2657 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2658 if (is(typeof(cb)==signal_text_selection_changed)||_ttmm!(CB, signal_text_selection_changed)()) {
2659 return signal_connect_data!()(&this, cast(char*)"text-selection-changed",
2660 cast(GObject2.Callback)cb, data, null, cf);
2662 extern (C) alias static void function (Text* this_, int object, int p0, int p1, char* p2, void* user_data=null) nothrow signal_text_update;
2663 ulong signal_connect(string name:"text-update", CB:signal_text_update)
2664 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2665 if (is(typeof(cb)==signal_text_update)||_ttmm!(CB, signal_text_update)()) {
2666 return signal_connect_data!()(&this, cast(char*)"text-update",
2667 cast(GObject2.Callback)cb, data, null, cf);
2670 mixin __interface__;
2673 enum TextAttribute {
2674 INVALID = 0,
2675 LEFT_MARGIN = 1,
2676 RIGHT_MARGIN = 2,
2677 INDENT = 3,
2678 INVISIBLE = 4,
2679 EDITABLE = 5,
2680 PIXELS_ABOVE_LINES = 6,
2681 PIXELS_BELOW_LINES = 7,
2682 PIXELS_INSIDE_WRAP = 8,
2683 BG_FULL_HEIGHT = 9,
2684 RISE = 10,
2685 UNDERLINE = 11,
2686 STRIKETHROUGH = 12,
2687 SIZE = 13,
2688 SCALE = 14,
2689 WEIGHT = 15,
2690 LANGUAGE = 16,
2691 FAMILY_NAME = 17,
2692 BG_COLOR = 18,
2693 FG_COLOR = 19,
2694 BG_STIPPLE = 20,
2695 FG_STIPPLE = 21,
2696 WRAP_MODE = 22,
2697 DIRECTION = 23,
2698 JUSTIFICATION = 24,
2699 STRETCH = 25,
2700 VARIANT = 26,
2701 STYLE = 27,
2702 LAST_DEFINED = 28
2704 enum TextBoundary {
2705 CHAR = 0,
2706 WORD_START = 1,
2707 WORD_END = 2,
2708 SENTENCE_START = 3,
2709 SENTENCE_END = 4,
2710 LINE_START = 5,
2711 LINE_END = 6
2713 enum TextClipType {
2714 NONE = 0,
2715 MIN = 1,
2716 MAX = 2,
2717 BOTH = 3
2719 struct TextIface {
2720 GObject2.TypeInterface parent;
2722 // RETURNS: a newly allocated string containing the text from @start_offset up
2723 // <start_offset>: start position
2724 // <end_offset>: end position
2725 extern (C) char* /*new*/ function (Text* text, int start_offset, int end_offset) nothrow get_text;
2727 // RETURNS: a newly allocated string containing the text after @offset bounded
2728 // <offset>: position
2729 // <boundary_type>: An #AtkTextBoundary
2730 // <start_offset>: the start offset of the returned string
2731 // <end_offset>: the offset of the first character after the returned substring
2732 extern (C) char* /*new*/ function (Text* text, int offset, TextBoundary boundary_type, int* start_offset, int* end_offset) nothrow get_text_after_offset;
2734 // RETURNS: a newly allocated string containing the text at @offset bounded by
2735 // <offset>: position
2736 // <boundary_type>: An #AtkTextBoundary
2737 // <start_offset>: the start offset of the returned string
2738 // <end_offset>: the offset of the first character after the returned substring
2739 extern (C) char* /*new*/ function (Text* text, int offset, TextBoundary boundary_type, int* start_offset, int* end_offset) nothrow get_text_at_offset;
2741 // RETURNS: the character at @offset.
2742 // <offset>: position
2743 extern (C) dchar function (Text* text, int offset) nothrow get_character_at_offset;
2745 // RETURNS: a newly allocated string containing the text before @offset bounded
2746 // <offset>: position
2747 // <boundary_type>: An #AtkTextBoundary
2748 // <start_offset>: the start offset of the returned string
2749 // <end_offset>: the offset of the first character after the returned substring
2750 extern (C) char* /*new*/ function (Text* text, int offset, TextBoundary boundary_type, int* start_offset, int* end_offset) nothrow get_text_before_offset;
2751 // RETURNS: the offset position of the caret (cursor).
2752 extern (C) int function (Text* text) nothrow get_caret_offset;
2754 // RETURNS: an #AtkAttributeSet which contains the attributes
2755 // <offset>: the offset at which to get the attributes, -1 means the offset of the character to be inserted at the caret location.
2756 // <start_offset>: the address to put the start offset of the range
2757 // <end_offset>: the address to put the end offset of the range
2758 extern (C) AttributeSet* /*new*/ function (Text* text, int offset, int* start_offset, int* end_offset) nothrow get_run_attributes;
2759 // RETURNS: an #AtkAttributeSet which contains the default
2760 extern (C) AttributeSet* /*new*/ function (Text* text) nothrow get_default_attributes;
2762 // <offset>: The offset of the text character for which bounding information is required.
2763 // <x>: Pointer for the x cordinate of the bounding box
2764 // <y>: Pointer for the y cordinate of the bounding box
2765 // <width>: Pointer for the width of the bounding box
2766 // <height>: Pointer for the height of the bounding box
2767 // <coords>: specify whether coordinates are relative to the screen or widget window
2768 extern (C) void function (Text* text, int offset, int* x, int* y, int* width, int* height, CoordType coords) nothrow get_character_extents;
2769 // RETURNS: the number of characters.
2770 extern (C) int function (Text* text) nothrow get_character_count;
2772 // RETURNS: the offset to the character which is located at
2773 // <x>: screen x-position of character
2774 // <y>: screen y-position of character
2775 // <coords>: specify whether coordinates are relative to the screen or widget window
2776 extern (C) int function (Text* text, int x, int y, CoordType coords) nothrow get_offset_at_point;
2777 // RETURNS: The number of selected regions, or -1 if a failure
2778 extern (C) int function (Text* text) nothrow get_n_selections;
2780 // RETURNS: a newly allocated string containing the selected text. Use g_free()
2781 // <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.
2782 // <start_offset>: passes back the start position of the selected region
2783 // <end_offset>: passes back the end position of (e.g. offset immediately past) the selected region
2784 extern (C) char* /*new*/ function (Text* text, int selection_num, int* start_offset, int* end_offset) nothrow get_selection;
2786 // RETURNS: %TRUE if success, %FALSE otherwise
2787 // <start_offset>: the start position of the selected region
2788 // <end_offset>: the offset of the first character after the selected region.
2789 extern (C) int function (Text* text, int start_offset, int end_offset) nothrow add_selection;
2791 // RETURNS: %TRUE if success, %FALSE otherwise
2792 // <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.
2793 extern (C) int function (Text* text, int selection_num) nothrow remove_selection;
2795 // RETURNS: %TRUE if success, %FALSE otherwise
2796 // <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.
2797 // <start_offset>: the new start position of the selection
2798 // <end_offset>: the new end position of (e.g. offset immediately past) the selection
2799 extern (C) int function (Text* text, int selection_num, int start_offset, int end_offset) nothrow set_selection;
2801 // RETURNS: %TRUE if success, %FALSE otherwise.
2802 // <offset>: position
2803 extern (C) int function (Text* text, int offset) nothrow set_caret_offset;
2804 extern (C) void function (Text* text, int position, int length) nothrow text_changed;
2805 extern (C) void function (Text* text, int location) nothrow text_caret_moved;
2806 extern (C) void function (Text* text) nothrow text_selection_changed;
2807 extern (C) void function (Text* text) nothrow text_attributes_changed;
2809 // <start_offset>: The offset of the first text character for which boundary information is required.
2810 // <end_offset>: The offset of the text character after the last character for which boundary information is required.
2811 // <coord_type>: Specify whether coordinates are relative to the screen or widget window.
2812 // <rect>: A pointer to a AtkTextRectangle which is filled in by this function.
2813 extern (C) void function (Text* text, int start_offset, int end_offset, CoordType coord_type, TextRectangle* rect) nothrow get_range_extents;
2814 extern (C) TextRange** /*new*/ function (Text* text, TextRectangle* rect, CoordType coord_type, TextClipType x_clip_type, TextClipType y_clip_type) nothrow get_bounded_ranges;
2815 Function pad4;
2818 // A structure used to describe a text range.
2819 struct TextRange {
2820 TextRectangle bounds;
2821 int start_offset, end_offset;
2822 char* content;
2825 // A structure used to store a rectangle used by AtkText.
2826 struct TextRectangle {
2827 int x, y, width, height;
2830 struct Util /* : GObject.Object */ {
2831 alias parent this;
2832 alias parent super_;
2833 alias parent object;
2834 GObject2.Object parent;
2837 struct UtilClass {
2838 GObject2.ObjectClass parent;
2839 // Unintrospectable functionp: add_global_event_listener() / ()
2840 extern (C) uint function (GObject2.SignalEmissionHook listener, char* event_type) nothrow add_global_event_listener;
2841 extern (C) void function (uint listener_id) nothrow remove_global_event_listener;
2842 // Unintrospectable functionp: add_key_event_listener() / ()
2843 extern (C) uint function (KeySnoopFunc listener, void* data) nothrow add_key_event_listener;
2844 extern (C) void function (uint listener_id) nothrow remove_key_event_listener;
2845 // Unintrospectable functionp: get_root() / ()
2846 extern (C) Object* function () nothrow get_root;
2847 extern (C) char* function () nothrow get_toolkit_name;
2848 extern (C) char* function () nothrow get_toolkit_version;
2851 struct Value /* Interface */ {
2852 mixin template __interface__() {
2853 // Gets the value of this object.
2854 // <value>: a #GValue representing the current accessible value
2855 void get_current_value()(GObject2.Value* value) nothrow {
2856 atk_value_get_current_value(cast(Value*)&this, value);
2859 // Gets the maximum value of this object.
2860 // <value>: a #GValue representing the maximum accessible value
2861 void get_maximum_value()(GObject2.Value* value) nothrow {
2862 atk_value_get_maximum_value(cast(Value*)&this, value);
2865 // VERSION: 1.12
2866 // Gets the minimum increment by which the value of this object may be changed. If zero,
2867 // the minimum increment is undefined, which may mean that it is limited only by the
2868 // floating point precision of the platform.
2869 // <value>: a #GValue representing the minimum increment by which the accessible value may be changed
2870 void get_minimum_increment()(GObject2.Value* value) nothrow {
2871 atk_value_get_minimum_increment(cast(Value*)&this, value);
2874 // Gets the minimum value of this object.
2875 // <value>: a #GValue representing the minimum accessible value
2876 void get_minimum_value()(GObject2.Value* value) nothrow {
2877 atk_value_get_minimum_value(cast(Value*)&this, value);
2880 // Sets the value of this object.
2881 // RETURNS: %TRUE if new value is successfully set, %FALSE otherwise.
2882 // <value>: a #GValue which is the desired new accessible value.
2883 int set_current_value()(GObject2.Value* value) nothrow {
2884 return atk_value_set_current_value(cast(Value*)&this, value);
2887 mixin __interface__;
2890 struct ValueIface {
2891 GObject2.TypeInterface parent;
2892 // <value>: a #GValue representing the current accessible value
2893 extern (C) void function (Value* obj, GObject2.Value* value) nothrow get_current_value;
2894 // <value>: a #GValue representing the maximum accessible value
2895 extern (C) void function (Value* obj, GObject2.Value* value) nothrow get_maximum_value;
2896 // <value>: a #GValue representing the minimum accessible value
2897 extern (C) void function (Value* obj, GObject2.Value* value) nothrow get_minimum_value;
2899 // RETURNS: %TRUE if new value is successfully set, %FALSE otherwise.
2900 // <value>: a #GValue which is the desired new accessible value.
2901 extern (C) int function (Value* obj, GObject2.Value* value) nothrow set_current_value;
2902 // <value>: a #GValue representing the minimum increment by which the accessible value may be changed
2903 extern (C) void function (Value* obj, GObject2.Value* value) nothrow get_minimum_increment;
2904 Function pad1;
2907 struct Window /* Interface */ {
2908 mixin template __interface__() { extern (C) alias static void function (Window* this_, void* user_data=null) nothrow signal_activate;
2910 ulong signal_connect(string name, CB)(CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0) {
2911 return super_.signal_connect!name(cb, data, cf);
2914 ulong signal_connect(string name:"activate", CB:signal_activate)
2915 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2916 if (is(typeof(cb)==signal_activate)||_ttmm!(CB, signal_activate)()) {
2917 return signal_connect_data!()(&this, cast(char*)"activate",
2918 cast(GObject2.Callback)cb, data, null, cf);
2920 extern (C) alias static void function (Window* this_, void* user_data=null) nothrow signal_create;
2921 ulong signal_connect(string name:"create", CB:signal_create)
2922 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2923 if (is(typeof(cb)==signal_create)||_ttmm!(CB, signal_create)()) {
2924 return signal_connect_data!()(&this, cast(char*)"create",
2925 cast(GObject2.Callback)cb, data, null, cf);
2927 extern (C) alias static void function (Window* this_, void* user_data=null) nothrow signal_deactivate;
2928 ulong signal_connect(string name:"deactivate", CB:signal_deactivate)
2929 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2930 if (is(typeof(cb)==signal_deactivate)||_ttmm!(CB, signal_deactivate)()) {
2931 return signal_connect_data!()(&this, cast(char*)"deactivate",
2932 cast(GObject2.Callback)cb, data, null, cf);
2934 extern (C) alias static void function (Window* this_, void* user_data=null) nothrow signal_destroy;
2935 ulong signal_connect(string name:"destroy", CB:signal_destroy)
2936 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2937 if (is(typeof(cb)==signal_destroy)||_ttmm!(CB, signal_destroy)()) {
2938 return signal_connect_data!()(&this, cast(char*)"destroy",
2939 cast(GObject2.Callback)cb, data, null, cf);
2941 extern (C) alias static void function (Window* this_, void* user_data=null) nothrow signal_maximize;
2942 ulong signal_connect(string name:"maximize", CB:signal_maximize)
2943 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2944 if (is(typeof(cb)==signal_maximize)||_ttmm!(CB, signal_maximize)()) {
2945 return signal_connect_data!()(&this, cast(char*)"maximize",
2946 cast(GObject2.Callback)cb, data, null, cf);
2948 extern (C) alias static void function (Window* this_, void* user_data=null) nothrow signal_minimize;
2949 ulong signal_connect(string name:"minimize", CB:signal_minimize)
2950 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2951 if (is(typeof(cb)==signal_minimize)||_ttmm!(CB, signal_minimize)()) {
2952 return signal_connect_data!()(&this, cast(char*)"minimize",
2953 cast(GObject2.Callback)cb, data, null, cf);
2955 extern (C) alias static void function (Window* this_, void* user_data=null) nothrow signal_move;
2956 ulong signal_connect(string name:"move", CB:signal_move)
2957 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2958 if (is(typeof(cb)==signal_move)||_ttmm!(CB, signal_move)()) {
2959 return signal_connect_data!()(&this, cast(char*)"move",
2960 cast(GObject2.Callback)cb, data, null, cf);
2962 extern (C) alias static void function (Window* this_, void* user_data=null) nothrow signal_resize;
2963 ulong signal_connect(string name:"resize", CB:signal_resize)
2964 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2965 if (is(typeof(cb)==signal_resize)||_ttmm!(CB, signal_resize)()) {
2966 return signal_connect_data!()(&this, cast(char*)"resize",
2967 cast(GObject2.Callback)cb, data, null, cf);
2969 extern (C) alias static void function (Window* this_, void* user_data=null) nothrow signal_restore;
2970 ulong signal_connect(string name:"restore", CB:signal_restore)
2971 (CB cb, void* data=null, ConnectFlags cf=cast(ConnectFlags)0)
2972 if (is(typeof(cb)==signal_restore)||_ttmm!(CB, signal_restore)()) {
2973 return signal_connect_data!()(&this, cast(char*)"restore",
2974 cast(GObject2.Callback)cb, data, null, cf);
2977 mixin __interface__;
2980 struct WindowIface {
2981 GObject2.TypeInterface parent;
2982 void*[16] _padding_dummy;
2985 struct _PropertyValues {
2986 char* property_name;
2987 GObject2.Value old_value, new_value;
2990 struct _Registry {
2991 GObject2.Object parent;
2992 GLib2.HashTable* factory_type_registry, factory_singleton_cache;
2995 struct _RegistryClass {
2996 GObject2.ObjectClass parent_class;
3000 // Unintrospectable function: add_focus_tracker() / atk_add_focus_tracker()
3001 // Adds the specified function to the list of functions to be called
3002 // when an object receives focus.
3003 // RETURNS: added focus tracker id, or 0 on failure.
3004 // <focus_tracker>: Function to be added to the list of functions to be called when an object receives focus.
3005 static uint add_focus_tracker()(EventListener focus_tracker) nothrow {
3006 return atk_add_focus_tracker(focus_tracker);
3010 // Unintrospectable function: add_global_event_listener() / atk_add_global_event_listener()
3011 // Adds the specified function to the list of functions to be called
3012 // when an ATK event of type event_type occurs.
3013 // The format of event_type is the following:
3014 // "ATK:<atk_type>:<atk_event>
3015 // Where "ATK" works as the namespace, <atk_interface> is the name of
3016 // the ATK type (interface or object) and <atk_event> is the name of
3017 // the signal defined on that interface.
3018 // For example:
3019 // ATK:AtkObject:state-change
3020 // ATK:AtkText:text-selection-changed
3021 // RETURNS: added event listener id, or 0 on failure.
3022 // <listener>: the listener to notify
3023 // <event_type>: the type of event for which notification is requested
3024 static uint add_global_event_listener()(GObject2.SignalEmissionHook listener, char* event_type) nothrow {
3025 return atk_add_global_event_listener(listener, event_type);
3029 // Unintrospectable function: add_key_event_listener() / atk_add_key_event_listener()
3030 // Adds the specified function to the list of functions to be called
3031 // when a key event occurs. The @data element will be passed to the
3032 // #AtkKeySnoopFunc (@listener) as the @func_data param, on notification.
3033 // RETURNS: added event listener id, or 0 on failure.
3034 // <listener>: the listener to notify
3035 // <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.
3036 static uint add_key_event_listener()(KeySnoopFunc listener, void* data) nothrow {
3037 return atk_add_key_event_listener(listener, data);
3041 // Frees the memory used by an #AtkAttributeSet, including all its
3042 // #AtkAttributes.
3043 // <attrib_set>: The #AtkAttributeSet to free
3044 static void attribute_set_free()(AttributeSet* attrib_set) nothrow {
3045 atk_attribute_set_free(attrib_set);
3049 // Unintrospectable function: focus_tracker_init() / atk_focus_tracker_init()
3050 // Specifies the function to be called for focus tracker initialization.
3051 // This function should be called by an implementation of the
3052 // ATK interface if any specific work needs to be done to enable
3053 // focus tracking.
3054 // <init>: Function to be called for focus tracker initialization
3055 static void focus_tracker_init()(EventListenerInit init) nothrow {
3056 atk_focus_tracker_init(init);
3060 // Cause the focus tracker functions which have been specified to be
3061 // executed for the object.
3062 // <object>: an #AtkObject
3063 static void focus_tracker_notify()(Object* object) nothrow {
3064 atk_focus_tracker_notify(object);
3068 // Gets a default implementation of the #AtkObjectFactory/type
3069 // registry.
3070 // registry for registering new #AtkObject factories. Following
3071 // a call to this function, maintainers may call atk_registry_set_factory_type()
3072 // to associate an #AtkObjectFactory subclass with the GType of objects
3073 // for whom accessibility information will be provided.
3074 // #AtkObjectFactory/type registry
3075 // RETURNS: a default implementation of the
3076 static Registry* /*new*/ get_default_registry()() nothrow {
3077 return atk_get_default_registry();
3081 // VERSION: 1.6
3082 // Gets the currently focused object.
3083 // application
3084 // RETURNS: the currently focused object for the current
3085 static Object* get_focus_object()() nothrow {
3086 return atk_get_focus_object();
3090 // Gets the root accessible container for the current application.
3091 // application
3092 // RETURNS: the root accessible container for the current
3093 static Object* get_root()() nothrow {
3094 return atk_get_root();
3098 // Gets name string for the GUI toolkit implementing ATK for this application.
3099 // RETURNS: name string for the GUI toolkit implementing ATK for this application
3100 static char* get_toolkit_name()() nothrow {
3101 return atk_get_toolkit_name();
3105 // Gets version string for the GUI toolkit implementing ATK for this application.
3106 // RETURNS: version string for the GUI toolkit implementing ATK for this application
3107 static char* get_toolkit_version()() nothrow {
3108 return atk_get_toolkit_version();
3112 // VERSION: 1.20
3113 // Gets the current version for ATK.
3114 // RETURNS: version string for ATK
3115 static char* get_version()() nothrow {
3116 return atk_get_version();
3120 // Get the #AtkRelationType type corresponding to a relation name.
3121 // or #ATK_RELATION_NULL if no matching relation type is found.
3122 // RETURNS: the #AtkRelationType enumerated type corresponding to the specified name,
3123 // <name>: a string which is the (non-localized) name of an ATK relation type.
3124 static RelationType relation_type_for_name()(char* name) nothrow {
3125 return atk_relation_type_for_name(name);
3129 // Gets the description string describing the #AtkRelationType @type.
3130 // RETURNS: the string describing the AtkRelationType
3131 // <type>: The #AtkRelationType whose name is required
3132 static char* relation_type_get_name()(RelationType type) nothrow {
3133 return atk_relation_type_get_name(type);
3137 // Associate @name with a new #AtkRelationType
3138 // RETURNS: an #AtkRelationType associated with @name
3139 // <name>: a name string
3140 static RelationType relation_type_register()(char* name) nothrow {
3141 return atk_relation_type_register(name);
3145 // Removes the specified focus tracker from the list of functions
3146 // to be called when any object receives focus.
3147 // <tracker_id>: the id of the focus tracker to remove
3148 static void remove_focus_tracker()(uint tracker_id) nothrow {
3149 atk_remove_focus_tracker(tracker_id);
3153 // Removes the specified event listener
3154 // <listener_id>: the id of the event listener to remove
3155 static void remove_global_event_listener()(uint listener_id) nothrow {
3156 atk_remove_global_event_listener(listener_id);
3160 // Removes the specified event listener
3161 // <listener_id>: the id of the event listener to remove
3162 static void remove_key_event_listener()(uint listener_id) nothrow {
3163 atk_remove_key_event_listener(listener_id);
3167 // Get the #AtkRole type corresponding to a rolew name.
3168 // or #ATK_ROLE_INVALID if no matching role is found.
3169 // RETURNS: the #AtkRole enumerated type corresponding to the specified
3170 // <name>: a string which is the (non-localized) name of an ATK role.
3171 static Role role_for_name()(char* name) nothrow {
3172 return atk_role_for_name(name);
3176 // Gets the localized description string describing the #AtkRole @role.
3177 // RETURNS: the localized string describing the AtkRole
3178 // <role>: The #AtkRole whose localized name is required
3179 static char* role_get_localized_name()(Role role) nothrow {
3180 return atk_role_get_localized_name(role);
3184 // Gets the description string describing the #AtkRole @role.
3185 // RETURNS: the string describing the AtkRole
3186 // <role>: The #AtkRole whose name is required
3187 static char* role_get_name()(Role role) nothrow {
3188 return atk_role_get_name(role);
3192 // Registers the role specified by @name.
3193 // RETURNS: an #AtkRole for the new role.
3194 // <name>: a character string describing the new role.
3195 static Role role_register()(char* name) nothrow {
3196 return atk_role_register(name);
3200 // Gets the #AtkStateType corresponding to the description string @name.
3201 // RETURNS: an #AtkStateType corresponding to @name
3202 // <name>: a character string state name
3203 static StateType state_type_for_name()(char* name) nothrow {
3204 return atk_state_type_for_name(name);
3208 // Gets the description string describing the #AtkStateType @type.
3209 // RETURNS: the string describing the AtkStateType
3210 // <type>: The #AtkStateType whose name is required
3211 static char* state_type_get_name()(StateType type) nothrow {
3212 return atk_state_type_get_name(type);
3216 // Register a new object state.
3217 // RETURNS: an #AtkState value for the new state.
3218 // <name>: a character string describing the new state.
3219 static StateType state_type_register()(char* name) nothrow {
3220 return atk_state_type_register(name);
3224 // Get the #AtkTextAttribute type corresponding to a text attribute name.
3225 // or #ATK_TEXT_ATTRIBUTE_INVALID if no matching text attribute is found.
3226 // RETURNS: the #AtkTextAttribute enumerated type corresponding to the specified
3227 // <name>: a string which is the (non-localized) name of an ATK text attribute.
3228 static TextAttribute text_attribute_for_name()(char* name) nothrow {
3229 return atk_text_attribute_for_name(name);
3233 // Gets the name corresponding to the #AtkTextAttribute
3234 // RETURNS: a string containing the name; this string should not be freed
3235 // <attr>: The #AtkTextAttribute whose name is required
3236 static char* text_attribute_get_name()(TextAttribute attr) nothrow {
3237 return atk_text_attribute_get_name(attr);
3241 // Gets the value for the index of the #AtkTextAttribute
3242 // NULL is returned if there are no values maintained for the attr value.
3243 // RETURNS: a string containing the value; this string should not be freed;
3244 // <attr>: The #AtkTextAttribute for which a value is required
3245 // <index_>: The index of the required value
3246 static char* text_attribute_get_value()(TextAttribute attr, int index_) nothrow {
3247 return atk_text_attribute_get_value(attr, index_);
3251 // Associate @name with a new #AtkTextAttribute
3252 // RETURNS: an #AtkTextAttribute associated with @name
3253 // <name>: a name string
3254 static TextAttribute text_attribute_register()(char* name) nothrow {
3255 return atk_text_attribute_register(name);
3259 // VERSION: 1.3
3260 // Frees the memory associated with an array of AtkTextRange. It is assumed
3261 // that the array was returned by the function atk_text_get_bounded_ranges
3262 // and is NULL terminated.
3263 // <ranges>: A pointer to an array of #AtkTextRange which is to be freed.
3264 static void text_free_ranges()(TextRange** ranges) nothrow {
3265 atk_text_free_ranges(ranges);
3269 // C prototypes:
3271 extern (C) {
3272 int atk_action_do_action(Action* this_, int i) nothrow;
3273 char* atk_action_get_description(Action* this_, int i) nothrow;
3274 char* atk_action_get_keybinding(Action* this_, int i) nothrow;
3275 char* atk_action_get_localized_name(Action* this_, int i) nothrow;
3276 int atk_action_get_n_actions(Action* this_) nothrow;
3277 char* atk_action_get_name(Action* this_, int i) nothrow;
3278 int atk_action_set_description(Action* this_, int i, char* desc) nothrow;
3279 uint atk_component_add_focus_handler(Component* this_, FocusHandler handler) nothrow;
3280 int atk_component_contains(Component* this_, int x, int y, CoordType coord_type) nothrow;
3281 double atk_component_get_alpha(Component* this_) nothrow;
3282 void atk_component_get_extents(Component* this_, int* x, int* y, int* width, int* height, CoordType coord_type) nothrow;
3283 Layer atk_component_get_layer(Component* this_) nothrow;
3284 int atk_component_get_mdi_zorder(Component* this_) nothrow;
3285 void atk_component_get_position(Component* this_, int* x, int* y, CoordType coord_type) nothrow;
3286 void atk_component_get_size(Component* this_, int* width, int* height) nothrow;
3287 int atk_component_grab_focus(Component* this_) nothrow;
3288 Object* /*new*/ atk_component_ref_accessible_at_point(Component* this_, int x, int y, CoordType coord_type) nothrow;
3289 void atk_component_remove_focus_handler(Component* this_, uint handler_id) nothrow;
3290 int atk_component_set_extents(Component* this_, int x, int y, int width, int height, CoordType coord_type) nothrow;
3291 int atk_component_set_position(Component* this_, int x, int y, CoordType coord_type) nothrow;
3292 int atk_component_set_size(Component* this_, int width, int height) nothrow;
3293 char* atk_document_get_attribute_value(Document* this_, char* attribute_name) nothrow;
3294 AttributeSet* atk_document_get_attributes(Document* this_) nothrow;
3295 void* atk_document_get_document(Document* this_) nothrow;
3296 char* atk_document_get_document_type(Document* this_) nothrow;
3297 char* atk_document_get_locale(Document* this_) nothrow;
3298 int atk_document_set_attribute_value(Document* this_, char* attribute_name, char* attribute_value) nothrow;
3299 void atk_editable_text_copy_text(EditableText* this_, int start_pos, int end_pos) nothrow;
3300 void atk_editable_text_cut_text(EditableText* this_, int start_pos, int end_pos) nothrow;
3301 void atk_editable_text_delete_text(EditableText* this_, int start_pos, int end_pos) nothrow;
3302 void atk_editable_text_insert_text(EditableText* this_, char* string_, int length, int* position) nothrow;
3303 void atk_editable_text_paste_text(EditableText* this_, int position) nothrow;
3304 int atk_editable_text_set_run_attributes(EditableText* this_, AttributeSet* attrib_set, int start_offset, int end_offset) nothrow;
3305 void atk_editable_text_set_text_contents(EditableText* this_, char* string_) nothrow;
3306 Object* atk_gobject_accessible_for_object(GObject2.Object* obj) nothrow;
3307 GObject2.Object* atk_gobject_accessible_get_object(GObjectAccessible* this_) nothrow;
3308 int atk_hyperlink_get_end_index(Hyperlink* this_) nothrow;
3309 int atk_hyperlink_get_n_anchors(Hyperlink* this_) nothrow;
3310 Object* atk_hyperlink_get_object(Hyperlink* this_, int i) nothrow;
3311 int atk_hyperlink_get_start_index(Hyperlink* this_) nothrow;
3312 char* /*new*/ atk_hyperlink_get_uri(Hyperlink* this_, int i) nothrow;
3313 int atk_hyperlink_is_inline(Hyperlink* this_) nothrow;
3314 int atk_hyperlink_is_valid(Hyperlink* this_) nothrow;
3315 Hyperlink* /*new*/ atk_hyperlink_impl_get_hyperlink(HyperlinkImpl* this_) nothrow;
3316 Hyperlink* atk_hypertext_get_link(Hypertext* this_, int link_index) nothrow;
3317 int atk_hypertext_get_link_index(Hypertext* this_, int char_index) nothrow;
3318 int atk_hypertext_get_n_links(Hypertext* this_) nothrow;
3319 char* atk_image_get_image_description(Image* this_) nothrow;
3320 char* atk_image_get_image_locale(Image* this_) nothrow;
3321 void atk_image_get_image_position(Image* this_, int* x, int* y, CoordType coord_type) nothrow;
3322 void atk_image_get_image_size(Image* this_, int* width, int* height) nothrow;
3323 int atk_image_set_image_description(Image* this_, char* description) nothrow;
3324 Object* /*new*/ atk_implementor_ref_accessible(Implementor* this_) nothrow;
3325 Misc* atk_misc_get_instance() nothrow;
3326 void atk_misc_threads_enter(Misc* this_) nothrow;
3327 void atk_misc_threads_leave(Misc* this_) nothrow;
3328 NoOpObject* /*new*/ atk_no_op_object_new(GObject2.Object* obj) nothrow;
3329 NoOpObjectFactory* /*new*/ atk_no_op_object_factory_new() nothrow;
3330 int atk_object_add_relationship(Object* this_, RelationType relationship, Object* target) nothrow;
3331 uint atk_object_connect_property_change_handler(Object* this_, PropertyChangeHandler* handler) nothrow;
3332 AttributeSet* atk_object_get_attributes(Object* this_) nothrow;
3333 char* atk_object_get_description(Object* this_) nothrow;
3334 int atk_object_get_index_in_parent(Object* this_) nothrow;
3335 int atk_object_get_n_accessible_children(Object* this_) nothrow;
3336 char* atk_object_get_name(Object* this_) nothrow;
3337 Object* atk_object_get_parent(Object* this_) nothrow;
3338 Role atk_object_get_role(Object* this_) nothrow;
3339 void atk_object_initialize(Object* this_, void* data) nothrow;
3340 void atk_object_notify_state_change(Object* this_, State state, int value) nothrow;
3341 Object* /*new*/ atk_object_ref_accessible_child(Object* this_, int i) nothrow;
3342 RelationSet* /*new*/ atk_object_ref_relation_set(Object* this_) nothrow;
3343 StateSet* /*new*/ atk_object_ref_state_set(Object* this_) nothrow;
3344 void atk_object_remove_property_change_handler(Object* this_, uint handler_id) nothrow;
3345 int atk_object_remove_relationship(Object* this_, RelationType relationship, Object* target) nothrow;
3346 void atk_object_set_description(Object* this_, char* description) nothrow;
3347 void atk_object_set_name(Object* this_, char* name) nothrow;
3348 void atk_object_set_parent(Object* this_, Object* parent) nothrow;
3349 void atk_object_set_role(Object* this_, Role role) nothrow;
3350 Object* /*new*/ atk_object_factory_create_accessible(ObjectFactory* this_, GObject2.Object* obj) nothrow;
3351 Type atk_object_factory_get_accessible_type(ObjectFactory* this_) nothrow;
3352 void atk_object_factory_invalidate(ObjectFactory* this_) nothrow;
3353 Plug* /*new*/ atk_plug_new() nothrow;
3354 char* /*new*/ atk_plug_get_id(Plug* this_) nothrow;
3355 ObjectFactory* atk_registry_get_factory(Registry* this_, Type type) nothrow;
3356 Type atk_registry_get_factory_type(Registry* this_, Type type) nothrow;
3357 void atk_registry_set_factory_type(Registry* this_, Type type, Type factory_type) nothrow;
3358 Relation* /*new*/ atk_relation_new(Object** targets, int n_targets, RelationType relationship) nothrow;
3359 void atk_relation_add_target(Relation* this_, Object* target) nothrow;
3360 RelationType atk_relation_get_relation_type(Relation* this_) nothrow;
3361 PtrArray* atk_relation_get_target(Relation* this_) nothrow;
3362 int atk_relation_remove_target(Relation* this_, Object* target) nothrow;
3363 RelationSet* /*new*/ atk_relation_set_new() nothrow;
3364 void atk_relation_set_add(RelationSet* this_, Relation* relation) nothrow;
3365 void atk_relation_set_add_relation_by_type(RelationSet* this_, RelationType relationship, Object* target) nothrow;
3366 int atk_relation_set_contains(RelationSet* this_, RelationType relationship) nothrow;
3367 int atk_relation_set_get_n_relations(RelationSet* this_) nothrow;
3368 Relation* atk_relation_set_get_relation(RelationSet* this_, int i) nothrow;
3369 Relation* atk_relation_set_get_relation_by_type(RelationSet* this_, RelationType relationship) nothrow;
3370 void atk_relation_set_remove(RelationSet* this_, Relation* relation) nothrow;
3371 int atk_selection_add_selection(Selection* this_, int i) nothrow;
3372 int atk_selection_clear_selection(Selection* this_) nothrow;
3373 int atk_selection_get_selection_count(Selection* this_) nothrow;
3374 int atk_selection_is_child_selected(Selection* this_, int i) nothrow;
3375 Object* /*new*/ atk_selection_ref_selection(Selection* this_, int i) nothrow;
3376 int atk_selection_remove_selection(Selection* this_, int i) nothrow;
3377 int atk_selection_select_all_selection(Selection* this_) nothrow;
3378 Socket* /*new*/ atk_socket_new() nothrow;
3379 void atk_socket_embed(Socket* this_, char* plug_id) nothrow;
3380 int atk_socket_is_occupied(Socket* this_) nothrow;
3381 StateSet* /*new*/ atk_state_set_new() nothrow;
3382 int atk_state_set_add_state(StateSet* this_, StateType type) nothrow;
3383 void atk_state_set_add_states(StateSet* this_, StateType* types, int n_types) nothrow;
3384 StateSet* /*new*/ atk_state_set_and_sets(StateSet* this_, StateSet* compare_set) nothrow;
3385 void atk_state_set_clear_states(StateSet* this_) nothrow;
3386 int atk_state_set_contains_state(StateSet* this_, StateType type) nothrow;
3387 int atk_state_set_contains_states(StateSet* this_, StateType* types, int n_types) nothrow;
3388 int atk_state_set_is_empty(StateSet* this_) nothrow;
3389 StateSet* /*new*/ atk_state_set_or_sets(StateSet* this_, StateSet* compare_set) nothrow;
3390 int atk_state_set_remove_state(StateSet* this_, StateType type) nothrow;
3391 StateSet* /*new*/ atk_state_set_xor_sets(StateSet* this_, StateSet* compare_set) nothrow;
3392 char* atk_streamable_content_get_mime_type(StreamableContent* this_, int i) nothrow;
3393 int atk_streamable_content_get_n_mime_types(StreamableContent* this_) nothrow;
3394 GLib2.IOChannel* /*new*/ atk_streamable_content_get_stream(StreamableContent* this_, char* mime_type) nothrow;
3395 char* atk_streamable_content_get_uri(StreamableContent* this_, char* mime_type) nothrow;
3396 int atk_table_add_column_selection(Table* this_, int column) nothrow;
3397 int atk_table_add_row_selection(Table* this_, int row) nothrow;
3398 Object* atk_table_get_caption(Table* this_) nothrow;
3399 int atk_table_get_column_at_index(Table* this_, int index_) nothrow;
3400 char* atk_table_get_column_description(Table* this_, int column) nothrow;
3401 int atk_table_get_column_extent_at(Table* this_, int row, int column) nothrow;
3402 Object* atk_table_get_column_header(Table* this_, int column) nothrow;
3403 int atk_table_get_index_at(Table* this_, int row, int column) nothrow;
3404 int atk_table_get_n_columns(Table* this_) nothrow;
3405 int atk_table_get_n_rows(Table* this_) nothrow;
3406 int atk_table_get_row_at_index(Table* this_, int index_) nothrow;
3407 char* atk_table_get_row_description(Table* this_, int row) nothrow;
3408 int atk_table_get_row_extent_at(Table* this_, int row, int column) nothrow;
3409 Object* atk_table_get_row_header(Table* this_, int row) nothrow;
3410 int atk_table_get_selected_columns(Table* this_, int** selected) nothrow;
3411 int atk_table_get_selected_rows(Table* this_, int** selected) nothrow;
3412 Object* /*new*/ atk_table_get_summary(Table* this_) nothrow;
3413 int atk_table_is_column_selected(Table* this_, int column) nothrow;
3414 int atk_table_is_row_selected(Table* this_, int row) nothrow;
3415 int atk_table_is_selected(Table* this_, int row, int column) nothrow;
3416 Object* /*new*/ atk_table_ref_at(Table* this_, int row, int column) nothrow;
3417 int atk_table_remove_column_selection(Table* this_, int column) nothrow;
3418 int atk_table_remove_row_selection(Table* this_, int row) nothrow;
3419 void atk_table_set_caption(Table* this_, Object* caption) nothrow;
3420 void atk_table_set_column_description(Table* this_, int column, char* description) nothrow;
3421 void atk_table_set_column_header(Table* this_, int column, Object* header) nothrow;
3422 void atk_table_set_row_description(Table* this_, int row, char* description) nothrow;
3423 void atk_table_set_row_header(Table* this_, int row, Object* header) nothrow;
3424 void atk_table_set_summary(Table* this_, Object* accessible) nothrow;
3425 int atk_text_add_selection(Text* this_, int start_offset, int end_offset) nothrow;
3426 TextRange** /*new*/ atk_text_get_bounded_ranges(Text* this_, TextRectangle* rect, CoordType coord_type, TextClipType x_clip_type, TextClipType y_clip_type) nothrow;
3427 int atk_text_get_caret_offset(Text* this_) nothrow;
3428 dchar atk_text_get_character_at_offset(Text* this_, int offset) nothrow;
3429 int atk_text_get_character_count(Text* this_) nothrow;
3430 void atk_text_get_character_extents(Text* this_, int offset, int* x, int* y, int* width, int* height, CoordType coords) nothrow;
3431 AttributeSet* /*new*/ atk_text_get_default_attributes(Text* this_) nothrow;
3432 int atk_text_get_n_selections(Text* this_) nothrow;
3433 int atk_text_get_offset_at_point(Text* this_, int x, int y, CoordType coords) nothrow;
3434 void atk_text_get_range_extents(Text* this_, int start_offset, int end_offset, CoordType coord_type, TextRectangle* rect) nothrow;
3435 AttributeSet* /*new*/ atk_text_get_run_attributes(Text* this_, int offset, int* start_offset, int* end_offset) nothrow;
3436 char* /*new*/ atk_text_get_selection(Text* this_, int selection_num, int* start_offset, int* end_offset) nothrow;
3437 char* /*new*/ atk_text_get_text(Text* this_, int start_offset, int end_offset) nothrow;
3438 char* /*new*/ atk_text_get_text_after_offset(Text* this_, int offset, TextBoundary boundary_type, int* start_offset, int* end_offset) nothrow;
3439 char* /*new*/ atk_text_get_text_at_offset(Text* this_, int offset, TextBoundary boundary_type, int* start_offset, int* end_offset) nothrow;
3440 char* /*new*/ atk_text_get_text_before_offset(Text* this_, int offset, TextBoundary boundary_type, int* start_offset, int* end_offset) nothrow;
3441 int atk_text_remove_selection(Text* this_, int selection_num) nothrow;
3442 int atk_text_set_caret_offset(Text* this_, int offset) nothrow;
3443 int atk_text_set_selection(Text* this_, int selection_num, int start_offset, int end_offset) nothrow;
3444 void atk_value_get_current_value(Value* this_, GObject2.Value* value) nothrow;
3445 void atk_value_get_maximum_value(Value* this_, GObject2.Value* value) nothrow;
3446 void atk_value_get_minimum_increment(Value* this_, GObject2.Value* value) nothrow;
3447 void atk_value_get_minimum_value(Value* this_, GObject2.Value* value) nothrow;
3448 int atk_value_set_current_value(Value* this_, GObject2.Value* value) nothrow;
3449 uint atk_add_focus_tracker(EventListener focus_tracker) nothrow;
3450 uint atk_add_global_event_listener(GObject2.SignalEmissionHook listener, char* event_type) nothrow;
3451 uint atk_add_key_event_listener(KeySnoopFunc listener, void* data) nothrow;
3452 void atk_attribute_set_free(AttributeSet* attrib_set) nothrow;
3453 void atk_focus_tracker_init(EventListenerInit init) nothrow;
3454 void atk_focus_tracker_notify(Object* object) nothrow;
3455 Registry* /*new*/ atk_get_default_registry() nothrow;
3456 Object* atk_get_focus_object() nothrow;
3457 Object* atk_get_root() nothrow;
3458 char* atk_get_toolkit_name() nothrow;
3459 char* atk_get_toolkit_version() nothrow;
3460 char* atk_get_version() nothrow;
3461 RelationType atk_relation_type_for_name(char* name) nothrow;
3462 char* atk_relation_type_get_name(RelationType type) nothrow;
3463 RelationType atk_relation_type_register(char* name) nothrow;
3464 void atk_remove_focus_tracker(uint tracker_id) nothrow;
3465 void atk_remove_global_event_listener(uint listener_id) nothrow;
3466 void atk_remove_key_event_listener(uint listener_id) nothrow;
3467 Role atk_role_for_name(char* name) nothrow;
3468 char* atk_role_get_localized_name(Role role) nothrow;
3469 char* atk_role_get_name(Role role) nothrow;
3470 Role atk_role_register(char* name) nothrow;
3471 StateType atk_state_type_for_name(char* name) nothrow;
3472 char* atk_state_type_get_name(StateType type) nothrow;
3473 StateType atk_state_type_register(char* name) nothrow;
3474 TextAttribute atk_text_attribute_for_name(char* name) nothrow;
3475 char* atk_text_attribute_get_name(TextAttribute attr) nothrow;
3476 char* atk_text_attribute_get_value(TextAttribute attr, int index_) nothrow;
3477 TextAttribute atk_text_attribute_register(char* name) nothrow;
3478 void atk_text_free_ranges(TextRange** ranges) nothrow;