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