1 /* ATK - Accessibility Toolkit
2 * Copyright 2001 Sun Microsystems Inc.
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
20 #include "atkaction.h"
23 atk_action_get_type ()
25 static GType type = 0;
30 sizeof (AtkActionIface),
32 (GBaseFinalizeFunc) NULL,
36 type = g_type_register_static (G_TYPE_INTERFACE, "AtkAction", &tinfo, 0);
43 * atk_action_do_action:
44 * @action: a #GObject instance that implements AtkActionIface
45 * @i: the action index corresponding to the action to be performed
47 * Perform the specified action on the object.
50 atk_action_do_action (AtkAction *obj,
53 AtkActionIface *iface;
55 g_return_val_if_fail (ATK_IS_ACTION (obj), FALSE);
57 iface = ATK_ACTION_GET_IFACE (obj);
60 return (iface->do_action) (obj, i);
66 * atk_action_get_n_actions:
67 * @action: a #GObject instance that implements AtkActionIface
69 * Gets the number of accessible actions available on the object.
70 * If there are more than one, the first one is considered the
71 * "default" action of the object.
73 * Returns: a the number of actions, or 0 if @action does not
74 * implement this interface.
77 atk_action_get_n_actions (AtkAction *obj)
79 AtkActionIface *iface;
81 g_return_val_if_fail (ATK_IS_ACTION (obj), 0);
83 iface = ATK_ACTION_GET_IFACE (obj);
85 if (iface->get_n_actions)
86 return (iface->get_n_actions) (obj);
92 * atk_action_get_description:
93 * @action: a #GObject instance that implements AtkActionIface
94 * @i: the action index corresponding to the action to be performed
96 * Returns a description of the specified action of the object.
98 * Returns a description string, or %NULL
99 * if @action does not implement this interface.
101 G_CONST_RETURN gchar*
102 atk_action_get_description (AtkAction *obj,
105 AtkActionIface *iface;
107 g_return_val_if_fail (ATK_IS_ACTION (obj), NULL);
109 iface = ATK_ACTION_GET_IFACE (obj);
111 if (iface->get_description)
112 return (iface->get_description) (obj, i);
118 * atk_action_get_name:
119 * @action: a #GObject instance that implements AtkActionIface
120 * @i: the action index corresponding to the action to be performed
122 * Returns the name of the specified action of the object.
124 * Returns a name string, or %NULL
125 * if @action does not implement this interface.
127 G_CONST_RETURN gchar*
128 atk_action_get_name (AtkAction *obj,
131 AtkActionIface *iface;
133 g_return_val_if_fail (ATK_IS_ACTION (obj), NULL);
135 iface = ATK_ACTION_GET_IFACE (obj);
138 return (iface->get_name) (obj, i);
144 * atk_action_get_keybinding:
145 * @action: a #GObject instance that implements AtkActionIface
146 * @i: the action index corresponding to the action to be performed
148 * Returns a keybinding associated with this action, if one exists.
150 * Returns a string representing the keybinding, or %NULL
151 * if there is no keybinding for this action.
154 G_CONST_RETURN gchar*
155 atk_action_get_keybinding (AtkAction *obj,
158 AtkActionIface *iface;
160 g_return_val_if_fail (ATK_IS_ACTION (obj), NULL);
162 iface = ATK_ACTION_GET_IFACE (obj);
164 if (iface->get_keybinding)
165 return (iface->get_keybinding) (obj, i);
171 * atk_action_set_description:
172 * @action: a #GObject instance that implements AtkActionIface
173 * @i: the action index corresponding to the action to be performed
174 * @desc: the description to be assigned to this action
176 * Sets a description of the specified action of the object.
178 * Returns: a gboolean representing if the description was successfully set;
181 atk_action_set_description (AtkAction *obj,
185 AtkActionIface *iface;
187 g_return_val_if_fail (ATK_IS_ACTION (obj), FALSE);
189 iface = ATK_ACTION_GET_IFACE (obj);
191 if (iface->set_description)
192 return (iface->set_description) (obj, i, desc);