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