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_AccessibleEndnoteView_idl__
24#define __com_sun_star_text_AccessibleEndnoteView_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_XAccessibleEventBroadcaster_idl__
35#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
36#endif
37
38
39//=============================================================================
40
41module com {  module sun {  module star {  module text {
42
43//=============================================================================
44
45/** The accessible view of pagees.
46
47
48	 @since OpenOffice 1.1.2
49 */
50published service AccessiblePageView
51{
52	/** This interface gives access to any page that is visible in the
53	  	page preview of a text document.
54
55		<ul>
56			<li>The parent returned by
57                <method scope="::com::sun::star::accessibility"
58                >XAccessibleContext::getAccessibleParent</method> is the
59                accessible page preview of a text document.  That is, the
60                object returned by
61				<method scope="::com::sun::star::accessibility"
62                >XAccessible::getAccessibleContext</method> supports
63				<type scope="::com::sun::star::text"
64                >AccessibleTextDocumentPageView</type>.
65            <li>The children returned by
66                <method scope="::com::sun::star::accessibility"
67                >XAccessibleContext::getAccessibleChild</method> all
68				support the interface XAccessible. Calling
69				<method scope="::com::sun::star::accessibility"
70                >XAccessible::getAccessibleContext</method> for these
71                children returns an object that supports one of the
72                following services.
73				<ul>
74					<li><type scope="::com::sun::star::text"
75                        >AccessibleHeaderFooterView</type>:
76						A child of this kind is returned for every header
77						and footer that is conatined in the page.
78					<li><type scope="::com::sun::star::text"
79                        >AccessibleFootnoteView</type>:
80						A child of this kind is returned for every footnote
81						that is conatined in the page.
82					<li><type scope="::com::sun::star::text"
83                        >AccessibleEndnoteView</type>:
84						A child of this kind is returned for every endnote
85						that is conatined in the page.
86					<li><type scope="::com::sun::star::text"
87                        >AccessibleParagraphView</type>:
88						A child of this kind is returned for every paragraph
89						fragment that is contained in the page.
90						A paragraph fragment is the part of a paragraph that
91						is displayed on a certain page.
92					<li><type scope="::com::sun::star::table"
93                        >AccessibleTableView</type>:
94						A child of this kind is returned for every table
95						fragment that is contained in the page.
96						A table fragment is the part of a table that is
97						displayed on a certain page.
98					<li><type scope="::com::sun::star::text"
99                        >AccessibleTextFrameView</type>:
100						A child of this kind is returned for every text
101						frame that is conrtained in the page. These objects
102						are children of the <type>AccessiblePageView</type>
103						regardless whether they are bound to the page, a
104						paragarph, a frame, or a character. The only
105						exception are text frames that are bound as
106						character.  They are childen of the paragraph they
107						are contained in.
108					<li><type scope="::com::sun::star::text"
109                        >AccessibleTextGraphicObject</type>:
110						A child of this kind is returned for every graphic that
111						is contained in the page. These objects are
112						children of the <type>AccessiblePageView</type>
113						regardless whether they are bound to a page, paragraph,
114						a frame or a character. The only exception
115						are text frames that are bound as character. They are
116						childen of the paragraph they are contained in.
117					<li><type scope="::com::sun::star::text"
118                        >AccessibleTextEmbeddedObject</type>:
119						A child of this kind is returned for every embedded
120						object that is conatained in the page.
121						These objects are children of the
122						<type>AccessibleTextDocumentView</type> regardless
123						whether they are bound to a page, a paragarph, a frame,
124						or a character.  They are childen of the paragraph they
125						are contained in.
126					<li><type scope="::com::sun::star::drawing"
127                        >AccessibleShape</type>:
128						A child of this kind (or one of its derived
129						interfaces) is returned for every shape that is
130						contained in the page. These objects are children of
131						the <type>AccessibleTextDocumentView</type>
132						regardless whether they are bound to a page, a
133						paragraph, a frame or a character.
134				</ul>
135				<p>The following rules apply to the children order:
136				<ul>
137					<li>The logical order of paragraph and table fragments is
138						never changed.
139					<li>Headers appear immediately before the first paragraph or
140						table fragment of the header's page.
141					<li>Footnotes appear immediately after the last paragraph or
142						table fragment of the footnote's page. The logical order
143						of footnotes isn't changed.
144					<li>Endnotes appear immediately after the last footnote of
145						the endnote's page or after the last paragraph or
146						table fragment of this page if there are no footnotes.
147						The logical order of endnotes isn't changed.
148					<li>Footers appear immediately after the last endnote,
149						footnote, paragraph or table fragment of the footer's
150						page.
151					<li>Text frames, graphics, embedded objects and shapes that
152						are painted in the background appear before any other
153						children. Their order reflects the z order.
154					<li>Text frames, graphics, embedded objects and shapes
155						that are painted in the foreground appear behind any
156					   	other children. Their order reflects the z order,
157						with the exception of controls that appear really last,
158						but also keep the z order.
159				</ul>
160			<li>The role is <const scope="::com::sun::star::accessibility"
161                >AccessibleRole::PANEL</const>
162			<li>The name is "page" (or the equivalent term
163				in application's language) with a number appended.
164			<li>The description is "page" (or the equivalent term
165				in application's language) with the page number or
166				character appended in the format that is specified in the
167				page style.
168			<li>There are no relations.</li>
169			<li>The following states might be contained in the state set
170				returned by <method scope="::com::sun::star::accessibility"
171                >XAccessibleContext::getAccessibleStateSet</method>:
172				<ul>
173					<li><const scope="::com::sun::star::accessibility"
174                        >AccessibleStateType::DEFUNC</const> (indicates that
175                        the document window has been closed or the endnote
176                        is not existing any longer)</li>
177                    <li><const scope="::com::sun::star::accessibility"
178                        >AccessibleStateType::ENABLED</const> (always
179                        contained)</li>
180                    <li><const scope="::com::sun::star::accessibility"
181                        >AccessibleStateType::OPAQUE</const>
182					<li><const scope="::com::sun::star::accessibility"
183                        >AccessibleStateType::FOCUSABLE</const>
184					<li><const scope="::com::sun::star::accessibility"
185                        >AccessibleStateType::FOCUSED</const>
186					<li><const scope="::com::sun::star::accessibility"
187                        >AccessibleStateType::SHOWING</const>
188					<li><const scope="::com::sun::star::accessibility"
189                        >AccessibleStateType::VISIBLE</const>
190				</ul>
191			<li>The locale is the application's locale.
192		</ul>
193
194	 */
195	interface ::com::sun::star::accessibility::XAccessibleContext;
196
197	/** This interface describes the graphical representation of a
198	  	endnote.
199	 */
200	interface ::com::sun::star::accessibility::XAccessibleComponent;
201
202	/** This is the interface for listeners */
203	interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
204};
205
206//=============================================================================
207
208}; }; }; };
209
210#endif
211