/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef __com_sun_star_accessibility_XAccessibleEditableText_idl__ #define __com_sun_star_accessibility_XAccessibleEditableText_idl__ #include #include #include module com { module sun { module star { module accessibility { /** Implement this interface to give read and write access to a text representation.

This interface is typically used in conjunction with the XAccessibleText interface and extents it about the ability to modify the text represented by that interface.

@since OOo 1.1.2 */ interface XAccessibleEditableText : ::com::sun::star::accessibility::XAccessibleText { /** Copies the text range into the clipboard.

The specified text between and including the two given indices is copied into the system clipboard and is deleted afterwards from the text represented by this object. This is equivalent to calling first XAccessibleText::copyText() and then XAccessibleEditableText::deleteText() with the given start and end indices.

The text indices are interpreted like those in the XAccessibleText::getTextRange() method.

@param nStartIndex Start index of the text to moved into the clipboard. The valid range is 0..length. @param nEndIndex End index of the text to moved into the clipboard. The valid range is 0..length. @return Returns a flag that indicates whether the operation has been executed successfully. @throws ::com::sun::star::lang::IndexOutOfBoundsException if the indices are invalid */ boolean cutText ([in] long nStartIndex, [in] long nEndIndex) raises (::com::sun::star::lang::IndexOutOfBoundsException); /** 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 XAccessibleEditableText::insertText() method. If the index is not valid then the system clipboard text is not inserted.

@param nIndex Index at which to insert the text from the system clipboard into the text represented by this object. The valid range is 0..length. @return Returns a flag that indicates whether the operation has been executed successfully. @throws ::com::sun::star::lang::IndexOutOfBoundsException if the index is invalid */ boolean pasteText ([in] long nIndex) raises (::com::sun::star::lang::IndexOutOfBoundsException); /** Deletes a range of text.

The text between and including the two given indices is deleted from the text represented by this object.

The text indices are interpreted like those in the XAccessibleText::getTextRange() method.

@param nStartIndex Start index of the text to be deleted. The valid range is 0..length. @param nEndIndex End index of the text to be deleted. The valid range is 0..length. @return Returns a flag that indicates whether the operation has been executed successfully. @throws ::com::sun::star::lang::IndexOutOfBoundsException if the indices are invalid */ boolean deleteText ([in] long nStartIndex, [in] long nEndIndex) raises (::com::sun::star::lang::IndexOutOfBoundsException); /** Inserts text at the specified position.

The specified string is inserted at the given index into the text represented by this object.

@param sText Text that is inserted. @param nIndex Index at which to insert the text. The valid range is 0..length. @return Returns a flag that indicates whether the operation has been executed successfully. @throws ::com::sun::star::lang::IndexOutOfBoundsException if the indices are invalid */ boolean insertText ([in] string sText, [in] long nIndex) raises (::com::sun::star::lang::IndexOutOfBoundsException); /** Replaces text.

The text between the two given indices is replaced by the specified replacement string. This method is equivalent to calling first XAccessibleEditableText::deleteText() with the two indices and afterwards calling XAccessibleEditableText::insertText() with the replacement text and the start index.

The text indices are interpreted like those in the XAccessibleText::getTextRange() method.

@param nStartIndex Start index of the text to be replaced. The valid range is 0..length. @param nEndIndex Start index of the text to be replaced. The valid range is 0..length. @param sReplacement The Text that replaces the text between the given indices. @return Returns a flag that indicates whether the operation has been executed successfully. @throws ::com::sun::star::lang::IndexOutOfBoundsException if the indices are invalid */ boolean replaceText ([in] long nStartIndex, [in] long nEndIndex, [in] string sReplacement) raises (::com::sun::star::lang::IndexOutOfBoundsException); /** Replaces the attributes of a text range by the given set of attributes.

Sets the attributes for the text between and including the two given indices to those given. The old attributes of this text portion are replaced by the new list of attributes.

The text indices are interpreted like those in the XAccessibleText::getTextRange() method.

@param nStartIndex Start index of the text whose attributes are modified. The valid range is 0..length. @param nEndIndex Start index of the text whose attributes are modified. The valid range is 0..length. @param aAttributeSet Set of attributes that replaces the old list of attributes of the specified text portion. @return Returns a flag that indicates whether the operation has been executed successfully. @throws ::com::sun::star::lang::IndexOutOfBoundsException if the indices are invalid */ boolean setAttributes ([in] long nStartIndex, [in] long nEndIndex, [in] sequence<::com::sun::star::beans::PropertyValue> aAttributeSet) raises (::com::sun::star::lang::IndexOutOfBoundsException); /** Replaces the whole text with the given text.

The text content of this object is set to the given string.

@param sText The new text that replaces the old text. @return Returns a flag that indicates whether the operation has been executed successfully. */ boolean setText ([in] string sText); }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */