Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / table / AccessibleTableView.idl
blob8344368824a0c4b05bc454ce125cd0b6cebd6321
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_table_AccessibleTableView_idl__
20 #define __com_sun_star_table_AccessibleTableView_idl__
22 #include <com/sun/star/accessibility/XAccessibleContext.idl>
23 #include <com/sun/star/accessibility/XAccessibleComponent.idl>
24 #include <com/sun/star/accessibility/XAccessibleTable.idl>
25 #include <com/sun/star/accessibility/XAccessibleSelection.idl>
26 #include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
30 module com { module sun { module star { module table {
33 /** The accessible view of a table in a text document or in the page preview
34 of a spreadsheet document. See
35 ::com::sun::star::sheet::AccessibleSpreadsheet for
36 tables in the edit view of a spreadsheet.
37 @since OOo 1.1.2
39 service AccessibleTableView
41 /** This interface gives access to any table cell that is contained in
42 a table fragment that is at least partially visible. A table fragment
43 is the part of a table that is displayed at a single page.
45 <ul>
46 <li>The parent returned by
47 ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
48 is the accessible text document view, a page of the accessible
49 text document page preview, or the accessible spreadsheet
50 page preview.</li>
51 <li>The children returned by
52 ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
53 all support the interface XAccessible. Calling
54 ::com::sun::star::accessibility::XAccessible::getAccessibleContext()
55 for these children
56 returns an object that supports the service.
57 ::com::sun::star::table::AccessibleCellView:
58 A child where calling
59 ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
60 an object that supports this service is returned for
61 every partially visible cell in this table.
62 <p>The following rules apply to the children order.</p>
63 <ul>
64 <li>All the children are cells. The order of this cells is to
65 the order on the screen. This means that the first cell is the
66 cell in the left top edge of the table and the last one is the
67 cell in the right bottom edge of the table. The second is the
68 cell in the first row and second column and so on.</li>
69 </ul>
70 <li>The description is ???.</li>
71 <li>The name is the given table name and a number to make it non-ambiguous.</li>
72 <li>The role is
73 ::com::sun::star::accessibility::AccessibleRole::TABLE</li>
74 <li>In a spreadsheet page preview there are relations between the
75 table and the shapes with an anchor
76 on this table (not with an anchor on a cell in this table).</li>
77 <li>The following states are supported:
78 <ul>
79 <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
80 is always false if the
81 table is not deleted, the document is open. Also it is
82 false if the table was showed in a page preview and the
83 page preview is already opened, otherwise it is true.</li>
84 <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
85 is false if the
86 table is showed in a page preview or the table is
87 protected, otherwise it is true.</li>
88 <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
89 is always true.</li>
90 <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE
91 is false
92 if the table is showed in a page preview, otherwise it is
93 true.</li>
94 <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
95 is false, if the table
96 has no background color or graphic, otherwise it is
97 false.</li>
98 <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
99 is true if the
100 Bounding Box lies in the Bounding Box of the parent.
101 Otherwise it is false.</li>
102 <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
103 is always true.</li>
104 </ul>
105 </li>
106 </ul>
109 interface ::com::sun::star::accessibility::XAccessibleContext;
111 /** This interface gives access to the visibility of the document.
113 interface ::com::sun::star::accessibility::XAccessibleComponent;
115 /** This interface gives access to any cell that is at least partially
116 visible on the screen. So this interface gives access to the same
117 things like the XAccessibleContext interface. Therefore it use more
118 usable methods. Also it gives access to some table specific data.
120 interface ::com::sun::star::accessibility::XAccessibleTable;
122 /** This interface is for selecting the cells. This interface is optional.
124 [optional] interface ::com::sun::star::accessibility::XAccessibleSelection;
126 /** This is the interface for listeners */
127 interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
131 }; }; }; };
133 #endif
135 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */