Added descriptive documentation of the ATK interfaces, primarily
[atk.git] / docs / tmpl / atkaction.sgml
blob37a4ab2743b22fd52647ee3f2214ed6b2f0d9444
1 <!-- ##### SECTION Title ##### -->
2 AtkAction
4 <!-- ##### SECTION Short_Description ##### -->
5 The ATK interface provided by UI components which the user can
6 activate/interact with,
8 <!-- ##### SECTION Long_Description ##### -->
9 <para>
10 #AtkAction should be implemented by instances of #AtkObject classes with
11 which the user can interact directly, i.e. buttons, checkboxes,
12 scrollbars, e.g. components which are not "passive"
13 providers of UI information.
14 </para>
15 <para>
16 Exceptions: when the user interaction is already covered by
17 another appropriate interface such as #AtkEditableText (insert/delete
18 test, etc.) or #AtkValue (set value) then these actions should not be
19 exposed by #AtkAction as well.
20 </para>
21 <para>
22 Also note that the #AtkAction API is limited in that parameters may not
23 be passed to the object being activated; thus the action must be
24 self-contained and specifiable via only a single "verb". Concrete
25 examples include "press", "release", "click" for buttons, "drag"
26 (meaning initiate drag) and "drop" for drag sources and drop targets,
27 etc.
28 </para>
29 <para>
30 Though most UI interactions on components should be invocable via
31 keyboard as well as mouse, there will generally be a close mapping
32 between "mouse actions" that are possible on a component and the
33 AtkActions. Where mouse and keyboard actions are redundant in effect,
34 #AtkAction should expose only one action rather than exposing redundant
35 actions if possible. By convention we have been using "mouse centric"
36 terminology for #AtkAction names.
37 </para>
38 <!-- ##### SECTION See_Also ##### -->
39 <para>
41 </para>
43 <!-- ##### STRUCT AtkAction ##### -->
44 <para>
46 </para>
49 <!-- ##### STRUCT AtkActionIface ##### -->
50 <para>
52 </para>
54 @parent:
55 @do_action:
56 @get_n_actions:
57 @get_description:
58 @get_name:
59 @get_keybinding:
60 @set_description:
62 <!-- ##### FUNCTION atk_action_do_action ##### -->
63 <para>
65 </para>
67 @action:
68 @i:
69 @Returns:
72 <!-- ##### FUNCTION atk_action_get_n_actions ##### -->
73 <para>
75 </para>
77 @action:
78 @Returns:
81 <!-- ##### FUNCTION atk_action_get_description ##### -->
82 <para>
84 </para>
86 @action:
87 @i:
88 @Returns:
91 <!-- ##### FUNCTION atk_action_get_name ##### -->
92 <para>
94 </para>
96 @action:
97 @i:
98 @Returns:
101 <!-- ##### FUNCTION atk_action_get_keybinding ##### -->
102 <para>
104 </para>
106 @action:
107 @i:
108 @Returns:
111 <!-- ##### FUNCTION atk_action_set_description ##### -->
112 <para>
114 </para>
116 @action:
117 @i:
118 @desc:
119 @Returns: