blob: 132fab4fc6b53f24c6ca1caccbce1cd07c00fa13 [file] [log] [blame]
/**************************************************************
*
* 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
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef com_sun_star_chart2_DataSeries_idl
#define com_sun_star_chart2_DataSeries_idl
#include <com/sun/star/beans/PropertySet.idl>
#include <com/sun/star/container/XIndexContainer.idl>
#include <com/sun/star/container/XContainer.idl>
#include <com/sun/star/style/XStyle.idl>
//#include <com/sun/star/chart2/ChartTypeSupplier.idl>
#include <com/sun/star/chart2/CoordinateSystemSupplier.idl>
#include <com/sun/star/chart2/data/XDataSink.idl>
#include <com/sun/star/chart2/data/XDataSource.idl>
#include <com/sun/star/chart2/data/XDataSeries.idl>
#include <com/sun/star/chart2/XRegressionCurveContainer.idl>
module com
{
module sun
{
module star
{
module chart2
{
// NOTES
// kombinierbarkeit - data series combiner (andere Komponente?)
//
// coordinatesystem-supplier
//
// chart-typ ? property string rendererServiceName
/** reflects the model data of the object that has all the information
for a <type>DataRenderer</type> to create a visible data series in
a chart.
<p>It combines one or more <type>DataSequence</type>s which are
interpreted by evaluating their role-string.</p>
@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.
<p>So, an attribute for a data point comes from one point in
the following hierarchy:</p>
<ul>
<li>default value of data series</li>
<li>value from style of data series (if a style was set)</li>
<li>value from hard attribute of data series (set with setPropertyValue)</li>
<li>value from style of data point (if a style was set)</li>
<li>value from hard attribute of data point (set with setPropertyValue)</li>
</ul>
*/
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.
<p>The objects returned by the
<type scope="com::sun::star::container">XIndexAccess</type>
are of type
<type scope="com::sun::star::beans">XPropertySet</type>
and support the service
<type>DataPoint</type>.
*/
// interface ::com::sun::star::container::XIndexContainer;
/** establishes a broadcaster-listener mechanism for the
<type scope="com::sun::star::container">XIndexContainer</type>
to keep changes and the property
<member>DataSeries::AttributedDataPoints</member> 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.
<p>This service name can be used to determine which DataSeries
are of the same type.</p>
<p>The result of the
<member>DataSeries::DataSequenceRoles</member> depends on the
renderer service set here.</p>
*/
// stored at the DataSeriesGroup now
// [property] string DataRendererServiceName;
/** a sequence of indexes denoting which data points have set
properties that differ from the default.
<p>The default values are determined by the properties set at
the <member>DataPointProperties</member> of the data
series.</p>
<p>If the sequence is empty, that means that all data points
look alike. They are formatted using the propery values set
in the data series.</p>
<p>The indexes in this sequence match the indexes used by the
<type>XIndexContainer</type>.</p>
<p>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.</p>
*/
[readonly, optional, property] sequence< long > AttributedDataPoints;
/** indicates wether 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 wether 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 ).
<p>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.</p>
<p>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.</p>
*/
[optional, property] long AttachedAxisIndex;
};
} ; // chart2
} ; // com
} ; // sun
} ; // star
#endif