1*cdf0e10cSrcweir/*************************************************************************
2*cdf0e10cSrcweir *
3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir *
5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir *
7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir *
9*cdf0e10cSrcweir * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir *
11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir *
15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir *
21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir *
26*cdf0e10cSrcweir ************************************************************************/
27*cdf0e10cSrcweir#ifndef com_sun_star_chart2_DataSeries_idl
28*cdf0e10cSrcweir#define com_sun_star_chart2_DataSeries_idl
29*cdf0e10cSrcweir
30*cdf0e10cSrcweir#include <com/sun/star/beans/PropertySet.idl>
31*cdf0e10cSrcweir#include <com/sun/star/container/XIndexContainer.idl>
32*cdf0e10cSrcweir#include <com/sun/star/container/XContainer.idl>
33*cdf0e10cSrcweir#include <com/sun/star/style/XStyle.idl>
34*cdf0e10cSrcweir
35*cdf0e10cSrcweir//#include <com/sun/star/chart2/ChartTypeSupplier.idl>
36*cdf0e10cSrcweir#include <com/sun/star/chart2/CoordinateSystemSupplier.idl>
37*cdf0e10cSrcweir#include <com/sun/star/chart2/data/XDataSink.idl>
38*cdf0e10cSrcweir#include <com/sun/star/chart2/data/XDataSource.idl>
39*cdf0e10cSrcweir#include <com/sun/star/chart2/data/XDataSeries.idl>
40*cdf0e10cSrcweir#include <com/sun/star/chart2/XRegressionCurveContainer.idl>
41*cdf0e10cSrcweir
42*cdf0e10cSrcweirmodule com
43*cdf0e10cSrcweir{
44*cdf0e10cSrcweirmodule sun
45*cdf0e10cSrcweir{
46*cdf0e10cSrcweirmodule star
47*cdf0e10cSrcweir{
48*cdf0e10cSrcweirmodule chart2
49*cdf0e10cSrcweir{
50*cdf0e10cSrcweir
51*cdf0e10cSrcweir    // NOTES
52*cdf0e10cSrcweir
53*cdf0e10cSrcweir    // kombinierbarkeit - data series combiner (andere Komponente?)
54*cdf0e10cSrcweir    //
55*cdf0e10cSrcweir    // coordinatesystem-supplier
56*cdf0e10cSrcweir    //
57*cdf0e10cSrcweir    // chart-typ ? property string rendererServiceName
58*cdf0e10cSrcweir
59*cdf0e10cSrcweir
60*cdf0e10cSrcweir/** reflects the model data of the object that has all the information
61*cdf0e10cSrcweir    for a <type>DataRenderer</type> to create a visible data series in
62*cdf0e10cSrcweir    a chart.
63*cdf0e10cSrcweir
64*cdf0e10cSrcweir    <p>It combines one or more <type>DataSequence</type>s which are
65*cdf0e10cSrcweir    interpreted by evaluating their role-string.</p>
66*cdf0e10cSrcweir
67*cdf0e10cSrcweir    @see DataSequenceRole
68*cdf0e10cSrcweir  */
69*cdf0e10cSrcweirservice DataSeries
70*cdf0e10cSrcweir{
71*cdf0e10cSrcweir    /** allows to connect a CoordinateSystem to a DataSeries
72*cdf0e10cSrcweir     */
73*cdf0e10cSrcweir//     service CoordinateSystemSupplier;
74*cdf0e10cSrcweir
75*cdf0e10cSrcweir//    service ChartTypeSupplier;
76*cdf0e10cSrcweir    /** the property interface by which the properties of all
77*cdf0e10cSrcweir        supported services are exchanged
78*cdf0e10cSrcweir    */
79*cdf0e10cSrcweir    service ::com::sun::star::beans::PropertySet;
80*cdf0e10cSrcweir
81*cdf0e10cSrcweir    /** these properties serve as default for data points.
82*cdf0e10cSrcweir
83*cdf0e10cSrcweir        <p>So, an attribute for a data point comes from one point in
84*cdf0e10cSrcweir        the following hierarchy:</p>
85*cdf0e10cSrcweir
86*cdf0e10cSrcweir        <ul>
87*cdf0e10cSrcweir         <li>default value of data series</li>
88*cdf0e10cSrcweir         <li>value from style of data series (if a style was set)</li>
89*cdf0e10cSrcweir         <li>value from hard attribute of data series (set with setPropertyValue)</li>
90*cdf0e10cSrcweir         <li>value from style of data point (if a style was set)</li>
91*cdf0e10cSrcweir         <li>value from hard attribute of data point (set with setPropertyValue)</li>
92*cdf0e10cSrcweir        </ul>
93*cdf0e10cSrcweir     */
94*cdf0e10cSrcweir    service DataPointProperties;
95*cdf0e10cSrcweir
96*cdf0e10cSrcweir    // ----------------------------------------------------------------------
97*cdf0e10cSrcweir
98*cdf0e10cSrcweir    /** allows setting a coordinate-system
99*cdf0e10cSrcweir     */
100*cdf0e10cSrcweir    interface XDataSeries;
101*cdf0e10cSrcweir
102*cdf0e10cSrcweir    /** allows attaching data sequences to a series.
103*cdf0e10cSrcweir     */
104*cdf0e10cSrcweir    interface data::XDataSink;
105*cdf0e10cSrcweir
106*cdf0e10cSrcweir    /** allows querying the data that was set.
107*cdf0e10cSrcweir     */
108*cdf0e10cSrcweir    interface data::XDataSource;
109*cdf0e10cSrcweir
110*cdf0e10cSrcweir    /** gives access to the data points contained in a data series.
111*cdf0e10cSrcweir
112*cdf0e10cSrcweir        <p>The objects returned by the
113*cdf0e10cSrcweir        <type scope="com::sun::star::container">XIndexAccess</type>
114*cdf0e10cSrcweir        are of type
115*cdf0e10cSrcweir        <type scope="com::sun::star::beans">XPropertySet</type>
116*cdf0e10cSrcweir        and support the service
117*cdf0e10cSrcweir        <type>DataPoint</type>.
118*cdf0e10cSrcweir    */
119*cdf0e10cSrcweir//     interface ::com::sun::star::container::XIndexContainer;
120*cdf0e10cSrcweir
121*cdf0e10cSrcweir    /** establishes a broadcaster-listener mechanism for the
122*cdf0e10cSrcweir        <type scope="com::sun::star::container">XIndexContainer</type>
123*cdf0e10cSrcweir        to keep changes and the property
124*cdf0e10cSrcweir        <member>DataSeries::AttributedDataPoints</member> in sync.
125*cdf0e10cSrcweir     */
126*cdf0e10cSrcweir//     interface ::com::sun::star::container::XContainer;
127*cdf0e10cSrcweir
128*cdf0e10cSrcweir    /** Holds regression curves (aka trend-lines) for a data series.
129*cdf0e10cSrcweir     */
130*cdf0e10cSrcweir    [optional] interface XRegressionCurveContainer;
131*cdf0e10cSrcweir
132*cdf0e10cSrcweir    // ----------------------------------------------------------------------
133*cdf0e10cSrcweir
134*cdf0e10cSrcweir    /** This service will be used to render this data series.
135*cdf0e10cSrcweir
136*cdf0e10cSrcweir        <p>This service name can be used to determine which DataSeries
137*cdf0e10cSrcweir        are of the same type.</p>
138*cdf0e10cSrcweir
139*cdf0e10cSrcweir        <p>The result of the
140*cdf0e10cSrcweir        <member>DataSeries::DataSequenceRoles</member> depends on the
141*cdf0e10cSrcweir        renderer service set here.</p>
142*cdf0e10cSrcweir     */
143*cdf0e10cSrcweir    // stored at the DataSeriesGroup now
144*cdf0e10cSrcweir//     [property] string                             DataRendererServiceName;
145*cdf0e10cSrcweir
146*cdf0e10cSrcweir    /** a sequence of indexes denoting which data points have set
147*cdf0e10cSrcweir        properties that differ from the default.
148*cdf0e10cSrcweir
149*cdf0e10cSrcweir        <p>The default values are determined by the properties set at
150*cdf0e10cSrcweir        the <member>DataPointProperties</member> of the data
151*cdf0e10cSrcweir        series.</p>
152*cdf0e10cSrcweir
153*cdf0e10cSrcweir        <p>If the sequence is empty, that means that all data points
154*cdf0e10cSrcweir        look alike.  They are formatted using the propery values set
155*cdf0e10cSrcweir        in the data series.</p>
156*cdf0e10cSrcweir
157*cdf0e10cSrcweir        <p>The indexes in this sequence match the indexes used by the
158*cdf0e10cSrcweir        <type>XIndexContainer</type>.</p>
159*cdf0e10cSrcweir
160*cdf0e10cSrcweir        <p>This property is especially useful for large data series
161*cdf0e10cSrcweir        with only some formatted data points, because you do not have
162*cdf0e10cSrcweir        to iterate over all elements.</p>
163*cdf0e10cSrcweir     */
164*cdf0e10cSrcweir    [readonly, optional, property] sequence< long > AttributedDataPoints;
165*cdf0e10cSrcweir
166*cdf0e10cSrcweir    /** indicates wether this series should be stacked with respect to the previous series.
167*cdf0e10cSrcweir    */
168*cdf0e10cSrcweir    [property] StackingDirection StackingDirection;
169*cdf0e10cSrcweir
170*cdf0e10cSrcweir    /** If <TRUE/>, the data points of this series get different
171*cdf0e10cSrcweir        colors by default, like in a pie chart.
172*cdf0e10cSrcweir     */
173*cdf0e10cSrcweir    [optional, property] boolean                    VaryColorsByPoint;
174*cdf0e10cSrcweir
175*cdf0e10cSrcweir    /** This property describes wether the series should be shown at
176*cdf0e10cSrcweir        the main value axis or at the secondary value axis.  Having
177*cdf0e10cSrcweir        this property not set or setting it to 0 means that this data
178*cdf0e10cSrcweir        series will be scaled at the primary y-axis ( of the
179*cdf0e10cSrcweir        coordinate system in which this series is hosted ).
180*cdf0e10cSrcweir
181*cdf0e10cSrcweir        <p>Setting this property to 1 means that this series should be
182*cdf0e10cSrcweir        scaled at the secondary y-axis.  If there is no secondary axis
183*cdf0e10cSrcweir        the main axis should be used for scaling instead.</p>
184*cdf0e10cSrcweir
185*cdf0e10cSrcweir        <p>If you want to scale a series at a different x or z axis
186*cdf0e10cSrcweir        you need to create an additional coordinate system and host
187*cdf0e10cSrcweir        this series there.</p>
188*cdf0e10cSrcweir    */
189*cdf0e10cSrcweir    [optional, property] long                       AttachedAxisIndex;
190*cdf0e10cSrcweir};
191*cdf0e10cSrcweir
192*cdf0e10cSrcweir} ; // chart2
193*cdf0e10cSrcweir} ; // com
194*cdf0e10cSrcweir} ; // sun
195*cdf0e10cSrcweir} ; // star
196*cdf0e10cSrcweir
197*cdf0e10cSrcweir
198*cdf0e10cSrcweir#endif
199