gecko-dev/other-licenses/ia2/AccessibleEditableText.idl

204 строки
6.5 KiB
Plaintext

/*************************************************************************
*
* File Name (AccessibleEditableText.idl)
*
* IAccessible2 IDL Specification
*
* Copyright (c) Linux Foundation 2007, 2008
* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
************************************************************************/
import "objidl.idl";
import "oaidl.idl";
import "oleacc.idl";
import "IA2CommonTypes.idl";
/** @brief This interface provides clipboard capability to text objects.
This interface is typically used in conjunction with the IAccessibleText
interface and complements that interface with the additional capability of
clipboard operations. Note that even a read only text object can support
the copy capability so this interface is not limited to editable objects.
The substrings used with this interface are specified as follows:
If startOffset is less than endOffset, the substring starts with the
character at startOffset and ends with the character just before endOffset.
If endOffset is lower than startOffset, the result is the same as a call
with the two arguments exchanged. The whole text can be defined by passing
the indices zero and IAccessibleText::nCharacters. If both indices have the
same value, an empty string is defined.
Refer to the @ref _specialOffsets
"Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
for information about a special offset constant that can be used in %IAccessibleEditableText methods.
*/
[object, uuid(A59AA09A-7011-4b65-939D-32B1FB5547E3)]
interface IAccessibleEditableText : IUnknown
{
/** @brief Copies the text range into the clipboard.
The specified text between the two given indices is copied into the
system clipboard.
@param [in] startOffset
Start index of the text to moved into the clipboard.
The valid range is 0..length.
@param [in] endOffset
End index of the text to moved into the clipboard.
The valid range is 0..length.
@retval S_OK
@retval E_INVALIDARG if bad [in] passed
*/
HRESULT copyText
(
[in] long startOffset,
[in] long endOffset
);
/** @brief Deletes a range of text.
The text between and including the two given indices is deleted
from the text represented by this object.
@param [in] startOffset
Start index of the text to be deleted.
The valid range is 0..length.
@param [in] endOffset
End index of the text to be deleted.
The valid range is 0..length.
@retval S_OK
@retval E_INVALIDARG if bad [in] passed
*/
HRESULT deleteText
(
[in] long startOffset,
[in] long endOffset
);
/** @brief Inserts text at the specified position.
The specified string is inserted at the given index into the text
represented by this object.
@param [in] offset
Index at which to insert the text.
The valid range is 0..length.
@param [in] text
Text that is inserted.
@retval S_OK
@retval E_INVALIDARG if bad [in] passed
*/
HRESULT insertText
(
[in] long offset,
[in] BSTR *text
);
/** @brief Deletes a range of text and copies it to the clipboard.
The text between the two given indices is deleted from the text
represented by this object and copied to the clipboard.
@param [in] startOffset
Start index of the text to be deleted.
The valid range is 0..length.
@param [in] endOffset
End index of the text to be deleted.
The valid range is 0..length.
@retval S_OK
@retval E_INVALIDARG if bad [in] passed
*/
HRESULT cutText
(
[in] long startOffset,
[in] long endOffset
);
/** @brief Pastes text from the clipboard.
The text in the system clipboard is pasted into the text represented
by this object at the given index. This method is similar to the
IAccessibleEditableText::insertText method. If the index is not valid
the system clipboard text is not inserted.
@param [in] offset
Index at which to insert the text from the system clipboard into
the text represented by this object.
The valid range is 0..length.
@retval S_OK
@retval E_INVALIDARG if bad [in] passed
*/
HRESULT pasteText
(
[in] long offset
);
/** @brief Replaces text.
The text between the two given indices is replaced by the specified
replacement string. This method is equivalent to calling first
IAccessibleEditableText::deleteText with the two indices and then
calling IAccessibleEditableText::insertText with the replacement text
at the start index.
@param [in] startOffset
Start index of the text to be replaced.
The valid range is 0..length.
@param [in] endOffset
Start index of the text to be replaced.
The valid range is 0..length.
@param [in] text
The Text that replaces the text between the given indices.
@retval S_OK
@retval E_INVALIDARG if bad [in] passed
*/
HRESULT replaceText
(
[in] long startOffset,
[in] long endOffset,
[in] BSTR *text
);
/** @brief Replaces the attributes of a text range by the given set of attributes.
Sets the attributes for the text between the two given indices. The old
attributes are replaced by the new list of attributes.
@param [in] startOffset
Start index of the text whose attributes are modified.
The valid range is 0..length.
@param [in] endOffset
Start index of the text whose attributes are modified.
The valid range is 0..length.
@param [in] attributes
Set of attributes that replaces the old list of attributes of
the specified text portion.
@retval S_OK
@retval E_INVALIDARG if bad [in] passed
*/
HRESULT setAttributes
(
[in] long startOffset,
[in] long endOffset,
[in] BSTR *attributes
);
}