1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * gtkD is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19 
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 
25 module gtk.AccessibleIF;
26 
27 private import gobject.Value;
28 private import gtk.c.functions;
29 public  import gtk.c.types;
30 
31 
32 /**
33  * `GtkAccessible` is an interface for describing UI elements for
34  * Assistive Technologies.
35  * 
36  * Every accessible implementation has:
37  * 
38  * - a “role”, represented by a value of the [enum@Gtk.AccessibleRole]
39  * enumeration
40  * - an “attribute”, represented by a set of [enum@Gtk.AccessibleState],
41  * [enum@Gtk.AccessibleProperty] and [enum@Gtk.AccessibleRelation] values
42  * 
43  * The role cannot be changed after instantiating a `GtkAccessible`
44  * implementation.
45  * 
46  * The attributes are updated every time a UI element's state changes in
47  * a way that should be reflected by assistive technologies. For instance,
48  * if a `GtkWidget` visibility changes, the %GTK_ACCESSIBLE_STATE_HIDDEN
49  * state will also change to reflect the [property@Gtk.Widget:visible] property.
50  */
51 public interface AccessibleIF{
52 	/** Get the main Gtk struct */
53 	public GtkAccessible* getAccessibleStruct(bool transferOwnership = false);
54 
55 	/** the main Gtk struct as a void* */
56 	protected void* getStruct();
57 
58 
59 	/** */
60 	public static GType getType()
61 	{
62 		return gtk_accessible_get_type();
63 	}
64 
65 	/**
66 	 * Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
67 	 *
68 	 * Returns: a `GtkAccessibleRole`
69 	 */
70 	public GtkAccessibleRole getAccessibleRole();
71 
72 	/**
73 	 * Resets the accessible @property to its default value.
74 	 *
75 	 * Params:
76 	 *     property = a `GtkAccessibleProperty`
77 	 */
78 	public void resetProperty(GtkAccessibleProperty property);
79 
80 	/**
81 	 * Resets the accessible @relation to its default value.
82 	 *
83 	 * Params:
84 	 *     relation = a `GtkAccessibleRelation`
85 	 */
86 	public void resetRelation(GtkAccessibleRelation relation);
87 
88 	/**
89 	 * Resets the accessible @state to its default value.
90 	 *
91 	 * Params:
92 	 *     state = a `GtkAccessibleState`
93 	 */
94 	public void resetState(GtkAccessibleState state);
95 
96 	/**
97 	 * Updates an array of accessible properties.
98 	 *
99 	 * This function should be called by `GtkWidget` types whenever an accessible
100 	 * property change must be communicated to assistive technologies.
101 	 *
102 	 * This function is meant to be used by language bindings.
103 	 *
104 	 * Params:
105 	 *     properties = an array of `GtkAccessibleProperty`
106 	 *     values = an array of `GValues`, one for each property
107 	 */
108 	public void updatePropertyValue(GtkAccessibleProperty[] properties, Value[] values);
109 
110 	/**
111 	 * Updates an array of accessible relations.
112 	 *
113 	 * This function should be called by `GtkWidget` types whenever an accessible
114 	 * relation change must be communicated to assistive technologies.
115 	 *
116 	 * This function is meant to be used by language bindings.
117 	 *
118 	 * Params:
119 	 *     relations = an array of `GtkAccessibleRelation`
120 	 *     values = an array of `GValues`, one for each relation
121 	 */
122 	public void updateRelationValue(GtkAccessibleRelation[] relations, Value[] values);
123 
124 	/**
125 	 * Updates an array of accessible states.
126 	 *
127 	 * This function should be called by `GtkWidget` types whenever an accessible
128 	 * state change must be communicated to assistive technologies.
129 	 *
130 	 * This function is meant to be used by language bindings.
131 	 *
132 	 * Params:
133 	 *     states = an array of `GtkAccessibleState`
134 	 *     values = an array of `GValues`, one for each state
135 	 */
136 	public void updateStateValue(GtkAccessibleState[] states, Value[] values);
137 }