Add simple nActions property, getDescription, getName, getKeyBinding
[platform/upstream/at-spi2-core.git] / xml / org.freedesktop.atspi.Action.xml
1 <node name="/node" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
2
3 <tp:title>AT-SPI - Assistive Technology Service Provider Interface </tp:title>
4 <tp:copyright>Copyright 2008 Novell, Inc.</tp:copyright>
5 <tp:copyright>Copyright 2001 Sun Microsystems, Inc.</tp:copyright>
6 <tp:license xmlns="http://www.w3.org/1999/xhtml">
7   <p>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.</p>
11
12   <p>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.</p>
16
17   <p>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.</p>
21 </tp:license>
22 <interface name="org.freedesktop.atspi/Action">
23   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
24     <p>An interface through which a user-actionable user interface
25       component can be manipulated.  Components which react to mouse or
26       keyboard input from the user, (with the exception of pure text entry
27       fields with no other function), should implement this interface.
28       Typical actions include &quot;click&quot;, &quot;press&quot;, &quot;release&quot; (for instance for
29       buttons), &quot;menu&quot; (for objects which have context menus invokable from 
30       mouse or keyboard), &quot;open&quot; for icons representing files folders, and others.</p>
31   </tp:docstring>
32   <tp:struct name="Action">
33     <tp:member type="s" tp:name="name">
34       <tp:docstring>
35       a \c string containing the description of the specified action.
36       </tp:docstring>
37     </tp:member>
38     <tp:member type="s" tp:name="description">
39       <tp:docstring>
40         the description of the specified action.  The description of an actionmay provide information about the result of action invocation, unlike the action name.
41     </tp:docstring>
42   </tp:member>
43     <tp:member type="s" tp:name="keyBinding">
44       <tp:docstring>
45         a \c string containing the key binding for the specified action,or an empty string (&quot;&quot;) if none exists.
46       </tp:docstring>
47     </tp:member>
48   </tp:struct>
49
50   <tp:property name="nActions" type="i" access="read">
51     <tp:docstring>the number of actions this object supports</tp:docstring>
52   </tp:property>
53
54   <method name="getDescription">
55     <tp:docstring>
56       <p>Get the description for the specified action.  The description of an action may provide information about the result of action invocation, unlike the action name.</p>
57     </tp:docstring>
58     <arg type="i" name="index" direction="in">
59       <tp:docstring>the index of the action</tp:docstring>
60     </arg>
61     <arg type="s" direction="out">
62       <tp:docstring>A string containing the description of the specified action</tp:docstring>
63     </arg>
64   </method>
65
66   <method name="getName">
67     <tp:docstring>
68       <p>Get the name of the specified action.  Action names generally describe the user action, i.e. &quot;click&quot; or &quot;press&quot;, rather than the result of invoking the action.</p>
69     </tp:docstring>
70     <arg type="i" name="index" direction="in">
71       <tp:docstring>the index of the action</tp:docstring>
72     </arg>
73     <arg type="s" direction="out">
74       <tp:docstring>A string containing the name of the specified action</tp:docstring>
75     </arg>
76   </method>
77
78   <method name="getKeyBinding">
79     <tp:docstring>
80       <p>Get the key binding associated with a specific action.</p>
81     </tp:docstring>
82     <arg type="i" name="index" direction="in">
83       <tp:docstring>the index of the action</tp:docstring>
84     </arg>
85     <arg type="s" direction="out">
86       <tp:docstring>A string containing the key binding for the specified action, or an empty string (&quot;&quot;) if none exists.</tp:docstring>
87     </arg>
88   </method>
89
90   <method name="getActions">
91     <tp:docstring>
92       Retrieves the actions associated with the object.
93     </tp:docstring>
94     <arg direction="out" name="index" type="a(sss)" tp:type="Action"/>
95   </method>
96   <method name="doAction">
97     <tp:docstring>
98       Causes the object to perform the specified action.
99     </tp:docstring>
100     <arg direction="in" name="index" type="i">
101     <tp:docstring>
102       the 0-based index of the action to perform.
103     </tp:docstring>
104     </arg>
105     <arg direction="out" type="b" tp:type="boolean">
106     <tp:docstring>
107       a \c boolean indicating success or failure.
108     </tp:docstring>
109     </arg>
110   </method>
111 </interface>
112 </node>