1*5fdc4257SSteve Yin/************************************************************************* 2*5fdc4257SSteve Yin * 3*5fdc4257SSteve Yin * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*5fdc4257SSteve Yin * 5*5fdc4257SSteve Yin * Copyright IBM Corporation 2010. 6*5fdc4257SSteve Yin * Copyright 2000, 2010 Oracle and/or its affiliates. 7*5fdc4257SSteve Yin * 8*5fdc4257SSteve Yin * OpenOffice.org - a multi-platform office productivity suite 9*5fdc4257SSteve Yin * 10*5fdc4257SSteve Yin * This file is part of OpenOffice.org. 11*5fdc4257SSteve Yin * 12*5fdc4257SSteve Yin * OpenOffice.org is free software: you can redistribute it and/or modify 13*5fdc4257SSteve Yin * it under the terms of the GNU Lesser General Public License version 3 14*5fdc4257SSteve Yin * only, as published by the Free Software Foundation. 15*5fdc4257SSteve Yin * 16*5fdc4257SSteve Yin * OpenOffice.org is distributed in the hope that it will be useful, 17*5fdc4257SSteve Yin * but WITHOUT ANY WARRANTY; without even the implied warranty of 18*5fdc4257SSteve Yin * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19*5fdc4257SSteve Yin * GNU Lesser General Public License version 3 for more details 20*5fdc4257SSteve Yin * (a copy is included in the LICENSE file that accompanied this code). 21*5fdc4257SSteve Yin * 22*5fdc4257SSteve Yin * You should have received a copy of the GNU Lesser General Public License 23*5fdc4257SSteve Yin * version 3 along with OpenOffice.org. If not, see 24*5fdc4257SSteve Yin * <http://www.openoffice.org/license.html> 25*5fdc4257SSteve Yin * for a copy of the LGPLv3 License. 26*5fdc4257SSteve Yin * 27*5fdc4257SSteve Yin ************************************************************************/ 28*5fdc4257SSteve Yin 29*5fdc4257SSteve Yinimport "objidl.idl"; 30*5fdc4257SSteve Yinimport "oaidl.idl"; 31*5fdc4257SSteve Yinimport "oleacc.idl"; 32*5fdc4257SSteve Yinimport "AccessibleKeyStroke.idl"; 33*5fdc4257SSteve Yin 34*5fdc4257SSteve Yin[object, uuid(6B1923AC-3E9A-4336-99E1-A69EA4E946E9)] 35*5fdc4257SSteve Yininterface IAccessibleKeyBinding : IUnknown 36*5fdc4257SSteve Yin{ 37*5fdc4257SSteve Yin /// 38*5fdc4257SSteve Yin /// get number of key bindings for this object 39*5fdc4257SSteve Yin /// 40*5fdc4257SSteve Yin [propget] HRESULT nKeyBindings 41*5fdc4257SSteve Yin ( 42*5fdc4257SSteve Yin [out, retval] long *nKeyBindings 43*5fdc4257SSteve Yin ); 44*5fdc4257SSteve Yin 45*5fdc4257SSteve Yin /// 46*5fdc4257SSteve Yin /// get length of keystroke sequence for specified key binding 47*5fdc4257SSteve Yin /// 48*5fdc4257SSteve Yin [propget] HRESULT keyStrokeSequenceLength 49*5fdc4257SSteve Yin ( 50*5fdc4257SSteve Yin [in] long keyBindingIndex, 51*5fdc4257SSteve Yin [out] long *sequenceLength 52*5fdc4257SSteve Yin ); 53*5fdc4257SSteve Yin 54*5fdc4257SSteve Yin /// 55*5fdc4257SSteve Yin /// The returned sequence of key strokes describes one method 56*5fdc4257SSteve Yin /// to invoke the associated action (the one from which you 57*5fdc4257SSteve Yin /// obtained the object at which you called this method) by 58*5fdc4257SSteve Yin /// pressing keys. The keys specified by each of the returned 59*5fdc4257SSteve Yin /// key strokes have to be pressed at the same time (the 60*5fdc4257SSteve Yin /// Control-key and the A-key for example). The keys of one key 61*5fdc4257SSteve Yin /// stroke have to be released before pressing those of the next. 62*5fdc4257SSteve Yin /// The order of the key strokes in the sequence define the order 63*5fdc4257SSteve Yin /// in which to press them. 64*5fdc4257SSteve Yin /// 65*5fdc4257SSteve Yin [propget] HRESULT keyBinding 66*5fdc4257SSteve Yin ( 67*5fdc4257SSteve Yin [in] long keyBindingIndex, 68*5fdc4257SSteve Yin [in] long keyStrokeSequenceLength, 69*5fdc4257SSteve Yin [out, size_is(,keyStrokeSequenceLength), length_is(,*actualKeyStrokeSequenceLength)] 70*5fdc4257SSteve Yin ACCESSIBLE_KEYSTROKE **keyStroke, 71*5fdc4257SSteve Yin [out, retval] long *actualKeyStrokeSequenceLength 72*5fdc4257SSteve Yin ); 73*5fdc4257SSteve Yin} 74