gecko/other-licenses/ia2/AccessibleEditableText.idl

183 lines
5.7 KiB
Plaintext

/*************************************************************************
*
* File Name (AccessibleEditableText.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 write access to a text representation.
This interface is typically used in conjunction with the IAccessibleText
interface and complements that interface with the additional ability to
modify text.
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.
*/
[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.
*/
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.
*/
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.
*/
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.
*/
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.
*/
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.
*/
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.
*/
HRESULT setAttributes
(
[in] long startOffset,
[in] long endOffset,
[in] BSTR *attributes
);
}