xref: /AOO41X/main/offapi/com/sun/star/text/AccessibleTextDocumentView.idl (revision 2a413f170de95afb9972effe5557e28dd83e2121)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23#ifndef __com_sun_star_text_AccessibleTextDocumentView_idl__
24#define __com_sun_star_text_AccessibleTextDocumentView_idl__
25
26#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
27#include <com/sun/star/accessibility/XAccessibleContext.idl>
28#endif
29
30#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
31#include <com/sun/star/accessibility/XAccessibleComponent.idl>
32#endif
33
34#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
35#include <com/sun/star/accessibility/XAccessibleSelection.idl>
36#endif
37
38#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
39#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
40#endif
41
42
43//=============================================================================
44
45module com {  module sun {  module star {  module text {
46
47//=============================================================================
48
49/** The accessible view of a text document.
50
51     @since OpenOffice 1.1.2
52 */
53published service AccessibleTextDocumentView
54{
55    /** This interface gives access to any text, table, graphic, embedded
56        object and drawing that is at least partially visible on the screen.
57        The tree that arises from the children of this object reflects the
58        structure of the document as it is displayed.
59
60        <ul>
61            <li>The children returned by
62                <method scope="::com::sun::star::accessibility"
63                >XAccessibleContext::getAccessibleChild</method> all support
64                the interface XAccessible. Calling
65                <method scope="::com::sun::star::accessibility"
66                >XAccessible::getAccessibleContext</method> for these children
67                returns an object that supports one of the following
68                services.
69                <ul>
70                    <li><type scope="::com::sun::star::text"
71                        >AccessibleHeaderFooterView</type>:
72                        A child of this kind is returned for every header
73                        and footer that is at least partially visible.
74                    <li><type scope="::com::sun::star::text"
75                        >AccessibleFootnoteView</type>:
76                        A child of this kind is returned for every footnote
77                        that is at least partially visible.
78                    <li><type scoep="::com::sun::star::text"
79                        >AccessibleEndnoteView</type>:
80                        A child of this kind is returned for every endnote
81                        that is at least partially visible.
82                    <li><type scope="::com::sun::star::text"
83                        >AccessibleParagraphView</type>:
84                        A child of this kind is returned for every paragraph
85                        fragment that is contained in the document body and
86                        is at least partially visible. A paragraph fragment is
87                        the part of a paragraph that is displayed on a
88                        certain page.
89                    <li><type scope="::com::sun::star::table"
90                        >AccessibleTableView</type>:
91                        A child of this kind is returned for every table
92                        fragment that is contained in the document body
93                        and is at least partially visible. A table fragment is
94                        the part of a table that is displayed on a certain page.
95                    <li><type scope="::com::sun::star::text"
96                        >AccessibleTextFrameView</type>: A child of this
97                        kind is returned for every text frame that is at
98                        least partially visible. These objects are children
99                        of the
100                        <type>AccessibleTextDocumentView</type> regardless
101                        whether they are bound to a page, a paragarph, a
102                        frame, or a character. The only exception are text
103                        frames that are bound as character. They are childen
104                        of the paragraph they are contained in.
105                    <li><type scope="::com::sun::star::text"
106                        >AccessibleTextGraphicObject</type>:
107                        A child of this kind is returned for every graphic that
108                        is at least partially visible. These objects are
109                        children of the <type>AccessibleTextDocumentView</type>
110                        regardless whether they are bound to a page, paragraph,
111                        a frame or a character. The only exception
112                        are text frames that are bound as character. They are
113                        childen of the paragraph they are contained in.
114                    <li><type scope="::com::sun::star::text"
115                        >AccessibleTextEmbeddedObject</type>:
116                        A child of this kind is returned for every embedded
117                        object that is at least partially visible.
118                        These objects are children of the
119                        <type>AccessibleTextDocumentView</type> regardless
120                        whether they are bound to a page, a paragarph, a frame,
121                        or a character.  They are childen of the paragraph they
122                        are contained in.
123                    <li><type scope="::com::sun::star::drawing"
124                        >AccessibleShape</type>: A child of this kind (or a
125                        derived interface) is returned for every shape that
126                        is at least partially visible. These objects are
127                        children of the
128                        <type>AccessibleTextDocumentView</type> regardless
129                        whether they are bound to a page, a paragraph, a
130                        frame or a character.
131                </ul>
132                <p>The following rules apply to the children order:
133                <ul>
134                    <li>The logical order of paragraph and table fragments is
135                        never changed.
136                    <li>Headers appear immediately before the first paragraph or
137                        table fragment of the header's page.
138                    <li>Footnotes appear immediately after the last paragraph or
139                        table fragment of the footnote's page. The logical order
140                        of footnotes isn't changed.
141                    <li>Endnotes appear immediately after the last footnote of
142                        the endnote's page or after the last paragraph or
143                        table fragment of this page if there are no footnotes.
144                        The logical order of endnotes isn't changed.
145                    <li>Footers appear immediately after the last endnote,
146                        footnote, paragraph or table fragment of the footer's
147                        page.
148                    <li>Text frames, graphics, embedded objects and shapes that
149                        are painted in the background appear before any other
150                        children. Their order reflects the z order.
151                    <li>Text frames, graphics, embedded objects and shapes
152                        that are painted in the foreground appear behind any
153                        other children. Their order reflects the z order,
154                        with the exception of controls that appear really last,
155                        but also keep the z order.
156                </ul>
157            <li>The role is <const scope="::com::sun::star::accessibility"
158                >AccessibleRole::DOCUMENT</const>.
159            <li>The name is "document view" (or the equivalent term
160                in application's language).
161            <li>The description also is "document view" (or the equivalent term
162                in application's language).
163            <li>There are no relation sets.
164            <li>The following states might be contained in the state set
165                returned by <method scope="::com::sun::star::accessibility"
166                >XAccessibleContext::getAccessibleStateSet</method>:
167                <ul>
168                    <li><const scope="::com::sun::star::accessibility"
169                        >AccessibleStateType::DEFUNC</const> (indicates that
170                        the document window has been closed)
171                    <li><const scope="::com::sun::star::accessibility"
172                        >AccessibleStateType::EDITABLE</const>
173                    <li><const scope="::com::sun::star::accessibility"
174                        >AccessibleStateType::ENABLED</const> (always
175                        contained)
176                    <li><const scope="::com::sun::star::accessibility"
177                        >AccessibleStateType::MULTI_SELECTABLE</const>
178                        (always contained)
179                    <li><const scope="::com::sun::star::accessibility"
180                        >AccessibleStateType::OPAQUE</const> (always
181                        contained)
182                    <li><const scope="::com::sun::star::accessibility"
183                        >AccessibleStateType::SHOWING</const>
184                    <li><const scope="::com::sun::star::accessibility"
185                        >AccessibleStateType::VISIBLE</const>
186                </ul>
187            <li>Depending of the application's region setting, the locale is
188                the western, asian or complex default language of the document.
189        </ul>
190
191    */
192    interface ::com::sun::star::accessibility::XAccessibleContext;
193
194    /** This interface describes the graphical representation of a text
195        document view.
196    */
197    interface ::com::sun::star::accessibility::XAccessibleComponent;
198
199    /** This interface is for selecting the document's children. Selectable
200        are any children with the exception of headers, footers, footnotes
201        and endnotes, where only the grandchildren might be selectable.
202    */
203    interface ::com::sun::star::accessibility::XAccessibleSelection;
204
205    /** This is the interface for listeners
206    */
207    interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
208};
209
210//=============================================================================
211
212}; }; }; };
213
214#endif
215