Bump for 3.6-28
[LibreOffice.git] / offapi / com / sun / star / accessibility / XAccessibleTextMarkup.idl
blob1c855d192246a29f35e48e54b03787ec8603b1f6
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
29 #ifndef __com_sun_star_accessibility_XAccessibleTextMarkup_idl__
30 #define __com_sun_star_accessibility_XAccessibleTextMarkup_idl__
32 #include <com/sun/star/uno/XInterface.idl>
33 #include <com/sun/star/lang/IllegalArgumentException.idl>
34 #include <com/sun/star/lang/IndexOutOfBoundsException.idl>
35 #include <com/sun/star/accessibility/XAccessibleText.idl>
36 #include <com/sun/star/accessibility/TextSegment.idl>
38 module com { module sun { module star { module accessibility {
40 interface XAccessibleTextMarkup;
43 /** Implement this interface to expose the text markups of a text.
45 <p>The <type>XAccessibleTextMarkup</type> interface is the main interface
46 to expose text markups in a text, typically of a text document, that are
47 used to reference other (parts of) documents. For supporting the
48 <member>XAccessibleTextMarkup::getTextMarkupIndex</member> method of this
49 interface and other character related methods of the
50 <type>XAccessibleTextMarkup</type> interface, it is necessary to also
51 support the <type>XAccessibleText</type> interface.</p>
53 @see XAccessibleText
55 @since OOo 3.0
57 interface XAccessibleTextMarkup
58 : ::com::sun::star::accessibility::XAccessibleText
60 /** Returns the number of text markup of the given text markup type
61 of a text.
63 <p>Throws <type>IllegalArgumentException</type>, if given text
64 markup type is out of valid range.</p>
66 @param TextMarkupType
67 This specifies the type of text markups, whose count should
68 be returned - see <type>TextMarkupType</type>.
70 @return
71 The number of text markup of the given text markup type.
72 Returns 0 if there is no text markup.
74 long getTextMarkupCount ( [in] long TextMarkupType )
75 raises (::com::sun::star::lang::IllegalArgumentException);
77 /** Returns the text segment of the text markup of the given index and
78 of the given text mark type
80 <p>Throws <type>IndexOutOfBoundsException</type>, if given index
81 is out of valid range.</p>
82 <p>Throws <type>IllegalArgumentException</type>, if given text
83 markup type is out of valid range.</p>
85 @param TextMarkupIndex
86 This index specifies the text markup to return.
88 @param TextMarkupType
89 This specifies the type of the text markup to be returned - see
90 <type>TextMarkupType</type>.
92 @return
93 If the given index is in range [0..getTextMarkupCount(TextMarkupType)-1],
94 the text segment - see <type>TextSegment</type> - of the text markup
95 of the given text markup type is returned.
97 TextSegment getTextMarkup ( [in] long TextMarkupIndex,
98 [in] long TextMarkupType )
99 raises (::com::sun::star::lang::IndexOutOfBoundsException,
100 ::com::sun::star::lang::IllegalArgumentException);
102 /** returns a sequence of the text segments of the text markups at the given
103 character index and of the given text markup type.
105 <p>Throws <type>IndexOutOfBoundsException</type>, if given character
106 index is out of range [0..number of characters in the text).</p>
107 <p>Throws <type>IllegalArgumentException</type>, if given text
108 markup type is out of valid range.</p>
110 @param CharIndex
111 This index specifies the character index in the text.
113 @param TextMarkupType
114 This specifies the type of the text markups to be returned - see
115 <type>TextMarkupType</type>.
117 @return
118 If character index is in range [0..number of characters in the text-1],
119 a sequence of <type>TextSegment</type>s of the text markups at
120 given character index of the given text markup type are returned.
121 The sequence is empty, if no such text markup is found.
123 sequence<TextSegment> getTextMarkupAtIndex ( [in] long CharIndex,
124 [in] long TextMarkupType )
125 raises (::com::sun::star::lang::IndexOutOfBoundsException,
126 ::com::sun::star::lang::IllegalArgumentException);
129 }; }; }; };
131 #endif
133 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */