summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/sheet/AccessibleSpreadsheetDocumentView.idl
blob: 3070a71d644315e0ee28035de032e1edce230fde (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * Copyright 2000, 2010 Oracle and/or its affiliates.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/
#ifndef __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_idl__
#define __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_idl__

#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
#include <com/sun/star/accessibility/XAccessibleContext.idl>
#endif

#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
#include <com/sun/star/accessibility/XAccessibleComponent.idl>
#endif

#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
#include <com/sun/star/accessibility/XAccessibleSelection.idl>
#endif

#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
#endif

//=============================================================================

module com {  module sun {  module star {  module sheet {

//=============================================================================

/** The accessible view of a spreadsheet document

     @since OOo 1.1.2

 */
published service AccessibleSpreadsheetDocumentView
{
    /** This interface gives access to any object that is contained in this
        document.

    <ul>
        <li>The parent returned by <method>getAccessibleParent</method>
            is the window wich contains the view of these document.</li>
        <li>The children returned by <method>getAccessibleChild</method> all
            support the interface XAccessible. Calling
            <method>getAccessibleContext</method> for these children returns
            an object that supports one of the following services.</li>
        <ul>
            <li><type scope="::com::sun::star::sheet">AccessibleSpreadsheet</type>:
                A child where calling <method>getAccessibleChild</method>
                an object that supports this service is returned for
                the current spreadsheet which is showing in this document
                window. There is everytime one child which supports this
                service, because it is only possible to have one spreadsheet
                in the current document window.</li>
            <li><type scope="::com::sun::star::drawing">AccessibleShape</type>:
                A child where calling <method>getAccessibleChild</method>
                an object that supports this service is returned
                for every shape that is at the current table. These
                objects are children of the
                <type>AccessibleSpreadsheetDocumentView</type> regardless
                whether they are bound to a table or a cell.</li>
            <li><type scope="::com::sun::star::text">AccessibleParagraphView</type>:
                A child where calling <method>getAccessibleChild</method>
                an object that supports this service is returned for
                the current cell in edit mode. This is necessary to
                have an object which allows event listeners. It exists
                only if a cell is in edit mode.</li>
            <li><type scope="::com::sun::star::accessibility">AccessibleContext</type>:
                A child where calling <method>getAccessibleChild</method>
                an object that supports this service is returned for
                the current OLE object in edit mode. It exists
                only if a OLE object is in edit mode.</li>
        </ul>
        <p>The following rules apply to the children order. General it
            represents the paint order. The object in the background came
            first and than all over lying objects. The last painted object
            is also the last child.</p>
        <ul>
            <li>Graphics, embedded objects and shapes appear
                before the other childs if they are painted in the
                background. Their order reflects the z order.</li>
            <li>The current table is painted after the background and so it
                comes after all background objects.</li>
            <li>Graphics, embedded objects and shapes appear
                behind any other children except controls if they are
                painted in the foreground. Their order reflects the z order.</li>
            <li>Controls appear behind the other graphic objects. Their order
                reflects the z order.</li>
            <li>The temporary object for the cell or OLE in edit mode (only
                one can exist in the same time) is the last object.</li>
        </ul>
        <li>The description is ???.</li>
        <li>The name is Spreadsheet Document View with a unique number.</li>
        <li>The role is <const scope="::com::sun::star::accessibility">AccessibleRole::DOCUMENT</const></li>
        <li>There are no relations.</li>
        <li>The following states are supported:
            <ul>
                <li><const scope="::com::sun::star::accessibility">AccessibleStateType::DEFUNC</const> is always false until the document is
                    closed.</li>
                <li><const scope="::com::sun::star::accessibility">AccessibleStateType::EDITABLE</const> is always true.</li>
                <li><const scope="::com::sun::star::accessibility">AccessibleStateType::ENABLED</const> is always true.</li>
                <li><const scope="::com::sun::star::accessibility">AccessibleStateType::MULTI_LINE</const> makes no sense in on a document and
                    so it is left out of the list.</li>
                <li><const scope="::com::sun::star::accessibility">AccessibleStateType::MULTI_SELECTABLE</const> is always false, because a
                document is not selectable. Only the children are
                selectable. So it is left out of the list.</li>
                <li><const scope="::com::sun::star::accessibility">AccessibleStateType::OPAQUE</const> is always true.</li>
                <li><const scope="::com::sun::star::accessibility">AccessibleStateType::RESIZEABLE</const> is always false, because you can
                    resize the window, but not the document. So it is left out
                    of the list.</li>
                <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SELECTABLE</const> is always false, because a
                    document is not selectable. Only the children are
                    selectable. So it is left out of the list.</li>
                <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SELECTED</const> is always false, because a
                    document is not selectable. Only the children are
                    selectable. So it is left out of the list.</li>
                <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SHOWING</const>Is true if the Bounding Box lies in
                    the Bounding Box of the parent. Otherwise it is false.</li>
                <li><const scope="::com::sun::star::accessibility">AccessibleStateType::VISIBLE</const>Is always true.</li>
            </ul>
        </li>
    </ul>

     */
    interface ::com::sun::star::accessibility::XAccessibleContext;

    /** This interface gives access to the visibility of the document.
    */
    interface ::com::sun::star::accessibility::XAccessibleComponent;

    /** This interface is for selecting the document's children like
          shapes or the whole table.
     */
    interface ::com::sun::star::accessibility::XAccessibleSelection;

    /** This is the interface for listeners */
    interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
};

//=============================================================================

}; }; }; };

#endif