Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / chart2 / DataSeries.idl
blob922ba446b027b71dd0a8fbdf8b8b87a7158127bc
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef com_sun_star_chart2_DataSeries_idl
20 #define com_sun_star_chart2_DataSeries_idl
22 #include <com/sun/star/beans/PropertySet.idl>
23 #include <com/sun/star/container/XIndexContainer.idl>
24 #include <com/sun/star/container/XContainer.idl>
25 #include <com/sun/star/chart2/DataPointProperties.idl>
26 #include <com/sun/star/chart2/StackingDirection.idl>
27 #include <com/sun/star/chart2/XDataSeries.idl>
28 #include <com/sun/star/chart2/XRegressionCurveContainer.idl>
29 #include <com/sun/star/chart2/data/XDataSink.idl>
30 #include <com/sun/star/chart2/data/XDataSource.idl>
32 module com
34 module sun
36 module star
38 module chart2
41 // NOTES
43 // kombinierbarkeit - data series combiner (andere Komponente?)
44 // coordinatesystem-supplier
45 // chart-type ? property string rendererServiceName
48 /** reflects the model data of the object that has all the information
49 for a DataRenderer to create a visible data series in
50 a chart.
52 <p>It combines one or more DataSequences which are
53 interpreted by evaluating their role-string.</p>
55 @see DataSequenceRole
57 service DataSeries
59 /** allows to connect a CoordinateSystem to a DataSeries
61 // service CoordinateSystemSupplier;
63 // service ChartTypeSupplier;
64 /** the property interface by which the properties of all
65 supported services are exchanged
67 service ::com::sun::star::beans::PropertySet;
69 /** these properties serve as default for data points.
71 <p>So, an attribute for a data point comes from one point in
72 the following hierarchy:</p>
74 <ul>
75 <li>default value of data series</li>
76 <li>value from style of data series (if a style was set)</li>
77 <li>value from hard attribute of data series (set with setPropertyValue)</li>
78 <li>value from style of data point (if a style was set)</li>
79 <li>value from hard attribute of data point (set with setPropertyValue)</li>
80 </ul>
82 service DataPointProperties;
85 /** allows setting a coordinate-system
87 interface XDataSeries;
89 /** allows attaching data sequences to a series.
91 interface data::XDataSink;
93 /** allows querying the data that was set.
95 interface data::XDataSource;
97 /** gives access to the data points contained in a data series.
99 <p>The objects returned by the
100 com::sun::star::container::XIndexAccess
101 are of type
102 com::sun::star::beans::XPropertySet
103 and support the service
104 DataPoint.
106 // interface ::com::sun::star::container::XIndexContainer;
108 /** establishes a broadcaster-listener mechanism for the
109 com::sun::star::container::XIndexContainer
110 to keep changes and the property
111 DataSeries::AttributedDataPoints in sync.
113 // interface ::com::sun::star::container::XContainer;
115 /** Holds regression curves (aka trend-lines) for a data series.
117 [optional] interface XRegressionCurveContainer;
120 /** This service will be used to render this data series.
122 <p>This service name can be used to determine which DataSeries
123 are of the same type.</p>
125 <p>The result of the
126 DataSeries::DataSequenceRoles depends on the
127 renderer service set here.</p>
129 // stored at the DataSeriesGroup now
130 // [property] string DataRendererServiceName;
132 /** a sequence of indexes denoting which data points have set
133 properties that differ from the default.
135 <p>The default values are determined by the properties set at
136 the #DataPointProperties of the data
137 series.</p>
139 <p>If the sequence is empty, that means that all data points
140 look alike. They are formatted using the property values set
141 in the data series.</p>
143 <p>The indexes in this sequence match the indexes used by the
144 XIndexContainer.</p>
146 <p>This property is especially useful for large data series
147 with only some formatted data points, because you do not have
148 to iterate over all elements.</p>
150 [readonly, optional, property] sequence< long > AttributedDataPoints;
152 /** indicates whether this series should be stacked with respect to the previous series.
154 [property] StackingDirection StackingDirection;
156 /** If `TRUE`, the data points of this series get different
157 colors by default, like in a pie chart.
159 [optional, property] boolean VaryColorsByPoint;
161 /** This property describes whether the series should be shown at
162 the main value axis or at the secondary value axis. Having
163 this property not set or setting it to 0 means that this data
164 series will be scaled at the primary y-axis ( of the
165 coordinate system in which this series is hosted ).
167 <p>Setting this property to 1 means that this series should be
168 scaled at the secondary y-axis. If there is no secondary axis
169 the main axis should be used for scaling instead.</p>
171 <p>If you want to scale a series at a different x or z axis
172 you need to create an additional coordinate system and host
173 this series there.</p>
175 [optional, property] long AttachedAxisIndex;
178 } ; // chart2
179 } ; // com
180 } ; // sun
181 } ; // star
184 #endif
186 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */