1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: AccessibleSpreadsheetDocumentView.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_idl__
31 #define __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_idl__
33 #ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
34 #include
<com
/sun
/star
/accessibility
/XAccessibleContext.idl
>
37 #ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
38 #include
<com
/sun
/star
/accessibility
/XAccessibleComponent.idl
>
41 #ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
42 #include
<com
/sun
/star
/accessibility
/XAccessibleSelection.idl
>
45 #ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
46 #include
<com
/sun
/star
/accessibility
/XAccessibleEventBroadcaster.idl
>
49 //=============================================================================
51 module com
{ module sun
{ module star
{ module sheet
{
53 //=============================================================================
55 /** The accessible view of a spreadsheet document
60 published service AccessibleSpreadsheetDocumentView
62 /** This interface gives access to any object that is contained in this
66 <li>The parent returned by <method>getAccessibleParent</method>
67 is the window wich contains the view of these document.</li>
68 <li>The children returned by <method>getAccessibleChild</method> all
69 support the interface XAccessible. Calling
70 <method>getAccessibleContext</method> for these children returns
71 an object that supports one of the following services.</li>
73 <li><type scope="::com::sun::star::sheet">AccessibleSpreadsheet</type>:
74 A child where calling <method>getAccessibleChild</method>
75 an object that supports this service is returned for
76 the current spreadsheet which is showing in this document
77 window. There is everytime one child which supports this
78 service, because it is only possible to have one spreadsheet
79 in the current document window.</li>
80 <li><type scope="::com::sun::star::drawing">AccessibleShape</type>:
81 A child where calling <method>getAccessibleChild</method>
82 an object that supports this service is returned
83 for every shape that is at the current table. These
84 objects are children of the
85 <type>AccessibleSpreadsheetDocumentView</type> regardless
86 whether they are bound to a table or a cell.</li>
87 <li><type scope="::com::sun::star::text">AccessibleParagraphView</type>:
88 A child where calling <method>getAccessibleChild</method>
89 an object that supports this service is returned for
90 the current cell in edit mode. This is necessary to
91 have an object which allows event listeners. It exists
92 only if a cell is in edit mode.</li>
93 <li><type scope="::com::sun::star::accessibility">AccessibleContext</type>:
94 A child where calling <method>getAccessibleChild</method>
95 an object that supports this service is returned for
96 the current OLE object in edit mode. It exists
97 only if a OLE object is in edit mode.</li>
99 <p>The following rules apply to the children order. General it
100 represents the paint order. The object in the background came
101 first and than all over lying objects. The last painted object
102 is also the last child.</p>
104 <li>Graphics, embedded objects and shapes appear
105 before the other childs if they are painted in the
106 background. Their order reflects the z order.</li>
107 <li>The current table is painted after the background and so it
108 comes after all background objects.</li>
109 <li>Graphics, embedded objects and shapes appear
110 behind any other children except controls if they are
111 painted in the foreground. Their order reflects the z order.</li>
112 <li>Controls appear behind the other graphic objects. Their order
113 reflects the z order.</li>
114 <li>The temporary object for the cell or OLE in edit mode (only
115 one can exist in the same time) is the last object.</li>
117 <li>The description is ???.</li>
118 <li>The name is Spreadsheet Document View with a unique number.</li>
119 <li>The role is <const scope="::com::sun::star::accessibility">AccessibleRole::DOCUMENT</const></li>
120 <li>There are no relations.</li>
121 <li>The following states are supported:
123 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::DEFUNC</const> is always false until the document is
125 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::EDITABLE</const> is always true.</li>
126 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::ENABLED</const> is always true.</li>
127 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::MULTI_LINE</const> makes no sense in on a document and
128 so it is left out of the list.</li>
129 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::MULTI_SELECTABLE</const> is always false, because a
130 document is not selectable. Only the children are
131 selectable. So it is left out of the list.</li>
132 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::OPAQUE</const> is always true.</li>
133 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::RESIZEABLE</const> is always false, because you can
134 resize the window, but not the document. So it is left out
136 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SELECTABLE</const> is always false, because a
137 document is not selectable. Only the children are
138 selectable. So it is left out of the list.</li>
139 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SELECTED</const> is always false, because a
140 document is not selectable. Only the children are
141 selectable. So it is left out of the list.</li>
142 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SHOWING</const>Is true if the Bounding Box lies in
143 the Bounding Box of the parent. Otherwise it is false.</li>
144 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::VISIBLE</const>Is always true.</li>
150 interface ::com
::sun
::star
::accessibility
::XAccessibleContext
;
152 /** This interface gives access to the visibility of the document.
154 interface ::com
::sun
::star
::accessibility
::XAccessibleComponent
;
156 /** This interface is for selecting the document's children like
157 shapes or the whole table.
159 interface ::com
::sun
::star
::accessibility
::XAccessibleSelection
;
161 /** This is the interface for listeners */
162 interface ::com
::sun
::star
::accessibility
::XAccessibleEventBroadcaster
;
165 //=============================================================================