/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef com_sun_star_chart2_DataSeries_idl #define com_sun_star_chart2_DataSeries_idl #include #include #include #include #include #include #include #include #include module com { module sun { module star { module chart2 { // NOTES // ability to be combined - data series combiner (another component?) // coordinatesystem-supplier // chart-type ? property string rendererServiceName /** reflects the model data of the object that has all the information for a DataRenderer to create a visible data series in a chart.

It combines one or more DataSequences which are interpreted by evaluating their role-string.

@see DataSequenceRole */ service DataSeries { /** allows to connect a CoordinateSystem to a DataSeries */ // service CoordinateSystemSupplier; // service ChartTypeSupplier; /** the property interface by which the properties of all supported services are exchanged */ service ::com::sun::star::beans::PropertySet; /** these properties serve as default for data points.

So, an attribute for a data point comes from one point in the following hierarchy:

  • default value of data series
  • value from style of data series (if a style was set)
  • value from hard attribute of data series (set with setPropertyValue)
  • value from style of data point (if a style was set)
  • value from hard attribute of data point (set with setPropertyValue)
*/ service DataPointProperties; /** allows setting a coordinate-system */ interface XDataSeries; /** allows attaching data sequences to a series. */ interface data::XDataSink; /** allows querying the data that was set. */ interface data::XDataSource; /** gives access to the data points contained in a data series.

The objects returned by the com::sun::star::container::XIndexAccess are of type com::sun::star::beans::XPropertySet and support the service DataPoint. */ // interface ::com::sun::star::container::XIndexContainer; /** establishes a broadcaster-listener mechanism for the com::sun::star::container::XIndexContainer to keep changes and the property DataSeries::AttributedDataPoints in sync. */ // interface ::com::sun::star::container::XContainer; /** Holds regression curves (aka trend-lines) for a data series. */ [optional] interface XRegressionCurveContainer; /** This service will be used to render this data series.

This service name can be used to determine which DataSeries are of the same type.

The result of the DataSeries::DataSequenceRoles depends on the renderer service set here.

*/ // stored at the DataSeriesGroup now // [property] string DataRendererServiceName; /** a sequence of indexes denoting which data points have set properties that differ from the default.

The default values are determined by the properties set at the #DataPointProperties of the data series.

If the sequence is empty, that means that all data points look alike. They are formatted using the property values set in the data series.

The indexes in this sequence match the indexes used by the XIndexContainer.

This property is especially useful for large data series with only some formatted data points, because you do not have to iterate over all elements.

*/ [readonly, optional, property] sequence< long > AttributedDataPoints; /** indicates whether this series should be stacked with respect to the previous series. */ [property] StackingDirection StackingDirection; /** If `TRUE`, the data points of this series get different colors by default, like in a pie chart. */ [optional, property] boolean VaryColorsByPoint; /** This property describes whether the series should be shown at the main value axis or at the secondary value axis. Having this property not set or setting it to 0 means that this data series will be scaled at the primary y-axis ( of the coordinate system in which this series is hosted ).

Setting this property to 1 means that this series should be scaled at the secondary y-axis. If there is no secondary axis the main axis should be used for scaling instead.

If you want to scale a series at a different x or z axis you need to create an additional coordinate system and host this series there.

*/ [optional, property] long AttachedAxisIndex; /** This property describes whether the legend entry for the the data series should be shown. @since LibreOffice 6.3 */ [optional, property] boolean ShowLegendEntry; /** A sequence of indexes denoting which data points shouldn't be shown in the legend. @since LibreOffice 7.0 */ [optional, property] sequence DeletedLegendEntries; }; } ; // chart2 } ; // com } ; // sun } ; // star #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */