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