xref: /AOO41X/main/offapi/com/sun/star/chart2/DataSeries.idl (revision 1ecadb572e7010ff3b3382ad9bf179dbc6efadbb)
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_chart2_DataSeries_idl
28#define com_sun_star_chart2_DataSeries_idl
29
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>
34
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>
41
42module com
43{
44module sun
45{
46module star
47{
48module chart2
49{
50
51    // NOTES
52
53    // kombinierbarkeit - data series combiner (andere Komponente?)
54    //
55    // coordinatesystem-supplier
56    //
57    // chart-typ ? property string rendererServiceName
58
59
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.
63
64    <p>It combines one or more <type>DataSequence</type>s which are
65    interpreted by evaluating their role-string.</p>
66
67    @see DataSequenceRole
68  */
69service DataSeries
70{
71    /** allows to connect a CoordinateSystem to a DataSeries
72     */
73//     service CoordinateSystemSupplier;
74
75//    service ChartTypeSupplier;
76    /** the property interface by which the properties of all
77        supported services are exchanged
78    */
79    service ::com::sun::star::beans::PropertySet;
80
81    /** these properties serve as default for data points.
82
83        <p>So, an attribute for a data point comes from one point in
84        the following hierarchy:</p>
85
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>
93     */
94    service DataPointProperties;
95
96    // ----------------------------------------------------------------------
97
98    /** allows setting a coordinate-system
99     */
100    interface XDataSeries;
101
102    /** allows attaching data sequences to a series.
103     */
104    interface data::XDataSink;
105
106    /** allows querying the data that was set.
107     */
108    interface data::XDataSource;
109
110    /** gives access to the data points contained in a data series.
111
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>.
118    */
119//     interface ::com::sun::star::container::XIndexContainer;
120
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.
125     */
126//     interface ::com::sun::star::container::XContainer;
127
128    /** Holds regression curves (aka trend-lines) for a data series.
129     */
130    [optional] interface XRegressionCurveContainer;
131
132    // ----------------------------------------------------------------------
133
134    /** This service will be used to render this data series.
135
136        <p>This service name can be used to determine which DataSeries
137        are of the same type.</p>
138
139        <p>The result of the
140        <member>DataSeries::DataSequenceRoles</member> depends on the
141        renderer service set here.</p>
142     */
143    // stored at the DataSeriesGroup now
144//     [property] string                             DataRendererServiceName;
145
146    /** a sequence of indexes denoting which data points have set
147        properties that differ from the default.
148
149        <p>The default values are determined by the properties set at
150        the <member>DataPointProperties</member> of the data
151        series.</p>
152
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>
156
157        <p>The indexes in this sequence match the indexes used by the
158        <type>XIndexContainer</type>.</p>
159
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>
163     */
164    [readonly, optional, property] sequence< long > AttributedDataPoints;
165
166    /** indicates wether this series should be stacked with respect to the previous series.
167    */
168    [property] StackingDirection StackingDirection;
169
170    /** If <TRUE/>, the data points of this series get different
171        colors by default, like in a pie chart.
172     */
173    [optional, property] boolean                    VaryColorsByPoint;
174
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 ).
180
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>
184
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>
188    */
189    [optional, property] long                       AttachedAxisIndex;
190};
191
192} ; // chart2
193} ; // com
194} ; // sun
195} ; // star
196
197
198#endif
199