summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/accessibility/XAccessibleTextMarkup.idl
blob: 077200de2b3085c7f546045dcd0933f913a5ac7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 * 
 * Copyright 2000, 2010 Oracle and/or its affiliates.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org 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 version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/

#ifndef __com_sun_star_accessibility_XAccessibleTextMarkup_idl__
#define __com_sun_star_accessibility_XAccessibleTextMarkup_idl__

#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
#include <com/sun/star/lang/IllegalArgumentException.idl>
#endif
#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
#endif
#ifndef __com_sun_star_accessibility_XAccessibleText_idl__
#include <com/sun/star/accessibility/XAccessibleText.idl>
#endif
#ifndef __com_sun_star_accessibility_TextSegment_idl__
#include <com/sun/star/accessibility/TextSegment.idl>
#endif

module com { module sun { module star { module accessibility {

 interface XAccessibleTextMarkup;


/** Implement this interface to expose the text markups of a text.

    <p>The <type>XAccessibleTextMarkup</type> interface is the main interface
    to expose text markups in a text, typically of a text document, that are
    used to reference other (parts of) documents. For supporting the
    <member>XAccessibleTextMarkup::getTextMarkupIndex</member> method of this
    interface and other character related methods of the
    <type>XAccessibleTextMarkup</type> interface, it is necessary to also
    support the <type>XAccessibleText</type> interface.</p>

    @see XAccessibleText

    @since OOo 3.0
*/
interface XAccessibleTextMarkup
    : ::com::sun::star::accessibility::XAccessibleText
{
    /** Returns the number of text markup of the given text markup type
        of a text.

        <p>Throws <type>IllegalArgumentException</type>, if given text
        markup type is out of valid range.</p>

        @param TextMarkupType
            This specifies the type of text markups, whose count should
            be returned - see <type>TextMarkupType</type>.

        @return
            The number of text markup of the given text markup type.
            Returns 0 if there is no text markup.
    */
    long getTextMarkupCount ( [in] long TextMarkupType )
        raises (::com::sun::star::lang::IllegalArgumentException);

    /** Returns the text segment of the text markup of the given index and
        of the given text mark type

        <p>Throws <type>IndexOutOfBoundsException</type>, if given index
        is out of valid range.</p>
        <p>Throws <type>IllegalArgumentException</type>, if given text
        markup type is out of valid range.</p>

        @param TextMarkupIndex
            This index specifies the text markup to return.

        @param TextMarkupType
            This specifies the type of the text markup to be returned - see
            <type>TextMarkupType</type>.

        @return
            If the given index is in range [0..getTextMarkupCount(TextMarkupType)-1],
            the text segment - see <type>TextSegment</type> - of the text markup
            of the given text markup type is returned.
    */
    TextSegment getTextMarkup ( [in] long TextMarkupIndex,
                                [in] long TextMarkupType )
        raises (::com::sun::star::lang::IndexOutOfBoundsException,
                ::com::sun::star::lang::IllegalArgumentException);

    /** returns a sequence of the text segments of the text markups at the given
        character index and of the given text markup type.

        <p>Throws <type>IndexOutOfBoundsException</type>, if given character
        index is out of range [0..number of characters in the text).</p>
        <p>Throws <type>IllegalArgumentException</type>, if given text
        markup type is out of valid range.</p>

        @param CharIndex
            This index specifies the character index in the text.

        @param TextMarkupType
            This specifies the type of the text markups to be returned - see
            <type>TextMarkupType</type>.

        @return
            If character index is in range [0..number of characters in the text-1],
            a seguence of <type>TextSegment</type>s of the text markups at
            given character index of the given text markup type are returned.
            The sequence is empty, if no such text markup is found.
    */
    sequence<TextSegment> getTextMarkupAtIndex ( [in] long CharIndex,
                                                 [in] long TextMarkupType )
        raises (::com::sun::star::lang::IndexOutOfBoundsException,
                ::com::sun::star::lang::IllegalArgumentException);
};

}; }; }; };

#endif