/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright IBM Corporation 2010.
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org 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 version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
import "objidl.idl";
import "oaidl.idl";
import "oleacc.idl";
import "AccessibleKeyStroke.idl";
[object, uuid(6B1923AC-3E9A-4336-99E1-A69EA4E946E9)]
interface IAccessibleKeyBinding : IUnknown
{
///
/// get number of key bindings for this object
///
[propget] HRESULT nKeyBindings
(
[out, retval] long *nKeyBindings
);
///
/// get length of keystroke sequence for specified key binding
///
[propget] HRESULT keyStrokeSequenceLength
(
[in] long keyBindingIndex,
[out] long *sequenceLength
);
///
/// The returned sequence of key strokes describes one method
/// to invoke the associated action (the one from which you
/// obtained the object at which you called this method) by
/// pressing keys. The keys specified by each of the returned
/// key strokes have to be pressed at the same time (the
/// Control-key and the A-key for example). The keys of one key
/// stroke have to be released before pressing those of the next.
/// The order of the key strokes in the sequence define the order
/// in which to press them.
///
[propget] HRESULT keyBinding
(
[in] long keyBindingIndex,
[in] long keyStrokeSequenceLength,
[out, size_is(,keyStrokeSequenceLength), length_is(,*actualKeyStrokeSequenceLength)]
ACCESSIBLE_KEYSTROKE **keyStroke,
[out, retval] long *actualKeyStrokeSequenceLength
);
}