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_sheet_AccessibleSpreadsheetDocumentView_idl__ 24#define __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_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_XAccessibleSelection_idl__ 35#include <com/sun/star/accessibility/XAccessibleSelection.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 44module com { module sun { module star { module sheet { 45 46//============================================================================= 47 48/** The accessible view of a spreadsheet document 49 50 @since OpenOffice 1.1.2 51 52 */ 53published service AccessibleSpreadsheetDocumentView 54{ 55 /** This interface gives access to any object that is contained in this 56 document. 57 58 <ul> 59 <li>The parent returned by <method>getAccessibleParent</method> 60 is the window which contains the view of these document.</li> 61 <li>The children returned by <method>getAccessibleChild</method> all 62 support the interface XAccessible. Calling 63 <method>getAccessibleContext</method> for these children returns 64 an object that supports one of the following services.</li> 65 <ul> 66 <li><type scope="::com::sun::star::sheet">AccessibleSpreadsheet</type>: 67 A child where calling <method>getAccessibleChild</method> 68 an object that supports this service is returned for 69 the current spreadsheet which is showing in this document 70 window. There is every time one child which supports this 71 service, because it is only possible to have one spreadsheet 72 in the current document window.</li> 73 <li><type scope="::com::sun::star::drawing">AccessibleShape</type>: 74 A child where calling <method>getAccessibleChild</method> 75 an object that supports this service is returned 76 for every shape that is at the current table. These 77 objects are children of the 78 <type>AccessibleSpreadsheetDocumentView</type> regardless 79 whether they are bound to a table or a cell.</li> 80 <li><type scope="::com::sun::star::text">AccessibleParagraphView</type>: 81 A child where calling <method>getAccessibleChild</method> 82 an object that supports this service is returned for 83 the current cell in edit mode. This is necessary to 84 have an object which allows event listeners. It exists 85 only if a cell is in edit mode.</li> 86 <li><type scope="::com::sun::star::accessibility">AccessibleContext</type>: 87 A child where calling <method>getAccessibleChild</method> 88 an object that supports this service is returned for 89 the current OLE object in edit mode. It exists 90 only if a OLE object is in edit mode.</li> 91 </ul> 92 <p>The following rules apply to the children order. General it 93 represents the paint order. The object in the background came 94 first and than all over lying objects. The last painted object 95 is also the last child.</p> 96 <ul> 97 <li>Graphics, embedded objects and shapes appear 98 before the other childs if they are painted in the 99 background. Their order reflects the z order.</li> 100 <li>The current table is painted after the background and so it 101 comes after all background objects.</li> 102 <li>Graphics, embedded objects and shapes appear 103 behind any other children except controls if they are 104 painted in the foreground. Their order reflects the z order.</li> 105 <li>Controls appear behind the other graphic objects. Their order 106 reflects the z order.</li> 107 <li>The temporary object for the cell or OLE in edit mode (only 108 one can exist in the same time) is the last object.</li> 109 </ul> 110 <li>The description is ???.</li> 111 <li>The name is Spreadsheet Document View with a unique number.</li> 112 <li>The role is <const scope="::com::sun::star::accessibility">AccessibleRole::DOCUMENT</const></li> 113 <li>There are no relations.</li> 114 <li>The following states are supported: 115 <ul> 116 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::DEFUNC</const> is always false until the document is 117 closed.</li> 118 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::EDITABLE</const> is always true.</li> 119 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::ENABLED</const> is always true.</li> 120 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::MULTI_LINE</const> makes no sense in on a document and 121 so it is left out of the list.</li> 122 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::MULTI_SELECTABLE</const> is always false, because a 123 document is not selectable. Only the children are 124 selectable. So it is left out of the list.</li> 125 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::OPAQUE</const> is always true.</li> 126 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::RESIZEABLE</const> is always false, because you can 127 resize the window, but not the document. So it is left out 128 of the list.</li> 129 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::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::SELECTED</const> is always false, because a 133 document is not selectable. Only the children are 134 selectable. So it is left out of the list.</li> 135 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SHOWING</const>Is true if the Bounding Box lies in 136 the Bounding Box of the parent. Otherwise it is false.</li> 137 <li><const scope="::com::sun::star::accessibility">AccessibleStateType::VISIBLE</const>Is always true.</li> 138 </ul> 139 </li> 140 </ul> 141 142 */ 143 interface ::com::sun::star::accessibility::XAccessibleContext; 144 145 /** This interface gives access to the visibility of the document. 146 */ 147 interface ::com::sun::star::accessibility::XAccessibleComponent; 148 149 /** This interface is for selecting the document's children like 150 shapes or the whole table. 151 */ 152 interface ::com::sun::star::accessibility::XAccessibleSelection; 153 154 /** This is the interface for listeners */ 155 interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster; 156}; 157 158//============================================================================= 159 160}; }; }; }; 161 162#endif 163