xref: /AOO41X/main/offapi/com/sun/star/chart/AccessibleChartElement.idl (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
1*cdf0e10cSrcweir/*************************************************************************
2*cdf0e10cSrcweir *
3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir *
5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir *
7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir *
9*cdf0e10cSrcweir * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir *
11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir *
15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir *
21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir *
26*cdf0e10cSrcweir ************************************************************************/
27*cdf0e10cSrcweir
28*cdf0e10cSrcweir#ifndef __com_sun_star_chart_AccessibleChartElement_idl__
29*cdf0e10cSrcweir#define __com_sun_star_chart_AccessibleChartElement_idl__
30*cdf0e10cSrcweir
31*cdf0e10cSrcweir#ifndef __com_sun_star_accessibility_XAccessible_idl__
32*cdf0e10cSrcweir#include <com/sun/star/accessibility/XAccessible.idl>
33*cdf0e10cSrcweir#endif
34*cdf0e10cSrcweir#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
35*cdf0e10cSrcweir#include <com/sun/star/accessibility/XAccessibleContext.idl>
36*cdf0e10cSrcweir#endif
37*cdf0e10cSrcweir#ifndef __com_sun_star_accessibility_XAccessibleExtendedComponent_idl__
38*cdf0e10cSrcweir#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
39*cdf0e10cSrcweir#endif
40*cdf0e10cSrcweir
41*cdf0e10cSrcweir
42*cdf0e10cSrcweirmodule com {  module sun {  module star {  module chart {
43*cdf0e10cSrcweir
44*cdf0e10cSrcweir/** This service is supported by all components that are contained in
45*cdf0e10cSrcweir    the view of a chart document that are controlled by the chart.
46*cdf0e10cSrcweir    Shapes added by a user via the clipboard are not treated as chart
47*cdf0e10cSrcweir    elements.
48*cdf0e10cSrcweir
49*cdf0e10cSrcweir    <p>The list of objects that implement this service is
50*cdf0e10cSrcweir    <type scope="::com::sun::star::chart">ChartTitle</type>,
51*cdf0e10cSrcweir    <type scope="::com::sun::star::chart">ChartLegend</type>,
52*cdf0e10cSrcweir    <type scope="::com::sun::star::chart">Diagram</type>,
53*cdf0e10cSrcweir    <type scope="::com::sun::star::chart">ChartAxis</type>,
54*cdf0e10cSrcweir    <type scope="::com::sun::star::chart">ChartDataRowProperties</type>,
55*cdf0e10cSrcweir    <type scope="::com::sun::star::chart">ChartDataPointProperties</type>.
56*cdf0e10cSrcweir    </p>
57*cdf0e10cSrcweir
58*cdf0e10cSrcweir    <p>The
59*cdf0e10cSrcweir       <type scope="::com::sun::star::accessibility">XAccessibleExtendedComponent</type>
60*cdf0e10cSrcweir       is suported by all chart elements.</p>
61*cdf0e10cSrcweir
62*cdf0e10cSrcweir    @since OOo 1.1.2
63*cdf0e10cSrcweir*/
64*cdf0e10cSrcweirpublished service AccessibleChartElement
65*cdf0e10cSrcweir{
66*cdf0e10cSrcweir    /** Base interface for being accessible.  It gives access to the
67*cdf0e10cSrcweir        <type scope="::com::sun::star::accessibility">XAccessibleContext</type>
68*cdf0e10cSrcweir        interface.
69*cdf0e10cSrcweir    */
70*cdf0e10cSrcweir    interface ::com::sun::star::accessibility::XAccessible;
71*cdf0e10cSrcweir
72*cdf0e10cSrcweir    /** Give access to the structural information of a chart element.
73*cdf0e10cSrcweir
74*cdf0e10cSrcweir        <p>You can access the following information for the shapes of the above listed types:
75*cdf0e10cSrcweir        <dl>
76*cdf0e10cSrcweir         <dt>Role</dt>
77*cdf0e10cSrcweir             <dd>All chart elements have the role
78*cdf0e10cSrcweir             <const scope="::com::sun::star::accessibility">AccessibleRole::SHAPE</const>.
79*cdf0e10cSrcweir             </dd>
80*cdf0e10cSrcweir         <dt>Name</dt>
81*cdf0e10cSrcweir             <dd>For unique elements you get fixed names.  The unique
82*cdf0e10cSrcweir             elements are the titles, legend, diagram and axes.  The
83*cdf0e10cSrcweir             names you get for them are "main-title", "sub-title",
84*cdf0e10cSrcweir             "(x|y|z)-axis-title", "legend", "diagram", "(x|y|z)-axis"
85*cdf0e10cSrcweir             and "second-(x|y)-axis", respectively.</dd>
86*cdf0e10cSrcweir         <dt>Description</dt>
87*cdf0e10cSrcweir             <dd>Descriptions contain a list of selected
88*cdf0e10cSrcweir             attributes.  These attributes are, if applicable:
89*cdf0e10cSrcweir             foreground and background color, line width, font name and
90*cdf0e10cSrcweir             size.  The purpose of these attributes is to give a rough
91*cdf0e10cSrcweir             description of the more simple geometric shapes.  The list
92*cdf0e10cSrcweir             is very restricted in order to avoid overwhelming or
93*cdf0e10cSrcweir             confusing the user.</dd>
94*cdf0e10cSrcweir         <dt>Children</dt>
95*cdf0e10cSrcweir             <dd>The <type scope="::com::sun::star::chart">Diagram</type> and
96*cdf0e10cSrcweir             the <type scope="::com::sun::star::chart">ChartLegend</type>
97*cdf0e10cSrcweir             contain children, all other objects in a chart do not, i.e., are
98*cdf0e10cSrcweir             leaves in the document representation tree.</dd>
99*cdf0e10cSrcweir         <dt>Parent</dt>
100*cdf0e10cSrcweir             <dd>Because the <code>setParent</code> method from the JAA has
101*cdf0e10cSrcweir             been removed, the reference to the parent has to be provided in an
102*cdf0e10cSrcweir             implementation specific way.</dd>
103*cdf0e10cSrcweir         <dt>Relations</dt>
104*cdf0e10cSrcweir             <dd>They are not used at the moment.</dd>
105*cdf0e10cSrcweir
106*cdf0e10cSrcweir         <dt>States</dt>
107*cdf0e10cSrcweir             <dd>The states supported by this service are:
108*cdf0e10cSrcweir             <ul>
109*cdf0e10cSrcweir
110*cdf0e10cSrcweir              <li><const scope="::com::sun::star::accessibility">AccessibleStateType::DEFUNC</const>
111*cdf0e10cSrcweir                  is set if an object was removed.  This indicates that the user
112*cdf0e10cSrcweir                  should release all references to the accessible object.  If
113*cdf0e10cSrcweir                  this state is set then no other of the states below is set.
114*cdf0e10cSrcweir                  </li>
115*cdf0e10cSrcweir              <li><const scope="::com::sun::star::accessibility">AccessibleStateType::EDITABLE</const></li>
116*cdf0e10cSrcweir              <li><const scope="::com::sun::star::accessibility">AccessibleStateType::ENABLED</const>
117*cdf0e10cSrcweir                  is always set.<sup>&dagger;</sup></li>
118*cdf0e10cSrcweir              <li><const scope="::com::sun::star::accessibility">AccessibleStateType::MULTILINE</const>
119*cdf0e10cSrcweir                  is set for all titles.</li>
120*cdf0e10cSrcweir              <li><const scope="::com::sun::star::accessibility">AccessibleStateType::OPAQUE</const>
121*cdf0e10cSrcweir                  is set for all elements that do have a transparency
122*cdf0e10cSrcweir                  attributes set to 0% and no transparency gradient.</li>
123*cdf0e10cSrcweir              <li><const scope="::com::sun::star::accessibility">AccessibleStateType::RESIZABLE</const>
124*cdf0e10cSrcweir                  Is set for the diagram object only.  All other chart elements may not be resized.</li>
125*cdf0e10cSrcweir              <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SELECTABLE</const></li>
126*cdf0e10cSrcweir              <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SELECTED</const></li>
127*cdf0e10cSrcweir              <li><const scope="::com::sun::star::accessibility">AccessibleStateType::SHOWING</const>
128*cdf0e10cSrcweir                  is always set.<sup>&dagger;</sup></li>
129*cdf0e10cSrcweir              <li><const scope="::com::sun::star::accessibility">AccessibleStateType::VISIBLE</const>
130*cdf0e10cSrcweir                  is always set.<sup>&dagger;</sup></li>
131*cdf0e10cSrcweir             </ul>
132*cdf0e10cSrcweir             <sup>&dagger;</sup>always, except if the state
133*cdf0e10cSrcweir             <const scope="::com::sun::star::accessibility">AccessibleStateType::DEFUNC</const>
134*cdf0e10cSrcweir             is set.</dd>
135*cdf0e10cSrcweir         <dt>Locale</dt>
136*cdf0e10cSrcweir             <dd>is supported.</dd>
137*cdf0e10cSrcweir         <dt>Property change listeners</dt>
138*cdf0e10cSrcweir             <dd>Property change listeners that are registered with a chart
139*cdf0e10cSrcweir             element are informed if the size or position or an attribute
140*cdf0e10cSrcweir             changed.  The last point needs a short explanation: An attribute
141*cdf0e10cSrcweir             change is signaled even if that attribute is not part of the
142*cdf0e10cSrcweir             shape's description and is therefore not explicitly represented by
143*cdf0e10cSrcweir             the UAA.</dd>
144*cdf0e10cSrcweir        </dl>
145*cdf0e10cSrcweir    */
146*cdf0e10cSrcweir    interface ::com::sun::star::accessibility::XAccessibleContext;
147*cdf0e10cSrcweir
148*cdf0e10cSrcweir    /** Give access to the graphical representation of a chart element.
149*cdf0e10cSrcweir
150*cdf0e10cSrcweir    <p>The coordinate oriented methods <code>contains</code>,
151*cdf0e10cSrcweir        <code>getAccessibleAt</code>, <code>getBounds</code>,
152*cdf0e10cSrcweir        <code>getLocation</code>, <code>getLocationOnScreen</code>, and
153*cdf0e10cSrcweir        <code>getSize</code> work on pixel coordinates.  (To transform between
154*cdf0e10cSrcweir        the internal 100th of mm and pixels a chart element has to have access
155*cdf0e10cSrcweir        to information that allows it to do so.  These information are the
156*cdf0e10cSrcweir        enclosing window's size in pixel, 100th of mm, and its own relative
157*cdf0e10cSrcweir        position in one or the other coordinate system).</p>
158*cdf0e10cSrcweir
159*cdf0e10cSrcweir        <p>Focus handling depends on support of the
160*cdf0e10cSrcweir        <type scope="::com::sun::star::accessibility">XAccessibleText</type> and
161*cdf0e10cSrcweir        <type scope="::com::sun::star::accessibility">XAccessibleEditableText</type>
162*cdf0e10cSrcweir        interfaces.</p>
163*cdf0e10cSrcweir
164*cdf0e10cSrcweir        <p>Key bindings are not supported at the moment</p>
165*cdf0e10cSrcweir    */
166*cdf0e10cSrcweir    interface ::com::sun::star::accessibility::XAccessibleComponent;
167*cdf0e10cSrcweir
168*cdf0e10cSrcweir    /** Give extended access to the graphical representation of a chart element.
169*cdf0e10cSrcweir
170*cdf0e10cSrcweir        <p>This interface is used primarily to provide the predominant
171*cdf0e10cSrcweir        foreground and background colors and&mdash;if applicable, i.e. the
172*cdf0e10cSrcweir        <type scope="::com::sun::star::accessibility">XAccessibleText</type>
173*cdf0e10cSrcweir        interface is supported&mdash;information about the font used to display
174*cdf0e10cSrcweir        text.</p>
175*cdf0e10cSrcweir
176*cdf0e10cSrcweir        <p>The foreground and background colors may in some cases be directly
177*cdf0e10cSrcweir        taken from the object.  In other cases, for example when a gradient or a
178*cdf0e10cSrcweir        texture is used, they have to be interpolated.  The color returned may
179*cdf0e10cSrcweir        not be appropriate in all cases.</p>
180*cdf0e10cSrcweir
181*cdf0e10cSrcweir        <p>Specifying the font used for displaying text depends on the
182*cdf0e10cSrcweir        transformation of UNO API font information into the Java&trade; format.
183*cdf0e10cSrcweir        However, if the UAA is used directly, this is of course not an
184*cdf0e10cSrcweir        issue.</p>
185*cdf0e10cSrcweir
186*cdf0e10cSrcweir        <p>The support of this interface is optional to reduce overhead in case
187*cdf0e10cSrcweir        that no text is displayed and color information can not be determined
188*cdf0e10cSrcweir        with an acceptable cost.</p>
189*cdf0e10cSrcweir    */
190*cdf0e10cSrcweir    [optional] interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
191*cdf0e10cSrcweir};
192*cdf0e10cSrcweir
193*cdf0e10cSrcweir}; }; }; };
194*cdf0e10cSrcweir
195*cdf0e10cSrcweir#endif
196