1 /*************************************************************************
3 * File Name (AccessibleEditableText.idl)
5 * IAccessible2 IDL Specification
7 * Copyright (c) IBM Corp. 2006
8 * Copyright (c) Sun Microsystems, Inc. 2000, 2006
10 * This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU Lesser General Public
12 * License version 2.1, as published by the Free Software Foundation; either
13 * version 2.1 of the License, or (at your option) any later version.
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * Lesser General Public License for more details.
20 * You should have received a copy of the GNU Lesser General Public
21 * License along with this library; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA
24 ************************************************************************/
30 /** @brief This interface gives write access to a text representation.
32 This interface is typically used in conjunction with the IAccessibleText
33 interface and complements that interface with the additional ability to
36 The substrings used with this interface are specified as follows:
37 If startOffset is less than endOffset, the substring starts with the
38 character at startOffset and ends with the character just before endOffset.
39 If endOffset is lower than startOffset, the result is the same as a call
40 with the two arguments exchanged. The whole text can be defined by passing
41 the indices zero and IAccessibleText::nCharacters. If both indices have the
42 same value, an empty string is defined.
44 [object, uuid(A59AA09A
-7011-4b65
-939D
-32B1FB5547E3
)]
45 interface IAccessibleEditableText
: IUnknown
48 /** @brief Copies the text range into the clipboard.
50 The specified text between the two given indices is copied into the
53 @param [in] startOffset
54 Start index of the text to moved into the clipboard.
55 The valid range is 0..length.
57 End index of the text to moved into the clipboard.
58 The valid range is 0..length.
62 [in] long startOffset
,
66 /** @brief Deletes a range of text.
68 The text between and including the two given indices is deleted
69 from the text represented by this object.
71 @param [in] startOffset
72 Start index of the text to be deleted.
73 The valid range is 0..length.
75 End index of the text to be deleted.
76 The valid range is 0..length.
80 [in] long startOffset
,
84 /** @brief Inserts text at the specified position.
86 The specified string is inserted at the given index into the text
87 represented by this object.
90 Index at which to insert the text.
91 The valid range is 0..length.
93 Text that is inserted.
101 /** @brief Deletes a range of text and copies it to the clipboard.
103 The text between the two given indices is deleted from the text
104 represented by this object and copied to the clipboard.
106 @param [in] startOffset
107 Start index of the text to be deleted.
108 The valid range is 0..length.
109 @param [in] endOffset
110 End index of the text to be deleted.
111 The valid range is 0..length.
115 [in] long startOffset
,
119 /** @brief Pastes text from the clipboard.
121 The text in the system clipboard is pasted into the text represented
122 by this object at the given index. This method is similar to the
123 IAccessibleEditableText::insertText method. If the index is not valid
124 the system clipboard text is not inserted.
127 Index at which to insert the text from the system clipboard into
128 the text represented by this object.
129 The valid range is 0..length.
136 /** @brief Replaces text.
138 The text between the two given indices is replaced by the specified
139 replacement string. This method is equivalent to calling first
140 IAccessibleEditableText::deleteText with the two indices and then
141 calling IAccessibleEditableText::insertText with the replacement text
144 @param [in] startOffset
145 Start index of the text to be replaced.
146 The valid range is 0..length.
147 @param [in] endOffset
148 Start index of the text to be replaced.
149 The valid range is 0..length.
151 The Text that replaces the text between the given indices.
155 [in] long startOffset
,
160 /** @brief Replaces the attributes of a text range by the given set of attributes.
162 Sets the attributes for the text between the two given indices. The old
163 attributes are replaced by the new list of attributes.
165 @param [in] startOffset
166 Start index of the text whose attributes are modified.
167 The valid range is 0..length.
168 @param [in] endOffset
169 Start index of the text whose attributes are modified.
170 The valid range is 0..length.
171 @param [in] attributes
172 Set of attributes that replaces the old list of attributes of
173 the specified text portion.
175 HRESULT setAttributes
177 [in] long startOffset
,
179 [in] BSTR *attributes