1*b1cdbd2cSJim Jagielski/**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_sheet_AccessibleSpreadsheetPageView_idl__
24*b1cdbd2cSJim Jagielski#define __com_sun_star_sheet_AccessibleSpreadsheetPageView_idl__
25*b1cdbd2cSJim Jagielski
26*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
27*b1cdbd2cSJim Jagielski#include <com/sun/star/accessibility/XAccessibleContext.idl>
28*b1cdbd2cSJim Jagielski#endif
29*b1cdbd2cSJim Jagielski
30*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
31*b1cdbd2cSJim Jagielski#include <com/sun/star/accessibility/XAccessibleComponent.idl>
32*b1cdbd2cSJim Jagielski#endif
33*b1cdbd2cSJim Jagielski
34*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
35*b1cdbd2cSJim Jagielski#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
36*b1cdbd2cSJim Jagielski#endif
37*b1cdbd2cSJim Jagielski
38*b1cdbd2cSJim Jagielski//=============================================================================
39*b1cdbd2cSJim Jagielski
40*b1cdbd2cSJim Jagielskimodule com {  module sun {  module star {  module sheet {
41*b1cdbd2cSJim Jagielski
42*b1cdbd2cSJim Jagielski//=============================================================================
43*b1cdbd2cSJim Jagielski
44*b1cdbd2cSJim Jagielski/** The accessible view of a spreadsheet page preview
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim Jagielski	 @since OpenOffice 1.1.2
47*b1cdbd2cSJim Jagielski
48*b1cdbd2cSJim Jagielski */
49*b1cdbd2cSJim Jagielskipublished service AccessibleSpreadsheetPageView
50*b1cdbd2cSJim Jagielski{
51*b1cdbd2cSJim Jagielski	/** This interface gives access to any object that is at least partially
52*b1cdbd2cSJim Jagielski	    visible on the screen in the page preview.
53*b1cdbd2cSJim Jagielski
54*b1cdbd2cSJim Jagielski	<ul>
55*b1cdbd2cSJim Jagielski		<li>The parent returned by
56*b1cdbd2cSJim Jagielski            <method scope="::com::sun::star::accessibility"
57*b1cdbd2cSJim Jagielski            >XAccessibleContext::getAccessibleParent</method>
58*b1cdbd2cSJim Jagielski			is the window wich contains the view of these page preview.</li>
59*b1cdbd2cSJim Jagielski		<li>The children returned by
60*b1cdbd2cSJim Jagielski            <method scope="::com::sun::star::accessibility"
61*b1cdbd2cSJim Jagielski            >XAccessibleContext::getAccessibleChild</method> all
62*b1cdbd2cSJim Jagielski			support the interface XAccessible. Calling
63*b1cdbd2cSJim Jagielski			<method scope="::com::sun::star::accessibility"
64*b1cdbd2cSJim Jagielski            >XAccessibleContext::getAccessibleContext</method> for these children returns
65*b1cdbd2cSJim Jagielski			an object that supports one of the following services.</li>
66*b1cdbd2cSJim Jagielski		<ul>
67*b1cdbd2cSJim Jagielski			<li><type scope="::com::sun::star::sheet"
68*b1cdbd2cSJim Jagielski                >AccessiblePageHeaderFooterAreasView</type>: A child where calling
69*b1cdbd2cSJim Jagielski                <method scope="::com::sun::star::accessibility"
70*b1cdbd2cSJim Jagielski                >XAccessibleContext::getAccessibleChild</method>
71*b1cdbd2cSJim Jagielski				an object that supports this service is returned for
72*b1cdbd2cSJim Jagielski				every header and footer that is at least partially visible.</li>
73*b1cdbd2cSJim Jagielski			<li><type scope="::com::sun::star::table">AccessibleTableView</type>:
74*b1cdbd2cSJim Jagielski				A child where calling
75*b1cdbd2cSJim Jagielski                <method scope="::com::sun::star::accessibility"
76*b1cdbd2cSJim Jagielski                >XAccessibleChild::getAccessibleChild</method>
77*b1cdbd2cSJim Jagielski				an object that supports this service is returned for
78*b1cdbd2cSJim Jagielski				every table fragment that is contained in the document body
79*b1cdbd2cSJim Jagielski				and is at least partially visible. A table fragment is the
80*b1cdbd2cSJim Jagielski				part of a table that is displayed on a certain page.</li>
81*b1cdbd2cSJim Jagielski			<li><type scope="::com::sun::star::drawing">AccessibleShape</type>:
82*b1cdbd2cSJim Jagielski				A child where calling
83*b1cdbd2cSJim Jagielski                <method scope="::com::sun::star::accessibility"
84*b1cdbd2cSJim Jagielski                >XAccessibleContext::getAccessibleChild</method>
85*b1cdbd2cSJim Jagielski				an object that supports this service is returned
86*b1cdbd2cSJim Jagielski				for every shape that is at least partially visible. These
87*b1cdbd2cSJim Jagielski				objects are children of the
88*b1cdbd2cSJim Jagielski				<type>AccessibleSpreadsheetPageView</type> regardless
89*b1cdbd2cSJim Jagielski				whether they are bound to a table or a cell.</li>
90*b1cdbd2cSJim Jagielski			<li><type scope="::com::sun::star::text">AccessibleParagraphView</type>:
91*b1cdbd2cSJim Jagielski				A child where calling
92*b1cdbd2cSJim Jagielski                <method scope="::com::sun::star::accessibility"
93*b1cdbd2cSJim Jagielski                >XAccessibleContext::getAccessibleChild</method>
94*b1cdbd2cSJim Jagielski				an object that supports this service is returned for
95*b1cdbd2cSJim Jagielski				every note (its paragraphs) and its location (which is
96*b1cdbd2cSJim Jagielski				represented as a paragraph with the cell name as content).</li>
97*b1cdbd2cSJim Jagielski		</ul>
98*b1cdbd2cSJim Jagielski		<p>The following rules apply to the children order. General it
99*b1cdbd2cSJim Jagielski			represents the paint order. The object in the background came
100*b1cdbd2cSJim Jagielski			first and than all over lying objects. The last painted object
101*b1cdbd2cSJim Jagielski			is also the last child.</p>
102*b1cdbd2cSJim Jagielski		<ul>
103*b1cdbd2cSJim Jagielski			<li>The logical order of paragraph and table fragments is never
104*b1cdbd2cSJim Jagielski				changed.</li>
105*b1cdbd2cSJim Jagielski			<li>Headers appear immediately before the first table fragment
106*b1cdbd2cSJim Jagielski				of the header's page.</li>
107*b1cdbd2cSJim Jagielski			<li>Footers appear immediately after the last table fragment.</li>
108*b1cdbd2cSJim Jagielski			<li>Shapes appear before any other children if they are painted
109*b1cdbd2cSJim Jagielski				in the background.  Their order reflects the z order.</li>
110*b1cdbd2cSJim Jagielski			<li>Shapes appear behind any other children except controls if
111*b1cdbd2cSJim Jagielski				they are painted in the foreground. Their order reflects the
112*b1cdbd2cSJim Jagielski				z order.</li>
113*b1cdbd2cSJim Jagielski			<li>Controls appear behind any other objects. Their order
114*b1cdbd2cSJim Jagielski				reflects the z order.</li>
115*b1cdbd2cSJim Jagielski		</ul>
116*b1cdbd2cSJim Jagielski		<li>The description is ???.</li>
117*b1cdbd2cSJim Jagielski		<li>The name is Spreadsheet Document Page Preview.</li>
118*b1cdbd2cSJim Jagielski		<li>The role is <const scope="::com::sun::star::accessibility"
119*b1cdbd2cSJim Jagielski            >AccessibleRole::DOCUMENT</const></li>
120*b1cdbd2cSJim Jagielski		<li>There are no relations.</li>
121*b1cdbd2cSJim Jagielski		<li>The following states are supported:
122*b1cdbd2cSJim Jagielski			<ul>
123*b1cdbd2cSJim Jagielski				<li><const scope="::com::sun::star::accessibility"
124*b1cdbd2cSJim Jagielski                    >AccessibleStateType::DEFUNC</const> is always false until
125*b1cdbd2cSJim Jagielski                    the preview is closed.</li>
126*b1cdbd2cSJim Jagielski				<li><const scope="::com::sun::star::accessibility"
127*b1cdbd2cSJim Jagielski                    >AccessibleStateType::EDITABLE</const> is always false,
128*b1cdbd2cSJim Jagielski                    because the document is not editable in the page preview.
129*b1cdbd2cSJim Jagielski                    So it is left out of the list.</li>
130*b1cdbd2cSJim Jagielski				<li><const scope="::com::sun::star::accessibility"
131*b1cdbd2cSJim Jagielski                    >AccessibleStateType::ENABLED</const> is always true.</li>
132*b1cdbd2cSJim Jagielski				<li><const scope="::com::sun::star::accessibility"
133*b1cdbd2cSJim Jagielski                    >AccessibleStateType::MULTILINE</const> makes no sense on a
134*b1cdbd2cSJim Jagielski                    document and so it is left out of the list.</li>
135*b1cdbd2cSJim Jagielski				<li><const scope="::com::sun::star::accessibility"
136*b1cdbd2cSJim Jagielski                    >AccessibleStateType::MULTI_SELECTABLE</const> is always
137*b1cdbd2cSJim Jagielski                    false, because in a page preview a selection is not
138*b1cdbd2cSJim Jagielski                    possible. So it is left out of the list.</li>
139*b1cdbd2cSJim Jagielski				<li><const scope="::com::sun::star::accessibility"
140*b1cdbd2cSJim Jagielski                    >AccessibleStateType::OPAQUE</const> is always true.</li>
141*b1cdbd2cSJim Jagielski				<li><const scope="::com::sun::star::accessibility"
142*b1cdbd2cSJim Jagielski                    >AccessibleStateType::RESIZEABLE</const> is always false,
143*b1cdbd2cSJim Jagielski                    because you can resize the window of the page preview, but
144*b1cdbd2cSJim Jagielski                    not the page preview itself. So it is left out of the
145*b1cdbd2cSJim Jagielski                    list.</li>
146*b1cdbd2cSJim Jagielski				<li><const scope="::com::sun::star::accessibility"
147*b1cdbd2cSJim Jagielski                    >AccessibleStateType::SELECTABLE</const> is always false,
148*b1cdbd2cSJim Jagielski                    because in the page preview is no selection possible. So
149*b1cdbd2cSJim Jagielski                    it is left out of the list.</li>
150*b1cdbd2cSJim Jagielski				<li><const scope="::com::sun::star::accessibility"
151*b1cdbd2cSJim Jagielski                    >AccessibleStateType::SELECTED</const> is always false,
152*b1cdbd2cSJim Jagielski                    because in the page preview is no selection possible. So
153*b1cdbd2cSJim Jagielski                    it is left out of the list.</li>
154*b1cdbd2cSJim Jagielski				<li><const scope="::com::sun::star::accessibility"
155*b1cdbd2cSJim Jagielski                    >AccessibleStateType::SHOWING</const>Is true if the
156*b1cdbd2cSJim Jagielski                    Bounding Box lies in the Bounding Box of the parent.
157*b1cdbd2cSJim Jagielski                    Otherwise it is false.</li>
158*b1cdbd2cSJim Jagielski				<li><const scope="::com::sun::star::accessibility"
159*b1cdbd2cSJim Jagielski                    >AccessibleStateType::VISIBLE</const>Is always true.</li>
160*b1cdbd2cSJim Jagielski			</ul>
161*b1cdbd2cSJim Jagielski		</li>
162*b1cdbd2cSJim Jagielski	</ul>
163*b1cdbd2cSJim Jagielski
164*b1cdbd2cSJim Jagielski	 */
165*b1cdbd2cSJim Jagielski	interface ::com::sun::star::accessibility::XAccessibleContext;
166*b1cdbd2cSJim Jagielski
167*b1cdbd2cSJim Jagielski	/** This interface gives access to the visibility of the document.
168*b1cdbd2cSJim Jagielski	*/
169*b1cdbd2cSJim Jagielski	interface ::com::sun::star::accessibility::XAccessibleComponent;
170*b1cdbd2cSJim Jagielski
171*b1cdbd2cSJim Jagielski	/** This is the interface for listeners */
172*b1cdbd2cSJim Jagielski	interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
173*b1cdbd2cSJim Jagielski};
174*b1cdbd2cSJim Jagielski
175*b1cdbd2cSJim Jagielski//=============================================================================
176*b1cdbd2cSJim Jagielski
177*b1cdbd2cSJim Jagielski}; }; }; };
178*b1cdbd2cSJim Jagielski
179*b1cdbd2cSJim Jagielski#endif
180