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_AccessibleFootnoteView_idl__
28#define __com_sun_star_text_AccessibleFootnoteView_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 footnotes.
50
51	 @since OOo 1.1.2
52
53 */
54published service AccessibleFootnoteView
55{
56	/** This interface gives access to any paragraph fragment and table
57	    fragment that is contained in a footnote and is at least
58		partially visible on the screen.
59
60		<ul>
61			<li>The parent returned by <method scope="::com::sun::star::accessibility"
62                >XAccessibleContext::getAccessibleParent</method>
63				is either the accessible view of a text document,
64				a page of the accessible page preview of a text document,
65				or the accessible page preview of a spreadsheet document.
66			<li>The children returned by <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 children returns
71				an object that supports one of the following services.
72				<ul>
73					<li><type scope="::com::sun::star::text"
74                        >AccessibleParagraphView</type>:
75						A child of this kind is returned for every paragraph
76						fragment that is contained in the document body and
77						is at least partially visible. A paragraph fragment is
78						the part of a paragraph that is displayed on a
79						certain page.
80					<li><type scope="::com::sun::star::table"
81                        >AccessibleTableView</type>:
82						A child of this kind is returned for every table
83						fragment that is contained in the document body
84						and is at least partially visible. A table fragment is
85						the part of a table that is displayed on a certain page.
86				</ul>
87				<p>The logical order of paragraph and table fragments is never
88				   changed.
89			<li>The role is <const scope="::com::sun::star::accessibility"
90                >AccessibleRole::FOOTNOTE</const>
91			<li>The name is "footnote" (or the equivalent term
92				in application's language) with a number appended.
93			<li>The description is footnote" (or the equivalent term
94				in application's language) with the footnote number or
95				character appended in the format that is specified in the
96				footnote settings.
97			<li>There are no relations. <em>TODO: One might specify a relation
98				to the footnote anchor's paragraph.</em>
99			<li>The following states might be contained in the state set
100				returned by <method scope="::com::sun::star::accessibility"
101                >XAccessible::getAccessibleStateSet</type>:
102				<ul>
103					<li><const scope="::com::sun::star::accessibility"
104                        >AccessibleStateType::DEFUNC</const> (indicates that
105                        the document window has been closed or the footnote is
106						not existing any longer)
107					<li><const scope="::com::sun::star::accessibility"
108                        >AccessibleStateType::EDITABLE</const>
109					<li><const scope="::com::sun::star::accessibility"
110                        >AccessibleStateType::ENABLED</const> (always contained)
111					<li><const scope="::com::sun::star::accessibility"
112                        >AccessibleStateType::OPAQUE</const>
113					<li><const scope="::com::sun::star::accessibility"
114                        >AccessibleStateType::SHOWING</const>
115					<li><const scope="::com::sun::star::accessibility"
116                        >AccessibleStateType::VISIBLE</const>
117				</ul>
118			<li>Depending of the application's region setting, the locale is
119				the western, asian or complex default language of the document.
120		</ul>
121
122	 */
123	interface ::com::sun::star::accessibility::XAccessibleContext;
124
125	/** This interface describes the graphical representation of a
126	  	footnote.
127	 */
128	interface ::com::sun::star::accessibility::XAccessibleComponent;
129
130	/** This is the interface for listeners */
131	interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
132};
133
134//=============================================================================
135
136}; }; }; };
137
138#endif
139