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