xref: /trunk/main/offapi/com/sun/star/chart/ChartAxis.idl (revision cdf0e10c)
1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_chart_ChartAxis_idl__
28#define __com_sun_star_chart_ChartAxis_idl__
29
30#ifndef __com_sun_star_drawing_LineProperties_idl__
31#include <com/sun/star/drawing/LineProperties.idl>
32#endif
33
34#ifndef __com_sun_star_style_CharacterProperties_idl__
35#include <com/sun/star/style/CharacterProperties.idl>
36#endif
37
38#ifndef __com_sun_star_beans_XPropertySet_idl__
39#include <com/sun/star/beans/XPropertySet.idl>
40#endif
41
42#ifndef __com_sun_star_chart_ChartAxisArrangeOrderType_idl__
43#include <com/sun/star/chart/ChartAxisArrangeOrderType.idl>
44#endif
45
46#ifndef __com_sun_star_chart_ChartAxisPosition_idl__
47#include <com/sun/star/chart/ChartAxisPosition.idl>
48#endif
49
50#ifndef __com_sun_star_chart_ChartAxisLabelPosition_idl__
51#include <com/sun/star/chart/ChartAxisLabelPosition.idl>
52#endif
53
54#ifndef __com_sun_star_chart_ChartAxisMarkPosition_idl__
55#include <com/sun/star/chart/ChartAxisMarkPosition.idl>
56#endif
57
58#ifndef __com_sun_star_chart_ChartAxisType_idl__
59#include <com/sun/star/chart/ChartAxisType.idl>
60#endif
61
62#ifndef __com_sun_star_chart_TimeIncrement_idl__
63#include <com/sun/star/chart/TimeIncrement.idl>
64#endif
65
66#ifndef __com_sun_star_chart_XAxis_idl__
67#include <com/sun/star/chart/XAxis.idl>
68#endif
69
70#ifndef _com_sun_star_xml_UserDefinedAttributeSupplier_idl_
71#include <com/sun/star/xml/UserDefinedAttributeSupplier.idl>
72#endif
73
74//=============================================================================
75
76 module com {  module sun {  module star {  module chart {
77
78//=============================================================================
79
80/** Specifies the axes in a diagram.
81
82	<p>Note: The text properties correlate to all axis description
83	elements, not to just a single text element.</p>
84 */
85published service ChartAxis
86{
87	/** set the properties for the entire axis line as well as for the
88        tick marks.
89	 */
90	service com::sun::star::drawing::LineProperties;
91
92	/** set the properties for all text labels of the axis
93	 */
94	service com::sun::star::style::CharacterProperties;
95
96	/** If a <type>ChartAxis</type> may be stored as XML element, this
97        service should be supported in order to preserve unparsed XML
98        attributes.
99
100	    @since OOo 1.1.2
101     */
102    [optional] service com::sun::star::xml::UserDefinedAttributeSupplier;
103
104    /** Access to the sub elements of an axis like title and grids.
105        @since OOo 3.4
106     */
107    [optional] interface com::sun::star::chart::XAxis;
108
109	interface com::sun::star::beans::XPropertySet;
110
111    //-------------------------------------------------------------------------
112    /** Properties for scaling:
113    */
114
115	//-------------------------------------------------------------------------
116
117	/** Contains the maximum value for the axis scale.
118	 */
119	[optional, property] double Max;
120
121	//-------------------------------------------------------------------------
122
123	/** Contains the minimum value for the axis scale.
124	 */
125	[optional, property] double Min;
126
127	//-------------------------------------------------------------------------
128
129	/** Contains the distance between the main tick marks.
130	 */
131	[optional, property] double StepMain;
132
133    //-------------------------------------------------------------------------
134
135	/**
136    Contains the number of help intervals within a main interval. E.g. a StepHelpCount of 5 divides
137    the main interval into 5 pieces and thus producces 4 help tick marks.
138    */
139	[optional, property] long StepHelpCount;
140
141	//-------------------------------------------------------------------------
142
143	/** @deprecated
144    User property StepHelpCount instead
145    Contains the distance between the help tick marks.
146    */
147	[optional, property] double StepHelp;
148
149	//-------------------------------------------------------------------------
150
151	/** The maximium value of the axis scale is calculated by the chart if
152		this property is <TRUE/>.
153	 */
154	[optional, property] boolean AutoMax;
155
156	//-------------------------------------------------------------------------
157
158	/** The minimum value of the axis scale is calculated by the chart if
159		this property is <TRUE/>.
160	 */
161	[optional, property] boolean AutoMin;
162
163	//-------------------------------------------------------------------------
164
165	/** The distance between the main tick marks is calculated by the chart
166		if this property is <TRUE/>.
167	 */
168	[optional, property] boolean AutoStepMain;
169
170	//-------------------------------------------------------------------------
171
172	/** The number of help intervals within a main interval is calculated by the
173		chart if this property is <TRUE/>.
174    */
175	[optional, property] boolean AutoStepHelp;
176
177
178	//-------------------------------------------------------------------------
179
180	/** Determines if the axis is scaled logarithmically or
181		not (linear).
182	 */
183	[optional, property] boolean Logarithmic;
184
185    //-------------------------------------------------------------------------
186
187	/** determines which type of axis this is, e.g. a date-axis or a category-axis @see ChartAxisType
188        @since OOo 3.4
189	 */
190	[optional, property] long AxisType;
191
192    //-------------------------------------------------------------------------
193
194	/** if the current axis is a date-axis the intervals are choosen as given with TimeIncrement
195        @since OOo 3.4
196	 */
197	[optional, maybevoid, property] TimeIncrement TimeIncrement;
198
199    //-------------------------------------------------------------------------
200
201	/** Determines if the axis orientation is mathematical or reversed.
202	 */
203	[optional, property] boolean ReverseDirection;
204
205    //-------------------------------------------------------------------------
206
207	/** Determines where the axis crosses the other axis.
208	 */
209	[optional, property] com::sun::star::chart::ChartAxisPosition CrossoverPosition;
210
211    //-------------------------------------------------------------------------
212
213	/** Determines the scale value on the other axis when CrossoverPosition is set to VALUE.
214	 */
215	[optional, property] double CrossoverValue;
216
217    //-------------------------------------------------------------------------
218
219	/** Indicates the reference value where bars or areas have their grounding.
220        This property has only an effect when the used odf fileformat does not allow for
221        further axis posiioning or the axis is a secondary y-axis.
222	 */
223	[optional, property] double Origin;
224
225    //-------------------------------------------------------------------------
226
227	/** The origin is calculated by the chart if this property is <TRUE/>.
228     */
229	[optional, property] boolean AutoOrigin;
230
231    //-------------------------------------------------------------------------
232    /** Properties for interval marks:
233    */
234
235    //-------------------------------------------------------------------------
236
237	/** Determines the type of the marks.@see ChartAxisMarks
238	 */
239	[property] long Marks;
240
241	//-------------------------------------------------------------------------
242
243	/** Determines the type of the help marks.@see ChartAxisMarks
244	 */
245	[property] long HelpMarks;
246    //-------------------------------------------------------------------------
247
248	/** Determines where the interval marks are placed.
249	 */
250	[optional, property] com::sun::star::chart::ChartAxisMarkPosition MarkPosition;
251
252    //-------------------------------------------------------------------------
253    /** Properties for axes labels:
254    */
255
256	//-------------------------------------------------------------------------
257
258	/** Determines whether to display text at the axis or not.
259	 */
260	[property] boolean DisplayLabels;
261
262    //-------------------------------------------------------------------------
263
264	/** Contains the type id for the number formatter of the axis.
265
266        @see com::sun::star::util::XNumberFormatter
267	 */
268	[property] long NumberFormat;
269
270	//-------------------------------------------------------------------------
271
272    /** determines whether to use the number format given by the
273        container application, e.g.  a spreadsheet document, or from
274        the own property <member>NumberFormat</member>.
275     */
276    [optional, property] boolean LinkNumberFormatToSource;
277
278    //-------------------------------------------------------------------------
279
280	/** Determines where the axis labels are placed.
281	 */
282	[optional, property] com::sun::star::chart::ChartAxisLabelPosition LabelPosition;
283
284	//-------------------------------------------------------------------------
285
286	/** Determines the rotation of the text elements
287		(axis description) in 100th degrees.
288	 */
289	[property] long TextRotation;
290
291    //-------------------------------------------------------------------------
292
293	/** The axis description may be arranged in a special order for a
294		better placement.
295	 */
296	[property] com::sun::star::chart::ChartAxisArrangeOrderType ArrangeOrder;
297
298	//-------------------------------------------------------------------------
299
300	/** Determines if long text is broken into multiple lines.
301	 */
302	[property] boolean TextBreak;
303
304	//-------------------------------------------------------------------------
305
306	/** Determines if certain labels are hidden, if they would otherwise overlap.
307		In this case, the value of this property must be set to <FALSE/>.
308	 */
309	[property] boolean TextCanOverlap;
310
311	//-------------------------------------------------------------------------
312    /** Properties related to bar charts:
313    */
314
315    //-------------------------------------------------------------------------
316
317	/** Determines the overlap of the bars in a bar-type chart.
318
319		<p>The value is given in percent of the width of the bars. The
320		valid range is -100% to +100%. +100% means full overlap, -100%
321		indicates a distance of one bar between 2 neighboring bars.</p>
322	 */
323	[property] long Overlap;
324
325	//-------------------------------------------------------------------------
326
327	/** Specifies the width of the gaps between each set of data points
328		in a bar chart.
329
330		<p>The value is given in percent of the width of a bar; the
331		valid range is 0 to 600%.</p>
332	 */
333	[property] long GapWidth;
334};
335
336//=============================================================================
337
338}; }; }; };
339
340#endif
341