Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / accessibility / XAccessibleAction.idl
blob509d8a29409431b87977642a7b2446a3d69bf100
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef __com_sun_star_accessibility_XAccessibleAction_idl__
21 #define __com_sun_star_accessibility_XAccessibleAction_idl__
23 #include <com/sun/star/uno/XInterface.idl>
24 #include <com/sun/star/lang/IndexOutOfBoundsException.idl>
26 module com { module sun { module star { module accessibility {
28 interface XAccessibleKeyBinding;
30 /** Implement this interface to give access to actions that can be executed
31 for accessible objects.
33 <p>Every accessible object that can be manipulated beyond its methods
34 exported over the accessibility API should support this interface to
35 expose all actions that it can perform. Each action can be performed or
36 be queried for a description or associated key bindings.</p>
38 @since OOo 1.1.2
40 interface XAccessibleAction : ::com::sun::star::uno::XInterface
42 /** Returns the number of accessible actions available in this object.
44 <p>If there are more than one, the first one is considered the
45 "default" action of the object.</p>
47 @return
48 The returned value of the number of actions is zero if there are
49 no actions.
51 long getAccessibleActionCount ();
53 /** Perform the specified Action on the object.
55 @param nIndex
56 This index specifies the action to perform. If it lies outside
57 the valid range `FALSE` is returned and no action is performed.
58 @return
59 Returns `TRUE` if the action was successfully performed. If
60 the action could not be performed successfully `FALSE` is
61 returned.
63 @throws IndexOutOfBoundsException
64 If no action with the given index exists then an
65 ::com::sun::star::lang::IndexOutOfBoundsException
66 exception is thrown.
68 boolean doAccessibleAction ([in] long nIndex)
69 raises (::com::sun::star::lang::IndexOutOfBoundsException);
71 /** Returns a description of the specified action of the object.
73 @param nIndex
74 This index specifies the action of which to return a
75 description. If it lies outside the valid range an empty string
76 is returned.
78 @return
79 The returned value is a localized string of the specified action.
81 @throws IndexOutOfBoundsException
82 If the given index lies not in the valid range then an
83 ::com::sun::star::lang::IndexOutOfBoundsException
84 exception is thrown.
86 string getAccessibleActionDescription ([in] long nIndex)
87 raises (::com::sun::star::lang::IndexOutOfBoundsException);
89 /** Returns a key binding object, if there is one, associated with the
90 specified action. Note that there can be several alternative key
91 bindings for an action. See XAccessibleKeyBinding for
92 more information about how key bindings are represented.
94 @param nIndex
95 This index specifies the action of which to return the key
96 binding.
98 @return
99 The returned object describes a set of key bindings associated
100 with the specified action.
102 @throws IndexOutOfBoundsException
103 if the given index is not valid.
105 XAccessibleKeyBinding getAccessibleActionKeyBinding ([in] long nIndex)
106 raises (::com::sun::star::lang::IndexOutOfBoundsException);
109 }; }; }; };
111 #endif
113 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */