d14d90bf277926c5e6e2bc910140e0175eeb4acc
[platform/core/uifw/at-spi2-atk.git] / idl / Accessibility_Action.idl
1 /* 
2  * AT-SPI - Assistive Technology Service Provider Interface 
3  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
4  *
5  * Copyright 2001 Sun Microsystems, Inc.
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Library General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Library General Public License for more details.
16  *
17  * You should have received a copy of the GNU Library General Public
18  * License along with this library; if not, write to the
19  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */
22
23 module Accessibility {
24     /**
25      * An interface through which a user-actionable user interface
26      * component can be manipulated.  Components which react to mouse or
27      * keyboard input from the user, (with the exception of pure text entry
28      * fields with no other function), should implement this interface.
29      * Typical actions include "click", "press", "release" (for instance for
30      * buttons), "menu" (for objects which have context menus invokable from 
31      * mouse or keyboard), "open" for icons representing files folders, and others.
32      */
33   interface Action : Bonobo::Unknown {
34
35     /**
36      * nActions: a \c long containing the number of actions this object supports.
37      * 
38      **/
39     readonly attribute long nActions;
40
41     /**
42      * getDescription:
43      * @param index: the index of the action 
44      *   for which a description is desired.
45      *
46      * Get the description of the specified action.  The description of an action
47      * may provide information about the result of action invocation, unlike the
48      * action name.
49      * @see getName.
50      *
51      * @returns: a \c string containing the description of the specified action.
52      *
53      **/
54     string getDescription (in long index);
55
56     /**
57      * getName:
58      * @param index: the index of the action 
59      *   whose name is requested.
60      *
61      * Get the name of the specified action.  Action names generally describe
62      * the user action, i.e. "click" or "press", rather then the result of 
63      * invoking the action.
64      *
65      * @returns: a \c string containing the name of the specified action.
66      *
67      **/
68     string getName (in long index);
69
70     /**
71      * doAction:
72      * @param index: the 0-based index of the action to perform.
73      *
74      * Causes the object to perform the specified action.
75      *
76      * @returns: a \c boolean indicating success or failure.
77      *
78      **/
79     boolean doAction (in long index);
80
81     /**
82      * getKeyBinding:
83      * @param index: the 0-based index of the action 
84      *   for which a key binding is requested.
85      *
86      * Get the key binding associated with a specific action.
87      *
88      * @returns: a \c string containing the key binding for the specified action,
89      *   or an empty string ("") if none exists.
90      **/
91     string getKeyBinding (in long index);
92
93       
94     /**
95      * \cond
96      * unImplemented:
97      *
98      * placeholders for future expansion.
99      */
100     void unImplemented ();
101     void unImplemented2 ();
102     void unImplemented3 ();
103     void unImplemented4 ();
104       /** \endcond */
105   };
106 };
107