gecko/other-licenses/ia2/AccessibleAction.idl

129 lines
4.3 KiB
Plaintext

/*************************************************************************
*
* File Name (AccessibleAction.idl)
*
* IAccessible2 IDL Specification
*
* Copyright (c) IBM Corp. 2006
* Copyright (c) Sun Microsystems, Inc. 2000, 2006
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA
*
************************************************************************/
import "objidl.idl";
import "oaidl.idl";
import "oleacc.idl";
/** @brief This interface gives access to actions that can be executed
for accessible objects.
Every accessible object that can be manipulated beyond its methods
exported over the accessibility API should support this interface to
expose all actions that it can perform. Each action can be performed
or queried for a name, description or associated key bindings. Actions
are needed more for ATs that assist the mobility impaired. By providing
actions directly, the AT can present them to the user without the user having
to perform the extra steps to navigate a context menu.
*/
[object, uuid(B70D9F59-3B5A-4dba-AB9E-22012F607DF5)]
interface IAccessibleAction : IUnknown
{
/** @brief Returns the number of accessible actions available in this object.
If there are more than one, the first one is considered the
"default" action of the object.
@param [out] nActions
The returned value of the number of actions is zero if there are
no actions.
*/
HRESULT nActions
(
[out,retval] long* nActions
);
/** @brief Performs the specified Action on the object.
@param [in] actionIndex
This index specifies the action to perform. If it lies outside
the valid range no action is performed.
*/
HRESULT doAction
(
[in] long actionIndex
);
/** @brief Returns a description of the specified action of the object.
@param [in] actionIndex
This index specifies the action of which to return a
description. If it lies outside the valid range an empty string
is returned.
@param [out] description
The returned value is a localized string of the specified action.
*/
[propget] HRESULT description
(
[in] long actionIndex,
[out, retval] BSTR *description
);
/** @brief Returns an array of BSTRs describing one or more key bindings, if there
are any, associated with the specified action.
Note: the client allocates and passes in an array of pointers. The server
allocates the BSTRs and passes back one or more pointers to these BSTRs into
the array of pointers allocated by the client. The client is responsible
for deallocating the BSTRs.
@param [in] actionIndex
This index specifies the action of which to return the key bindings.
@param [in] nMaxBinding
The maximum number of keybindings requested, i.e. the size of the array
allocated to hold the results.
@param [out] keyBinding
An array of BSTRs, one for each key binding.
@param [out] nBinding
The actual number of key bindings returned.
*/
[propget] HRESULT keyBinding
(
[in] long actionIndex,
[in] long nMaxBinding,
[out, size_is(,nMaxBinding), length_is(,*nBinding)] BSTR **keyBinding,
[out, retval] long *nBinding
);
/** @brief Returns the non-localized name of specified action.
@param [in] actionIndex
@param [out] name
*/
[propget] HRESULT name
(
[in] long actionIndex,
[out, retval] BSTR *name
);
/** @brief Returns the localized name of specified action.
@param [in] actionIndex
@param [out] localizedName
*/
[propget] HRESULT localizedName
(
[in] long actionIndex,
[out, retval] BSTR *localizedName
);
}