1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
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/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
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 .
18 */
19
20#ifndef __com_sun_star_chart_AccessibleChartDocumentView_idl__
21#define __com_sun_star_chart_AccessibleChartDocumentView_idl__
22
23#include <com/sun/star/accessibility/XAccessible.idl>
24#include <com/sun/star/accessibility/XAccessibleContext.idl>
25#include <com/sun/star/accessibility/XAccessibleComponent.idl>
26
27module com {  module sun {  module star {  module chart {
28
29/** The AccessibleChartDocumentView service is supported
30    by a Component that represents the view of a Chart document to
31    provide an entry point to the document tree for accessibility.
32
33    <p>An object that implements the AccessibleChartDocumentView
34    service provides information about itself and about the chart
35    subcomponents contained in the chart document displayed in a
36    window.  This service gives a simplified view on the underlying
37    implementation.  It tries both to keep the structure of the
38    accessibility representation tree as simple as possible and
39    provide as much relevant information as possible.</p>
40
41    @since OOo 1.1.2
42*/
43service AccessibleChartDocumentView
44{
45    /** Base interface for being accessible.  It gives access to the
46        ::com::sun::star::accessibility::XAccessibleContext
47        interface.
48    */
49    interface ::com::sun::star::accessibility::XAccessible;
50
51    /** Provide access to a Chart document's view.
52
53        <p>You can access the following information:</p>
54        <dl>
55         <dt>Role</dt>
56             <dd>The object's role is
57             com::sun::star::accessibility::AccessibleRole::DOCUMENT.</dd>
58         <dt>Name</dt>
59             <dd>Its name is the document's name or the base name of the filename if
60             no document name has been set explicitly.</dd>
61         <dt>Description</dt>
62             <dd>The description is the document's description or the
63             full filename if no description has been set
64             explicitly.</dd>
65          <dt>Children</dt>
66             <dd>The subcomponents of a chart.  This includes all kinds of
67             titles, a legend and the diagram.  The diagram and the legend are
68             the only children that themselves contain children.  The Chart
69             subcomponents support the service
70             AccessibleChartElement.  Additionally, there may be
71             shapes a user added via the clipboard.  For details see the
72             ::com::sun::star::drawing::AccessibleShape.
73             </dd>
74         <dt>Parent</dt>
75             <dd>The parent will usually be the window that contains the
76             Chart document view.  It has to be set via implementation dependent
77             ways.</dd>
78         <dt>Relations</dt>
79             <dd>At the moment relations are not supported.  The method
80             com::sun::star::accessibility::XAccessibleContext::getAccessibleRelationSet()
81             will always return an empty set.</dd>
82         <dt>States</dt>
83             <dd>The following states are supported:
84             <ul>
85              <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
86                  is set if a document view becomes obsolete like when
87                  the window, which displays the view, is closed.</li>
88              <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
89                  is always set unless the
90                  com::sun::star::accessibility::AccessibleStateType::DEFUNC
91                  state is set.</li>
92              <li>com::sun::star::accessibility::AccessibleStateType::OPAQUE
93                  is always set.</li>
94              <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
95                  is always set unless the
96                  com::sun::star::accessibility::AccessibleStateType::DEFUNC
97                  state is set.</li>
98              <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
99                  is always set unless the
100                  com::sun::star::accessibility::AccessibleStateType::DEFUNC
101                  state is set.</li>
102             </ul>
103             </dd>
104         <dt>Locale</dt>
105             <dd>Is the locale set at the document.</dd>
106         <dt>Property change listeners</dt>
107             <dd>They are supported to inform the
108             listeners about changes in this object.</dd>
109        </dl>
110    */
111    interface ::com::sun::star::accessibility::XAccessibleContext;
112
113    /** Provide access to a Chart document's graphical representation.
114
115        <p>The main purpose of this interface is to provide a bounding
116        box of the currently visible area and to let the user find the
117        subcomponents of a chart that cover a given test point.</p>
118
119        <p>The accessible Chart subcomponents all support the service
120        AccessibleChartElement</p>
121
122        @see AccessibleChartElement
123    */
124    interface ::com::sun::star::accessibility::XAccessibleComponent;
125};
126
127}; }; }; };
128
129#endif
130
131/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
132