1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: DataSeries.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef com_sun_star_chart2_DataSeries_idl
31 #define com_sun_star_chart2_DataSeries_idl
33 #include
<com
/sun
/star
/beans
/PropertySet.idl
>
34 #include
<com
/sun
/star
/container
/XIndexContainer.idl
>
35 #include
<com
/sun
/star
/container
/XContainer.idl
>
36 #include
<com
/sun
/star
/style
/XStyle.idl
>
38 //#include <com/sun/star/chart2/ChartTypeSupplier.idl>
39 #include
<com
/sun
/star
/chart2
/CoordinateSystemSupplier.idl
>
40 #include
<com
/sun
/star
/chart2
/data
/XDataSink.idl
>
41 #include
<com
/sun
/star
/chart2
/data
/XDataSource.idl
>
42 #include
<com
/sun
/star
/chart2
/data
/XDataSeries.idl
>
43 #include
<com
/sun
/star
/chart2
/XRegressionCurveContainer.idl
>
56 // kombinierbarkeit - data series combiner (andere Komponente?)
58 // coordinatesystem-supplier
60 // chart-typ ? property string rendererServiceName
63 /** reflects the model data of the object that has all the information
64 for a <type>DataRenderer</type> to create a visible data series in
67 <p>It combines one or more <type>DataSequence</type>s which are
68 interpreted by evaluating their role-string.</p>
74 /** allows to connect a CoordinateSystem to a DataSeries
76 // service CoordinateSystemSupplier;
78 // service ChartTypeSupplier;
79 /** the property interface by which the properties of all
80 supported services are exchanged
82 service
::com
::sun
::star
::beans
::PropertySet
;
84 /** these properties serve as default for data points.
86 <p>So, an attribute for a data point comes from one point in
87 the following hierarchy:</p>
90 <li>default value of data series</li>
91 <li>value from style of data series (if a style was set)</li>
92 <li>value from hard attribute of data series (set with setPropertyValue)</li>
93 <li>value from style of data point (if a style was set)</li>
94 <li>value from hard attribute of data point (set with setPropertyValue)</li>
97 service DataPointProperties
;
99 // ----------------------------------------------------------------------
101 /** allows setting a coordinate-system
103 interface XDataSeries
;
105 /** allows attaching data sequences to a series.
107 interface data
::XDataSink
;
109 /** allows querying the data that was set.
111 interface data
::XDataSource
;
113 /** gives access to the data points contained in a data series.
115 <p>The objects returned by the
116 <type scope="com::sun::star::container">XIndexAccess</type>
118 <type scope="com::sun::star::beans">XPropertySet</type>
119 and support the service
120 <type>DataPoint</type>.
122 // interface ::com::sun::star::container::XIndexContainer;
124 /** establishes a broadcaster-listener mechanism for the
125 <type scope="com::sun::star::container">XIndexContainer</type>
126 to keep changes and the property
127 <member>DataSeries::AttributedDataPoints</member> in sync.
129 // interface ::com::sun::star::container::XContainer;
131 /** Holds regression curves (aka trend-lines) for a data series.
133 [optional] interface XRegressionCurveContainer
;
135 // ----------------------------------------------------------------------
137 /** This service will be used to render this data series.
139 <p>This service name can be used to determine which DataSeries
140 are of the same type.</p>
143 <member>DataSeries::DataSequenceRoles</member> depends on the
144 renderer service set here.</p>
146 // stored at the DataSeriesGroup now
147 // [property] string DataRendererServiceName;
149 /** a sequence of indexes denoting which data points have set
150 properties that differ from the default.
152 <p>The default values are determined by the properties set at
153 the <member>DataPointProperties</member> of the data
156 <p>If the sequence is empty, that means that all data points
157 look alike. They are formatted using the propery values set
158 in the data series.</p>
160 <p>The indexes in this sequence match the indexes used by the
161 <type>XIndexContainer</type>.</p>
163 <p>This property is especially useful for large data series
164 with only some formatted data points, because you do not have
165 to iterate over all elements.</p>
167 [readonly, optional, property
] sequence
< long > AttributedDataPoints
;
169 /** indicates wether this series should be stacked with respect to the previous series.
171 [property
] StackingDirection StackingDirection
;
173 /** If <TRUE/>, the data points of this series get different
174 colors by default, like in a pie chart.
176 [optional, property
] boolean VaryColorsByPoint
;
178 /** This property describes wether the series should be shown at
179 the main value axis or at the secondary value axis. Having
180 this property not set or setting it to 0 means that this data
181 series will be scaled at the primary y-axis ( of the
182 coordinate system in which this series is hosted ).
184 <p>Setting this property to 1 means that this series should be
185 scaled at the secondary y-axis. If there is no secondary axis
186 the main axis should be used for scaling instead.</p>
188 <p>If you want to scale a series at a different x or z axis
189 you need to create an additional coordinate system and host
190 this series there.</p>
192 [optional, property
] long AttachedAxisIndex
;