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_XAccessibleTable_idl__ 35#include <com/sun/star/accessibility/XAccessibleTable.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//============================================================================= 48 49module com { module sun { module star { module table { 50 51//============================================================================= 52 53/** The accessible view of a table in a text document or in the page preview 54 of a spreadsheet document. See 55 <type scope="::com::sun::star::sheet">AccessibleSpreadsheet</type> for 56 tables in the edit view of a spreadsheet. 57 @since OpenOffice 1.1.2 58*/ 59published service AccessibleTableView 60{ 61 /** This interface gives access to any table cell that is contained in 62 a table fragment that is at least partially visible. A table fragment 63 is the part of a table that is displayed at a single page. 64 65 <ul> 66 <li>The parent returned by 67 <method scope="::com::sun::star::accessibility" 68 >XAccessibleContext::getAccessibleParent</method> 69 is the accessible text document view, a page of the accessible 70 text documenent page preview, or the accessible spreadsheet 71 page preview.</li> 72 <li>The children returned by 73 <method scope="::com::sun::star::accessibility" 74 >XAccessibleContext::getAccessibleChild</method> all 75 support the interface XAccessible. Calling 76 <method scope="::com::sun::star::accessibility" 77 >XAccessible::getAccessibleContext</method> for these children 78 returns an object that supports the service. 79 <type scope="::com::sun::star::table">AccessibleCellView</type>: 80 A child where calling 81 <method scope="::com::sun::star::accessibility" 82 >XAccessibleContext::getAccessibleChild</method> 83 an object that supports this service is returned for 84 every partially visible cell in this table. 85 <p>The following rules apply to the children order.</p> 86 <ul> 87 <li>All the children are cells. The order of this cells is to 88 the order on the screen. This means that the first cell is the 89 cell in the left top edge of the table and the last one is the 90 cell in the right bottom edge of the table. The second is the 91 cell in the first row and second xolumn and so on.</li> 92 </ul> 93 <li>The description is ???.</li> 94 <li>The name is the given table name and a number to make it non-ambiguous.</li> 95 <li>The role is <const scope="::com::sun::star::accessibility" 96 >AccessibleRole::TABLE</const></li> 97 <li>In a spreadsheet page preview there are relations between the 98 table and the shapes with an anchor 99 on this table (not with an anchor on a cell in this table).</li> 100 <li>The following states are supported: 101 <ul> 102 <li><const scope="::com::sun::star::accessibility" 103 >AccessibleStateType::DEFUNC</const> is always false if the 104 table is not deleted, the document is open. Also it is 105 false if the table was showed in a page preview and the 106 page preview is already opend, otherwise it is true.</li> 107 <li><const scope="::com::sun::star::accessibility" 108 >AccessibleStateType::EDITABLE</const> is false if the 109 table is showed in a page preview or the table is 110 protected, otherwise it is true.</li> 111 <li><const scope="::com::sun::star::accessibility" 112 >AccessibleStateType::ENABLED</const> is always true.</li> 113 <li><const scope="::com::sun::star::accessibility" 114 >AccessibleStateType::MULTI_SELECTABLE</const> is false 115 if the table is showed in a page preview, otherwise it is 116 true.</li> 117 <li><const scope="::com::sun::star::accessibility" 118 >AccessibleStateType::OPAQUE</const> is false, if the table 119 has no background color or graphic, otherwise it is 120 false.</li> 121 <li><const scope="::com::sun::star::accessibility" 122 >AccessibleStateType::SHOWING</const>Is true if the 123 Bounding Box lies in the Bounding Box of the parent. 124 Otherwise it is false.</li> 125 <li><const scope="::com::sun::star::accessibility" 126 >AccessibleStateType::VISIBLE</const>Is always true.</li> 127 </ul> 128 </li> 129 </ul> 130 131 */ 132 interface ::com::sun::star::accessibility::XAccessibleContext; 133 134 /** This interface gives access to the visibility of the document. 135 */ 136 interface ::com::sun::star::accessibility::XAccessibleComponent; 137 138 /** This interface gives access to any cell that is at least partially 139 visible on the screen. So this interface gives access to the same 140 things like the XAccessibleContext interface. Therefor it use more 141 usable methods. Also it gives access to some table specific data. 142 */ 143 interface ::com::sun::star::accessibility::XAccessibleTable; 144 145 /** This interface is for selecting the cells. This interface is optional. 146 */ 147 [optional] interface ::com::sun::star::accessibility::XAccessibleSelection; 148 149 /** This is the interface for listeners */ 150 interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster; 151}; 152 153//============================================================================= 154 155}; }; }; }; 156 157#endif 158