merged tag ooo/OOO330_m14
[LibreOffice.git] / offapi / com / sun / star / chart2 / DataSeries.idl
blobe78592fb7144364725f57e10661ee7332975be31
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
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.
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).
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.
26 ************************************************************************/
27 #ifndef com_sun_star_chart2_DataSeries_idl
28 #define com_sun_star_chart2_DataSeries_idl
30 #include <com/sun/star/beans/PropertySet.idl>
31 #include <com/sun/star/container/XIndexContainer.idl>
32 #include <com/sun/star/container/XContainer.idl>
33 #include <com/sun/star/style/XStyle.idl>
35 //#include <com/sun/star/chart2/ChartTypeSupplier.idl>
36 #include <com/sun/star/chart2/CoordinateSystemSupplier.idl>
37 #include <com/sun/star/chart2/data/XDataSink.idl>
38 #include <com/sun/star/chart2/data/XDataSource.idl>
39 #include <com/sun/star/chart2/data/XDataSeries.idl>
40 #include <com/sun/star/chart2/XRegressionCurveContainer.idl>
42 module com
44 module sun
46 module star
48 module chart2
51 // NOTES
53 // kombinierbarkeit - data series combiner (andere Komponente?)
55 // coordinatesystem-supplier
57 // chart-typ ? property string rendererServiceName
60 /** reflects the model data of the object that has all the information
61 for a <type>DataRenderer</type> to create a visible data series in
62 a chart.
64 <p>It combines one or more <type>DataSequence</type>s which are
65 interpreted by evaluating their role-string.</p>
67 @see DataSequenceRole
69 service DataSeries
71 /** allows to connect a CoordinateSystem to a DataSeries
73 // service CoordinateSystemSupplier;
75 // service ChartTypeSupplier;
76 /** the property interface by which the properties of all
77 supported services are exchanged
79 service ::com::sun::star::beans::PropertySet;
81 /** these properties serve as default for data points.
83 <p>So, an attribute for a data point comes from one point in
84 the following hierarchy:</p>
86 <ul>
87 <li>default value of data series</li>
88 <li>value from style of data series (if a style was set)</li>
89 <li>value from hard attribute of data series (set with setPropertyValue)</li>
90 <li>value from style of data point (if a style was set)</li>
91 <li>value from hard attribute of data point (set with setPropertyValue)</li>
92 </ul>
94 service DataPointProperties;
96 // ----------------------------------------------------------------------
98 /** allows setting a coordinate-system
100 interface XDataSeries;
102 /** allows attaching data sequences to a series.
104 interface data::XDataSink;
106 /** allows querying the data that was set.
108 interface data::XDataSource;
110 /** gives access to the data points contained in a data series.
112 <p>The objects returned by the
113 <type scope="com::sun::star::container">XIndexAccess</type>
114 are of type
115 <type scope="com::sun::star::beans">XPropertySet</type>
116 and support the service
117 <type>DataPoint</type>.
119 // interface ::com::sun::star::container::XIndexContainer;
121 /** establishes a broadcaster-listener mechanism for the
122 <type scope="com::sun::star::container">XIndexContainer</type>
123 to keep changes and the property
124 <member>DataSeries::AttributedDataPoints</member> in sync.
126 // interface ::com::sun::star::container::XContainer;
128 /** Holds regression curves (aka trend-lines) for a data series.
130 [optional] interface XRegressionCurveContainer;
132 // ----------------------------------------------------------------------
134 /** This service will be used to render this data series.
136 <p>This service name can be used to determine which DataSeries
137 are of the same type.</p>
139 <p>The result of the
140 <member>DataSeries::DataSequenceRoles</member> depends on the
141 renderer service set here.</p>
143 // stored at the DataSeriesGroup now
144 // [property] string DataRendererServiceName;
146 /** a sequence of indexes denoting which data points have set
147 properties that differ from the default.
149 <p>The default values are determined by the properties set at
150 the <member>DataPointProperties</member> of the data
151 series.</p>
153 <p>If the sequence is empty, that means that all data points
154 look alike. They are formatted using the propery values set
155 in the data series.</p>
157 <p>The indexes in this sequence match the indexes used by the
158 <type>XIndexContainer</type>.</p>
160 <p>This property is especially useful for large data series
161 with only some formatted data points, because you do not have
162 to iterate over all elements.</p>
164 [readonly, optional, property] sequence< long > AttributedDataPoints;
166 /** indicates wether this series should be stacked with respect to the previous series.
168 [property] StackingDirection StackingDirection;
170 /** If <TRUE/>, the data points of this series get different
171 colors by default, like in a pie chart.
173 [optional, property] boolean VaryColorsByPoint;
175 /** This property describes wether the series should be shown at
176 the main value axis or at the secondary value axis. Having
177 this property not set or setting it to 0 means that this data
178 series will be scaled at the primary y-axis ( of the
179 coordinate system in which this series is hosted ).
181 <p>Setting this property to 1 means that this series should be
182 scaled at the secondary y-axis. If there is no secondary axis
183 the main axis should be used for scaling instead.</p>
185 <p>If you want to scale a series at a different x or z axis
186 you need to create an additional coordinate system and host
187 this series there.</p>
189 [optional, property] long AttachedAxisIndex;
192 } ; // chart2
193 } ; // com
194 } ; // sun
195 } ; // star
198 #endif