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
