1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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_sheet_AccessibleSpreadsheetDocumentView_idl__
20 #define __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_idl__
22 #include
<com
/sun
/star
/accessibility
/XAccessibleContext.idl
>
23 #include
<com
/sun
/star
/accessibility
/XAccessibleComponent.idl
>
24 #include
<com
/sun
/star
/accessibility
/XAccessibleSelection.idl
>
25 #include
<com
/sun
/star
/accessibility
/XAccessibleEventBroadcaster.idl
>
28 module com
{ module sun
{ module star
{ module sheet
{
31 /** The accessible view of a spreadsheet document
36 service AccessibleSpreadsheetDocumentView
38 /** This interface gives access to any object that is contained in this
42 <li>The parent returned by getAccessibleParent()
43 is the window which contains the view of these document.</li>
44 <li>The children returned by getAccessibleChild() all
45 support the interface XAccessible. Calling
46 getAccessibleContext() for these children returns
47 an object that supports one of the following services.</li>
49 <li>::com::sun::star::sheet::AccessibleSpreadsheet:
50 A child where calling getAccessibleChild()
51 an object that supports this service is returned for
52 the current spreadsheet which is showing in this document
53 window. There is every time one child which supports this
54 service, because it is only possible to have one spreadsheet
55 in the current document window.</li>
56 <li>::com::sun::star::drawing::AccessibleShape:
57 A child where calling getAccessibleChild()
58 an object that supports this service is returned
59 for every shape that is at the current table. These
60 objects are children of the
61 AccessibleSpreadsheetDocumentView regardless
62 whether they are bound to a table or a cell.</li>
63 <li>::com::sun::star::text::AccessibleParagraphView:
64 A child where calling getAccessibleChild()
65 an object that supports this service is returned for
66 the current cell in edit mode. This is necessary to
67 have an object which allows event listeners. It exists
68 only if a cell is in edit mode.</li>
69 <li>::com::sun::star::accessibility::AccessibleContext:
70 A child where calling getAccessibleChild()
71 an object that supports this service is returned for
72 the current OLE object in edit mode. It exists
73 only if a OLE object is in edit mode.</li>
75 <p>The following rules apply to the children order. General it
76 represents the paint order. The object in the background came
77 first and than all over lying objects. The last painted object
78 is also the last child.</p>
80 <li>Graphics, embedded objects and shapes appear
81 before the other children if they are painted in the
82 background. Their order reflects the z order.</li>
83 <li>The current table is painted after the background and so it
84 comes after all background objects.</li>
85 <li>Graphics, embedded objects and shapes appear
86 behind any other children except controls if they are
87 painted in the foreground. Their order reflects the z order.</li>
88 <li>Controls appear behind the other graphic objects. Their order
89 reflects the z order.</li>
90 <li>The temporary object for the cell or OLE in edit mode (only
91 one can exist in the same time) is the last object.</li>
93 <li>The description is ???.</li>
94 <li>The name is Spreadsheet Document View with a unique number.</li>
95 <li>The role is ::com::sun::star::accessibility::AccessibleRole::DOCUMENT_SPREADSHEET</li>
96 <li>There are no relations.</li>
97 <li>The following states are supported:
99 <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC is always false until the document is
101 <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE is always true.</li>
102 <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED is always true.</li>
103 <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE makes no sense in on a document and
104 so it is left out of the list.</li>
105 <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE is always false, because a
106 document is not selectable. Only the children are
107 selectable. So it is left out of the list.</li>
108 <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE is always true.</li>
109 <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE is always false, because you can
110 resize the window, but not the document. So it is left out
112 <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE is always false, because a
113 document is not selectable. Only the children are
114 selectable. So it is left out of the list.</li>
115 <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED is always false, because a
116 document is not selectable. Only the children are
117 selectable. So it is left out of the list.</li>
118 <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING is true if the Bounding Box lies in
119 the Bounding Box of the parent. Otherwise it is false.</li>
120 <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE is always true.</li>
126 interface ::com
::sun
::star
::accessibility
::XAccessibleContext
;
128 /** This interface gives access to the visibility of the document.
130 interface ::com
::sun
::star
::accessibility
::XAccessibleComponent
;
132 /** This interface is for selecting the document's children like
133 shapes or the whole table.
135 interface ::com
::sun
::star
::accessibility
::XAccessibleSelection
;
137 /** This is the interface for listeners */
138 interface ::com
::sun
::star
::accessibility
::XAccessibleEventBroadcaster
;
146 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */