summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/text/AccessibleTextDocumentView.idl
blob: b46304d7d2774006104f6fbee18f955921893f1f (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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
/*************************************************************************
 *
 *  $RCSfile: AccessibleTextDocumentView.idl,v $
 *
 *  $Revision: 1.4 $
 *
 *  last change: $Author: vg $ $Date: 2003-06-20 09:56:29 $
 *
 *  The Contents of this file are made available subject to the terms of
 *  either of the following licenses
 *
 *         - GNU Lesser General Public License Version 2.1
 *         - Sun Industry Standards Source License Version 1.1
 *
 *  Sun Microsystems Inc., October, 2000
 *
 *  GNU Lesser General Public License Version 2.1
 *  =============================================
 *  Copyright 2000 by Sun Microsystems, Inc.
 *  901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public
 *  License version 2.1, as published by the Free Software Foundation.
 *
 *  This library 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 for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *  MA  02111-1307  USA
 *
 *
 *  Sun Industry Standards Source License Version 1.1
 *  =================================================
 *  The contents of this file are subject to the Sun Industry Standards
 *  Source License Version 1.1 (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.openoffice.org/license.html.
 *
 *  Software provided under this License is provided on an "AS IS" basis,
 *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
 *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
 *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
 *  See the License for the specific provisions governing your rights and
 *  obligations concerning the Software.
 *
 *  The Initial Developer of the Original Code is: Sun Microsystems, Inc.
 *
 *  Copyright: 2000 by Sun Microsystems, Inc.
 *
 *  All Rights Reserved.
 *
 *  Contributor(s): _______________________________________
 *
 *
 ************************************************************************/
#ifndef __com_sun_star_text_AccessibleTextDocumentView_idl__
#define __com_sun_star_text_AccessibleTextDocumentView_idl__

#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
#include <com/sun/star/accessibility/XAccessibleContext.idl>
#endif

#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
#include <com/sun/star/accessibility/XAccessibleComponent.idl>
#endif

#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
#include <com/sun/star/accessibility/XAccessibleSelection.idl>
#endif

#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
#endif


//=============================================================================

module com {  module sun {  module star {  module text {

//=============================================================================

/** The accessible view of a text document.

     @since #107627#
 */
service AccessibleTextDocumentView
{
    /** This interface gives access to any text, table, graphic, embedded
          object and drawing that is at least partially visible on the screen.
        The tree that arises from the children of this object reflects the
        structure of the document as it is displayed.

        <ul>
            <li>The children returned by
                <method scope="::com::sun::star::accessibility"
                >XAccessibleContext::getAccessibleChild</method> all support
                the interface XAccessible. Calling
                <method scope="::com::sun::star::accessibility"
                >XAccessible::getAccessibleContext</method> for these children
                returns an object that supports one of the following
                services.
                <ul>
                    <li><type scope="::com::sun::star::text"
                        >AccessibleHeaderFooterView</type>:
                        A child of this kind is returned for every header
                        and footer that is at least partially visible.
                    <li><type scope="::com::sun::star::text"
                        >AccessibleFootnoteView</type>:
                        A child of this kind is returned for every footnote
                        that is at least partially visible.
                    <li><type scoep="::com::sun::star::text"
                        >AccessibleEndnoteView</type>:
                        A child of this kind is returned for every endnote
                        that is at least partially visible.
                    <li><type scope="::com::sun::star::text"
                        >AccessibleParagraphView</type>:
                        A child of this kind is returned for every paragraph
                        fragment that is contained in the document body and
                        is at least partially visible. A paragraph fragment is
                        the part of a paragraph that is displayed on a
                        certain page.
                    <li><type scope="::com::sun::star::table"
                        >AccessibleTableView</type>:
                        A child of this kind is returned for every table
                        fragment that is contained in the document body
                        and is at least partially visible. A table fragment is
                        the part of a table that is displayed on a certain page.
                    <li><type scope="::com::sun::star::text"
                        >AccessibleTextFrameView</type>: A child of this
                        kind is returned for every text frame that is at
                        least partially visible. These objects are children
                        of the
                        <type>AccessibleTextDocumentView</type> regardless
                        whether they are bound to a page, a paragarph, a
                        frame, or a character. The only exception are text
                        frames that are bound as character. They are childen
                        of the paragraph they are contained in.
                    <li><type scope="::com::sun::star::text"
                        >AccessibleTextGraphicObject</type>:
                        A child of this kind is returned for every graphic that
                        is at least partially visible. These objects are
                        children of the <type>AccessibleTextDocumentView</type>
                        regardless whether they are bound to a page, paragraph,
                        a frame or a character. The only exception
                        are text frames that are bound as character. They are
                        childen of the paragraph they are contained in.
                    <li><type scope="::com::sun::star::text"
                        >AccessibleTextEmbeddedObject</type>:
                        A child of this kind is returned for every embedded
                        object that is at least partially visible.
                        These objects are children of the
                        <type>AccessibleTextDocumentView</type> regardless
                        whether they are bound to a page, a paragarph, a frame,
                        or a character.  They are childen of the paragraph they
                        are contained in.
                    <li><type scope="::com::sun::star::drawing"
                        >AccessibleShape</type>: A child of this kind (or a
                        derived interface) is returned for every shape that
                        is at least partially visible. These objects are
                        children of the
                        <type>AccessibleTextDocumentView</type> regardless
                        whether they are bound to a page, a paragraph, a
                        frame or a character.
                </ul>
                <p>The following rules apply to the children order:
                <ul>
                    <li>The logical order of paragraph and table fragments is
                        never changed.
                    <li>Headers appear immediately before the first paragraph or
                        table fragment of the header's page.
                    <li>Footnotes appear immediately after the last paragraph or
                        table fragment of the footnote's page. The logical order
                        of footnotes isn't changed.
                    <li>Endnotes appear immediately after the last footnote of
                        the endnote's page or after the last paragraph or
                        table fragment of this page if there are no footnotes.
                        The logical order of endnotes isn't changed.
                    <li>Footers appear immediately after the last endnote,
                        footnote, paragraph or table fragment of the footer's
                        page.
                    <li>Text frames, graphics, embedded objects and shapes that
                        are painted in the background appear before any other
                        children. Their order reflects the z order.
                    <li>Text frames, graphics, embedded objects and shapes
                        that are painted in the foreground appear behind any
                           other children. Their order reflects the z order,
                        with the exception of controls that appear really last,
                        but also keep the z order.
                </ul>
            <li>The role is <const scope="::com::sun::star::accessibility"
                >AccessibleRole::DOCUMENT</const>.
            <li>The name is "document view" (or the equivalent term
                in application's language).
            <li>The description also is "document view" (or the equivalent term
                in application's language).
            <li>There are no relation sets.
            <li>The following states might be contained in the state set
                returned by <method scope="::com::sun::star::accessibility"
                >XAccessibleContext::getAccessibleStateSet</method>:
                <ul>
                    <li><const scope="::com::sun::star::accessibility"
                        >AccessibleStateType::DEFUNC</const> (indicates that
                        the document window has been closed)
                    <li><const scope="::com::sun::star::accessibility"
                        >AccessibleStateType::EDITABLE</const>
                    <li><const scope="::com::sun::star::accessibility"
                        >AccessibleStateType::ENABLED</const> (always
                        contained)
                    <li><const scope="::com::sun::star::accessibility"
                        >AccessibleStateType::MULTI_SELECTABLE</const>
                        (always contained)
                    <li><const scope="::com::sun::star::accessibility"
                        >AccessibleStateType::OPAQUE</const> (always
                        contained)
                    <li><const scope="::com::sun::star::accessibility"
                        >AccessibleStateType::SHOWING</const>
                    <li><const scope="::com::sun::star::accessibility"
                        >AccessibleStateType::VISIBLE</const>
                </ul>
            <li>Depending of the application's region setting, the locale is
                the western, asian or complex default language of the document.
        </ul>

    */
    interface ::com::sun::star::accessibility::XAccessibleContext;

    /** This interface describes the graphical representation of a text
          document view.
    */
    interface ::com::sun::star::accessibility::XAccessibleComponent;

    /** This interface is for selecting the document's children. Selectable
          are any children with the exception of headers, footers, footnotes
        and endnotes, where only the grandchildren might be selectable.
    */
    interface ::com::sun::star::accessibility::XAccessibleSelection;

    /** This is the interface for listeners
    */
    interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
};

//=============================================================================

}; }; }; };

#endif