xref: /core/offapi/com/sun/star/chart2/DataSeries.idl (revision 5687eba4)
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
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/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
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 .
18 */
19
20module com
21{
22module sun
23{
24module star
25{
26module chart2
27{
28
29    // NOTES
30
31    // ability to be combined - data series combiner (another component?)
32    // coordinatesystem-supplier
33    // chart-type ? property string rendererServiceName
34
35
36/** reflects the model data of the object that has all the information
37    for a DataRenderer to create a visible data series in
38    a chart.
39
40    <p>It combines one or more DataSequences which are
41    interpreted by evaluating their role-string.</p>
42
43    @see DataSequenceRole
44  */
45service DataSeries
46{
47    /** allows to connect a CoordinateSystem to a DataSeries
48     */
49//     service CoordinateSystemSupplier;
50
51//    service ChartTypeSupplier;
52    /** the property interface by which the properties of all
53        supported services are exchanged
54    */
55    service ::com::sun::star::beans::PropertySet;
56
57    /** these properties serve as default for data points.
58
59        <p>So, an attribute for a data point comes from one point in
60        the following hierarchy:</p>
61
62        <ul>
63         <li>default value of data series</li>
64         <li>value from style of data series (if a style was set)</li>
65         <li>value from hard attribute of data series (set with setPropertyValue)</li>
66         <li>value from style of data point (if a style was set)</li>
67         <li>value from hard attribute of data point (set with setPropertyValue)</li>
68        </ul>
69     */
70    service DataPointProperties;
71
72
73    /** allows setting a coordinate-system
74     */
75    interface XDataSeries;
76
77    /** allows attaching data sequences to a series.
78     */
79    interface data::XDataSink;
80
81    /** allows querying the data that was set.
82     */
83    interface data::XDataSource;
84
85    /** gives access to the data points contained in a data series.
86
87        <p>The objects returned by the
88        com::sun::star::container::XIndexAccess
89        are of type
90        com::sun::star::beans::XPropertySet
91        and support the service
92        DataPoint.
93    */
94//     interface ::com::sun::star::container::XIndexContainer;
95
96    /** establishes a broadcaster-listener mechanism for the
97        com::sun::star::container::XIndexContainer
98        to keep changes and the property
99        DataSeries::AttributedDataPoints in sync.
100     */
101//     interface ::com::sun::star::container::XContainer;
102
103    /** Holds regression curves (aka trend-lines) for a data series.
104     */
105    [optional] interface XRegressionCurveContainer;
106
107
108    /** This service will be used to render this data series.
109
110        <p>This service name can be used to determine which DataSeries
111        are of the same type.</p>
112
113        <p>The result of the
114        DataSeries::DataSequenceRoles depends on the
115        renderer service set here.</p>
116     */
117    // stored at the DataSeriesGroup now
118//     [property] string                             DataRendererServiceName;
119
120    /** a sequence of indexes denoting which data points have set
121        properties that differ from the default.
122
123        <p>The default values are determined by the properties set at
124        the #DataPointProperties of the data
125        series.</p>
126
127        <p>If the sequence is empty, that means that all data points
128        look alike.  They are formatted using the property values set
129        in the data series.</p>
130
131        <p>The indexes in this sequence match the indexes used by the
132        XIndexContainer.</p>
133
134        <p>This property is especially useful for large data series
135        with only some formatted data points, because you do not have
136        to iterate over all elements.</p>
137     */
138    [readonly, optional, property] sequence< long > AttributedDataPoints;
139
140    /** indicates whether this series should be stacked with respect to the previous series.
141    */
142    [property] StackingDirection StackingDirection;
143
144    /** If `TRUE`, the data points of this series get different
145        colors by default, like in a pie chart.
146     */
147    [optional, property] boolean                    VaryColorsByPoint;
148
149    /** This property describes whether the series should be shown at
150        the main value axis or at the secondary value axis.  Having
151        this property not set or setting it to 0 means that this data
152        series will be scaled at the primary y-axis ( of the
153        coordinate system in which this series is hosted ).
154
155        <p>Setting this property to 1 means that this series should be
156        scaled at the secondary y-axis.  If there is no secondary axis
157        the main axis should be used for scaling instead.</p>
158
159        <p>If you want to scale a series at a different x or z axis
160        you need to create an additional coordinate system and host
161        this series there.</p>
162    */
163    [optional, property] long                       AttachedAxisIndex;
164
165    /** This property describes whether the legend entry for the
166        the data series should be shown.
167
168        @since LibreOffice 6.3
169      */
170    [optional, property] boolean                    ShowLegendEntry;
171
172    /** A sequence of indexes denoting which data points shouldn't be
173        shown in the legend.
174
175        @since LibreOffice 7.0
176     */
177    [optional, property] sequence<long>             DeletedLegendEntries;
178
179    /** This property describes whether the data point and the data label
180        are connected with a leader line.
181
182        @since LibreOffice 7.1
183      */
184    [optional, property] boolean                    ShowCustomLeaderLines;
185};
186
187} ; // chart2
188} ; // com
189} ; // sun
190} ; // star
191
192
193/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
194