cid#1636693 COPY_INSTEAD_OF_MOVE
[LibreOffice.git] / offapi / com / sun / star / chart / AccessibleChartElement.idl
blob3fb023fe8f68376dc9ae07897c2f3140dfbec368
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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 .
21 module com { module sun { module star { module chart {
23 /** This service is supported by all components that are contained in
24 the view of a chart document that are controlled by the chart.
25 Shapes added by a user via the clipboard are not treated as chart
26 elements.
28 <p>The list of objects that implement this service is
29 ::com::sun::star::chart::ChartTitle,
30 ::com::sun::star::chart::ChartLegend,
31 ::com::sun::star::chart::Diagram,
32 ::com::sun::star::chart::ChartAxis,
33 ::com::sun::star::chart::ChartDataRowProperties,
34 ::com::sun::star::chart::ChartDataPointProperties.
35 </p>
37 <p>The
38 ::com::sun::star::accessibility::XAccessibleExtendedComponent
39 is supported by all chart elements.</p>
41 @since OOo 1.1.2
43 service AccessibleChartElement
45 /** Base interface for being accessible. It gives access to the
46 ::com::sun::star::accessibility::XAccessibleContext
47 interface.
49 interface ::com::sun::star::accessibility::XAccessible;
51 /** Give access to the structural information of a chart element.
53 <p>You can access the following information for the shapes of the above listed types:
54 <dl>
55 <dt>Role</dt>
56 <dd>All chart elements have the role
57 ::com::sun::star::accessibility::AccessibleRole::SHAPE.
58 </dd>
59 <dt>Name</dt>
60 <dd>For unique elements you get fixed names. The unique
61 elements are the titles, legend, diagram and axes. The
62 names you get for them are "main-title", "sub-title",
63 "(x|y|z)-axis-title", "legend", "diagram", "(x|y|z)-axis"
64 and "second-(x|y)-axis", respectively.</dd>
65 <dt>Description</dt>
66 <dd>Descriptions contain a list of selected
67 attributes. These attributes are, if applicable:
68 foreground and background color, line width, font name and
69 size. The purpose of these attributes is to give a rough
70 description of the more simple geometric shapes. The list
71 is very restricted in order to avoid overwhelming or
72 confusing the user.</dd>
73 <dt>Children</dt>
74 <dd>The ::com::sun::star::chart::Diagram and
75 the ::com::sun::star::chart::ChartLegend
76 contain children, all other objects in a chart do not, i.e., are
77 leaves in the document representation tree.</dd>
78 <dt>Parent</dt>
79 <dd>Because the <code>setParent</code> method from the JAVA has
80 been removed, the reference to the parent has to be provided in an
81 implementation specific way.</dd>
82 <dt>Relations</dt>
83 <dd>They are not used at the moment.</dd>
85 <dt>States</dt>
86 <dd>The states supported by this service are:
87 <ul>
89 <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
90 is set if an object was removed. This indicates that the user
91 should release all references to the accessible object. If
92 this state is set then no other of the states below is set.
93 </li>
94 <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE</li>
95 <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
96 is always set.<sup>*</sup></li>
97 <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE
98 is set for all titles.</li>
99 <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
100 is set for all elements that do have a transparency
101 attributes set to 0% and no transparency gradient.</li>
102 <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE
103 Is set for the diagram object only. All other chart elements may not be resized.</li>
104 <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE</li>
105 <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED</li>
106 <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
107 is always set.<sup>*</sup></li>
108 <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
109 is always set.<sup>*</sup></li>
110 </ul>
111 <sup>*</sup>always, except if the state
112 ::com::sun::star::accessibility::AccessibleStateType::DEFUNC
113 is set.</dd>
114 <dt>Locale</dt>
115 <dd>is supported.</dd>
116 <dt>Property change listeners</dt>
117 <dd>Property change listeners that are registered with a chart
118 element are informed if the size or position or an attribute
119 changed. The last point needs a short explanation: An attribute
120 change is signaled even if that attribute is not part of the
121 shape's description and is therefore not explicitly represented by
122 the UAA.</dd>
123 </dl>
125 interface ::com::sun::star::accessibility::XAccessibleContext;
127 /** Give access to the graphical representation of a chart element.
129 <p>The coordinate oriented methods <code>contains</code>,
130 <code>getAccessibleAt</code>, <code>getBounds</code>,
131 <code>getLocation</code>, <code>getLocationOnScreen</code>, and
132 <code>getSize</code> work on pixel coordinates. (To transform between
133 the internal 100th of mm and pixels a chart element has to have access
134 to information that allows it to do so. This information is the
135 enclosing window's size in pixel, 100th of mm, and its own relative
136 position in one or the other coordinate system).</p>
138 <p>Focus handling depends on support of the
139 ::com::sun::star::accessibility::XAccessibleText and
140 ::com::sun::star::accessibility::XAccessibleEditableText
141 interfaces.</p>
143 <p>Key bindings are not supported at the moment</p>
145 interface ::com::sun::star::accessibility::XAccessibleComponent;
147 /** Give extended access to the graphical representation of a chart element.
149 <p>This interface is used primarily to provide the predominant
150 foreground and background colors and&mdash;if applicable, i.e. the
151 ::com::sun::star::accessibility::XAccessibleText
152 interface is supported&mdash;information about the font used to display
153 text.</p>
155 <p>The foreground and background colors may in some cases be directly
156 taken from the object. In other cases, for example when a gradient or a
157 texture is used, they have to be interpolated. The color returned may
158 not be appropriate in all cases.</p>
160 <p>Specifying the font used for displaying text depends on the
161 transformation of UNO API font information into the Java&trade; format.
162 However, if the UAA is used directly, this is of course not an
163 issue.</p>
165 <p>The support of this interface is optional to reduce overhead in case
166 that no text is displayed and color information can not be determined
167 with an acceptable cost.</p>
169 [optional] interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
172 }; }; }; };
174 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */