1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_text_AccessibleEndnoteView_idl__
28#define __com_sun_star_text_AccessibleEndnoteView_idl__
29
30#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
31#include <com/sun/star/accessibility/XAccessibleContext.idl>
32#endif
33
34#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
35#include <com/sun/star/accessibility/XAccessibleComponent.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 pagees.
50
51
52	 @since OOo 1.1.2
53 */
54published service AccessiblePageView
55{
56	/** This interface gives access to any page that is visible in the
57	  	page preview of a text document.
58
59		<ul>
60			<li>The parent returned by
61                <method scope="::com::sun::star::accessibility"
62                >XAccessibleContext::getAccessibleParent</method> is the
63                accessible page preview of a text document.  That is, the
64                object returned by
65				<method scope="::com::sun::star::accessibility"
66                >XAccessible::getAccessibleContext</method> supports
67				<type scope="::com::sun::star::text"
68                >AccessibleTextDocumentPageView</type>.
69            <li>The children returned by
70                <method scope="::com::sun::star::accessibility"
71                >XAccessibleContext::getAccessibleChild</method> all
72				support the interface XAccessible. Calling
73				<method scope="::com::sun::star::accessibility"
74                >XAccessible::getAccessibleContext</method> for these
75                children returns an object that supports one of the
76                following services.
77				<ul>
78					<li><type scope="::com::sun::star::text"
79                        >AccessibleHeaderFooterView</type>:
80						A child of this kind is returned for every header
81						and footer that is conatined in the page.
82					<li><type scope="::com::sun::star::text"
83                        >AccessibleFootnoteView</type>:
84						A child of this kind is returned for every footnote
85						that is conatined in the page.
86					<li><type scope="::com::sun::star::text"
87                        >AccessibleEndnoteView</type>:
88						A child of this kind is returned for every endnote
89						that is conatined in the page.
90					<li><type scope="::com::sun::star::text"
91                        >AccessibleParagraphView</type>:
92						A child of this kind is returned for every paragraph
93						fragment that is contained in the page.
94						A paragraph fragment is the part of a paragraph that
95						is displayed on a certain page.
96					<li><type scope="::com::sun::star::table"
97                        >AccessibleTableView</type>:
98						A child of this kind is returned for every table
99						fragment that is contained in the page.
100						A table fragment is the part of a table that is
101						displayed on a certain page.
102					<li><type scope="::com::sun::star::text"
103                        >AccessibleTextFrameView</type>:
104						A child of this kind is returned for every text
105						frame that is conrtained in the page. These objects
106						are children of the <type>AccessiblePageView</type>
107						regardless whether they are bound to the page, a
108						paragarph, a frame, or a character. The only
109						exception are text frames that are bound as
110						character.  They are childen of the paragraph they
111						are contained in.
112					<li><type scope="::com::sun::star::text"
113                        >AccessibleTextGraphicObject</type>:
114						A child of this kind is returned for every graphic that
115						is contained in the page. These objects are
116						children of the <type>AccessiblePageView</type>
117						regardless whether they are bound to a page, paragraph,
118						a frame or a character. The only exception
119						are text frames that are bound as character. They are
120						childen of the paragraph they are contained in.
121					<li><type scope="::com::sun::star::text"
122                        >AccessibleTextEmbeddedObject</type>:
123						A child of this kind is returned for every embedded
124						object that is conatained in the page.
125						These objects are children of the
126						<type>AccessibleTextDocumentView</type> regardless
127						whether they are bound to a page, a paragarph, a frame,
128						or a character.  They are childen of the paragraph they
129						are contained in.
130					<li><type scope="::com::sun::star::drawing"
131                        >AccessibleShape</type>:
132						A child of this kind (or one of its derived
133						interfaces) is returned for every shape that is
134						contained in the page. These objects are children of
135						the <type>AccessibleTextDocumentView</type>
136						regardless whether they are bound to a page, a
137						paragraph, a frame or a character.
138				</ul>
139				<p>The following rules apply to the children order:
140				<ul>
141					<li>The logical order of paragraph and table fragments is
142						never changed.
143					<li>Headers appear immediately before the first paragraph or
144						table fragment of the header's page.
145					<li>Footnotes appear immediately after the last paragraph or
146						table fragment of the footnote's page. The logical order
147						of footnotes isn't changed.
148					<li>Endnotes appear immediately after the last footnote of
149						the endnote's page or after the last paragraph or
150						table fragment of this page if there are no footnotes.
151						The logical order of endnotes isn't changed.
152					<li>Footers appear immediately after the last endnote,
153						footnote, paragraph or table fragment of the footer's
154						page.
155					<li>Text frames, graphics, embedded objects and shapes that
156						are painted in the background appear before any other
157						children. Their order reflects the z order.
158					<li>Text frames, graphics, embedded objects and shapes
159						that are painted in the foreground appear behind any
160					   	other children. Their order reflects the z order,
161						with the exception of controls that appear really last,
162						but also keep the z order.
163				</ul>
164			<li>The role is <const scope="::com::sun::star::accessibility"
165                >AccessibleRole::PANEL</const>
166			<li>The name is "page" (or the equivalent term
167				in application's language) with a number appended.
168			<li>The description is "page" (or the equivalent term
169				in application's language) with the page number or
170				character appended in the format that is specified in the
171				page style.
172			<li>There are no relations.</li>
173			<li>The following states might be contained in the state set
174				returned by <method scope="::com::sun::star::accessibility"
175                >XAccessibleContext::getAccessibleStateSet</method>:
176				<ul>
177					<li><const scope="::com::sun::star::accessibility"
178                        >AccessibleStateType::DEFUNC</const> (indicates that
179                        the document window has been closed or the endnote
180                        is not existing any longer)</li>
181                    <li><const scope="::com::sun::star::accessibility"
182                        >AccessibleStateType::ENABLED</const> (always
183                        contained)</li>
184                    <li><const scope="::com::sun::star::accessibility"
185                        >AccessibleStateType::OPAQUE</const>
186					<li><const scope="::com::sun::star::accessibility"
187                        >AccessibleStateType::FOCUSABLE</const>
188					<li><const scope="::com::sun::star::accessibility"
189                        >AccessibleStateType::FOCUSED</const>
190					<li><const scope="::com::sun::star::accessibility"
191                        >AccessibleStateType::SHOWING</const>
192					<li><const scope="::com::sun::star::accessibility"
193                        >AccessibleStateType::VISIBLE</const>
194				</ul>
195			<li>The locale is the application's locale.
196		</ul>
197
198	 */
199	interface ::com::sun::star::accessibility::XAccessibleContext;
200
201	/** This interface describes the graphical representation of a
202	  	endnote.
203	 */
204	interface ::com::sun::star::accessibility::XAccessibleComponent;
205
206	/** This is the interface for listeners */
207	interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
208};
209
210//=============================================================================
211
212}; }; }; };
213
214#endif
215