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>
57 interface XAccessibleTextMarkup
58 : ::com
::sun
::star
::accessibility
::XAccessibleText
60 /** Returns the number of text markup of the given text markup type
63 <p>Throws <type>IllegalArgumentException</type>, if given text
64 markup type is out of valid range.</p>
67 This specifies the type of text markups, whose count should
68 be returned - see <type>TextMarkupType</type>.
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.
89 This specifies the type of the text markup to be returned - see
90 <type>TextMarkupType</type>.
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>
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>.
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
);
133 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */