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