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