summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/chart2
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/chart2')
-rw-r--r--offapi/com/sun/star/chart2/Axis.idl159
-rw-r--r--offapi/com/sun/star/chart2/AxisOrientation.idl42
-rw-r--r--offapi/com/sun/star/chart2/AxisType.idl57
-rw-r--r--offapi/com/sun/star/chart2/CandleStickChartType.idl113
-rw-r--r--offapi/com/sun/star/chart2/CartesianCoordinateSystem2d.idl35
-rw-r--r--offapi/com/sun/star/chart2/CartesianCoordinateSystem3d.idl35
-rw-r--r--offapi/com/sun/star/chart2/ChartDocument.idl81
-rw-r--r--offapi/com/sun/star/chart2/ChartDocumentWrapper.idl61
-rw-r--r--offapi/com/sun/star/chart2/ChartType.idl56
-rw-r--r--offapi/com/sun/star/chart2/ChartTypeManager.idl50
-rw-r--r--offapi/com/sun/star/chart2/ChartTypeTemplate.idl46
-rw-r--r--offapi/com/sun/star/chart2/CoordinateSystem.idl60
-rw-r--r--offapi/com/sun/star/chart2/CoordinateSystemType.idl48
-rw-r--r--offapi/com/sun/star/chart2/CoordinateSystemTypeID.idl35
-rw-r--r--offapi/com/sun/star/chart2/CurveStyle.idl115
-rw-r--r--offapi/com/sun/star/chart2/DataPoint.idl69
-rw-r--r--offapi/com/sun/star/chart2/DataPointCustomLabelField.idl26
-rw-r--r--offapi/com/sun/star/chart2/DataPointCustomLabelFieldType.idl34
-rw-r--r--offapi/com/sun/star/chart2/DataPointGeometry3D.idl60
-rw-r--r--offapi/com/sun/star/chart2/DataPointLabel.idl71
-rw-r--r--offapi/com/sun/star/chart2/DataPointProperties.idl347
-rw-r--r--offapi/com/sun/star/chart2/DataSeries.idl200
-rw-r--r--offapi/com/sun/star/chart2/Diagram.idl129
-rw-r--r--offapi/com/sun/star/chart2/ErrorBar.idl74
-rw-r--r--offapi/com/sun/star/chart2/ExponentialRegressionCurve.idl38
-rw-r--r--offapi/com/sun/star/chart2/ExponentialScaling.idl41
-rw-r--r--offapi/com/sun/star/chart2/FillBitmap.idl100
-rw-r--r--offapi/com/sun/star/chart2/FormattedString.idl33
-rw-r--r--offapi/com/sun/star/chart2/GridProperties.idl53
-rw-r--r--offapi/com/sun/star/chart2/IncrementData.idl83
-rw-r--r--offapi/com/sun/star/chart2/InterpretedData.idl52
-rw-r--r--offapi/com/sun/star/chart2/Legend.idl102
-rw-r--r--offapi/com/sun/star/chart2/LegendPosition.idl63
-rw-r--r--offapi/com/sun/star/chart2/LightSource.idl58
-rw-r--r--offapi/com/sun/star/chart2/LinearRegressionCurve.idl38
-rw-r--r--offapi/com/sun/star/chart2/LinearScaling.idl42
-rw-r--r--offapi/com/sun/star/chart2/LogarithmicRegressionCurve.idl38
-rw-r--r--offapi/com/sun/star/chart2/LogarithmicScaling.idl40
-rw-r--r--offapi/com/sun/star/chart2/LogicTargetModel.idl59
-rw-r--r--offapi/com/sun/star/chart2/MovingAverageRegressionCurve.idl38
-rw-r--r--offapi/com/sun/star/chart2/PieChartOffsetMode.idl54
-rw-r--r--offapi/com/sun/star/chart2/PolarCoordinateSystem2d.idl35
-rw-r--r--offapi/com/sun/star/chart2/PolarCoordinateSystem3d.idl35
-rw-r--r--offapi/com/sun/star/chart2/PolynomialRegressionCurve.idl38
-rw-r--r--offapi/com/sun/star/chart2/PotentialRegressionCurve.idl38
-rw-r--r--offapi/com/sun/star/chart2/PowerScaling.idl41
-rw-r--r--offapi/com/sun/star/chart2/PropertyPool.idl62
-rw-r--r--offapi/com/sun/star/chart2/RegressionCurve.idl51
-rw-r--r--offapi/com/sun/star/chart2/RegressionCurveEquation.idl62
-rw-r--r--offapi/com/sun/star/chart2/RegressionEquation.idl35
-rw-r--r--offapi/com/sun/star/chart2/RelativePosition.idl80
-rw-r--r--offapi/com/sun/star/chart2/RelativeSize.idl78
-rw-r--r--offapi/com/sun/star/chart2/ScaleData.idl111
-rw-r--r--offapi/com/sun/star/chart2/Scaling.idl37
-rw-r--r--offapi/com/sun/star/chart2/StackingDirection.idl46
-rw-r--r--offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl56
-rw-r--r--offapi/com/sun/star/chart2/SubIncrement.idl45
-rw-r--r--offapi/com/sun/star/chart2/Symbol.idl104
-rw-r--r--offapi/com/sun/star/chart2/SymbolStyle.idl63
-rw-r--r--offapi/com/sun/star/chart2/TickmarkStyle.idl55
-rw-r--r--offapi/com/sun/star/chart2/Title.idl85
-rw-r--r--offapi/com/sun/star/chart2/TransparencyStyle.idl56
-rw-r--r--offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl88
-rw-r--r--offapi/com/sun/star/chart2/XAxis.idl68
-rw-r--r--offapi/com/sun/star/chart2/XChartDocument.idl139
-rw-r--r--offapi/com/sun/star/chart2/XChartShape.idl88
-rw-r--r--offapi/com/sun/star/chart2/XChartShapeContainer.idl49
-rw-r--r--offapi/com/sun/star/chart2/XChartType.idl94
-rw-r--r--offapi/com/sun/star/chart2/XChartTypeContainer.idl68
-rw-r--r--offapi/com/sun/star/chart2/XChartTypeManager.idl47
-rw-r--r--offapi/com/sun/star/chart2/XChartTypeTemplate.idl215
-rw-r--r--offapi/com/sun/star/chart2/XColorScheme.idl61
-rw-r--r--offapi/com/sun/star/chart2/XCoordinateSystem.idl84
-rw-r--r--offapi/com/sun/star/chart2/XCoordinateSystemContainer.idl68
-rw-r--r--offapi/com/sun/star/chart2/XDataInterpreter.idl99
-rw-r--r--offapi/com/sun/star/chart2/XDataPointCustomLabelField.idl43
-rw-r--r--offapi/com/sun/star/chart2/XDataProviderAccess.idl40
-rw-r--r--offapi/com/sun/star/chart2/XDataSeries.idl72
-rw-r--r--offapi/com/sun/star/chart2/XDataSeriesContainer.idl68
-rw-r--r--offapi/com/sun/star/chart2/XDefaultSizeTransmitter.idl53
-rw-r--r--offapi/com/sun/star/chart2/XDiagram.idl103
-rw-r--r--offapi/com/sun/star/chart2/XDiagramProvider.idl52
-rw-r--r--offapi/com/sun/star/chart2/XFormattedString.idl48
-rw-r--r--offapi/com/sun/star/chart2/XFormattedString2.idl55
-rw-r--r--offapi/com/sun/star/chart2/XInternalDataProvider.idl89
-rw-r--r--offapi/com/sun/star/chart2/XLabeled.idl61
-rw-r--r--offapi/com/sun/star/chart2/XLegend.idl47
-rw-r--r--offapi/com/sun/star/chart2/XRegressionCurve.idl51
-rw-r--r--offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl182
-rw-r--r--offapi/com/sun/star/chart2/XRegressionCurveContainer.idl69
-rw-r--r--offapi/com/sun/star/chart2/XScaling.idl59
-rw-r--r--offapi/com/sun/star/chart2/XTarget.idl43
-rw-r--r--offapi/com/sun/star/chart2/XTimeBased.idl39
-rw-r--r--offapi/com/sun/star/chart2/XTitle.idl48
-rw-r--r--offapi/com/sun/star/chart2/XTitled.idl55
-rw-r--r--offapi/com/sun/star/chart2/XTransformation.idl89
-rw-r--r--offapi/com/sun/star/chart2/data/DataFilter.idl62
-rw-r--r--offapi/com/sun/star/chart2/data/DataProvider.idl61
-rw-r--r--offapi/com/sun/star/chart2/data/DataSequence.idl148
-rw-r--r--offapi/com/sun/star/chart2/data/DataSequenceRole.idl102
-rw-r--r--offapi/com/sun/star/chart2/data/DataSink.idl54
-rw-r--r--offapi/com/sun/star/chart2/data/DataSource.idl54
-rw-r--r--offapi/com/sun/star/chart2/data/DatabaseDataProvider.idl38
-rw-r--r--offapi/com/sun/star/chart2/data/HighlightedRange.idl66
-rw-r--r--offapi/com/sun/star/chart2/data/LabelOrigin.idl86
-rw-r--r--offapi/com/sun/star/chart2/data/LabeledDataSequence.idl49
-rw-r--r--offapi/com/sun/star/chart2/data/PivotTableFieldEntry.idl60
-rw-r--r--offapi/com/sun/star/chart2/data/RangeHighlightListener.idl52
-rw-r--r--offapi/com/sun/star/chart2/data/RangeHighlighter.idl48
-rw-r--r--offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl153
-rw-r--r--offapi/com/sun/star/chart2/data/XDataProvider.idl158
-rw-r--r--offapi/com/sun/star/chart2/data/XDataReceiver.idl106
-rw-r--r--offapi/com/sun/star/chart2/data/XDataSequence.idl132
-rw-r--r--offapi/com/sun/star/chart2/data/XDataSink.idl71
-rw-r--r--offapi/com/sun/star/chart2/data/XDataSource.idl76
-rw-r--r--offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl206
-rw-r--r--offapi/com/sun/star/chart2/data/XLabeledDataSequence.idl73
-rw-r--r--offapi/com/sun/star/chart2/data/XLabeledDataSequence2.idl76
-rw-r--r--offapi/com/sun/star/chart2/data/XNumericalDataSequence.idl54
-rw-r--r--offapi/com/sun/star/chart2/data/XPivotTableDataProvider.idl83
-rw-r--r--offapi/com/sun/star/chart2/data/XRangeHighlighter.idl64
-rw-r--r--offapi/com/sun/star/chart2/data/XRangeXMLConversion.idl66
-rw-r--r--offapi/com/sun/star/chart2/data/XSheetDataProvider.idl36
-rw-r--r--offapi/com/sun/star/chart2/data/XTextualDataSequence.idl53
124 files changed, 8969 insertions, 0 deletions
diff --git a/offapi/com/sun/star/chart2/Axis.idl b/offapi/com/sun/star/chart2/Axis.idl
new file mode 100644
index 000000000..678d9a9a5
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Axis.idl
@@ -0,0 +1,159 @@
+/* -*- 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_Axis_idl
+#define com_sun_star_chart2_Axis_idl
+
+#include <com/sun/star/beans/PropertySet.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/chart/ChartAxisArrangeOrderType.idl>
+#include <com/sun/star/chart/ChartAxisPosition.idl>
+#include <com/sun/star/chart/ChartAxisLabelPosition.idl>
+#include <com/sun/star/chart/ChartAxisMarkPosition.idl>
+#include <com/sun/star/chart2/XAxis.idl>
+#include <com/sun/star/chart2/XTitled.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/style/CharacterProperties.idl>
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service Axis
+{
+ service ::com::sun::star::drawing::LineProperties;
+
+ service ::com::sun::star::style::CharacterProperties;
+ service ::com::sun::star::beans::PropertySet;
+ [optional] service ::com::sun::star::style::CharacterPropertiesAsian;
+ [optional] service ::com::sun::star::style::CharacterPropertiesComplex;
+
+ interface ::com::sun::star::chart2::XAxis;
+ [optional] interface ::com::sun::star::chart2::XTitled;
+
+ /** Determines, whether the axis should be rendered by the view.
+ */
+ [property] boolean Show;
+
+ /** Determines where the axis crosses the other axis.
+ */
+ [optional, property] com::sun::star::chart::ChartAxisPosition CrossoverPosition;
+
+ /** Determines the scale value on the other axis when CrossoverPosition is set to VALUE.
+ */
+ [optional, property] double CrossoverValue;
+
+ /** Determines whether to display text at the axis or not.
+ */
+ [property] boolean DisplayLabels;
+
+ /** Determines where the axis labels are placed.
+ */
+ [optional, property] com::sun::star::chart::ChartAxisLabelPosition LabelPosition;
+
+ /** Determines how to stagger the labels at the axis (side by side, even, odd, auto )
+ */
+ [property] ::com::sun::star::chart::ChartAxisArrangeOrderType ArrangeOrder;
+
+ /** Determines whether the labels are allowed to break into more than one line
+ */
+ [property] boolean TextBreak;
+
+ /** Determines whether the labels are allowed to overlap
+ */
+ [property] boolean TextOverlap;
+
+ /** Determines whether the characters in a single labels should be stacked one upon each other
+ */
+ [property] boolean StackCharacters;
+
+ /** Determines the rotation of the text labels in degrees
+ */
+ [property] double TextRotation;
+
+ /** A NumberFormat key.
+
+ <p>If this property is not set, it is treated as auto. This
+ means linked to the source format.</p>
+
+ <p>To determine a source format, the axis can query the
+ XDataSequences used by the data series attached
+ to it (see XDataSequence::getNumberFormatKeyByIndex()).
+ </p>
+ */
+ [property, maybevoid] long NumberFormat;
+
+ [property] ::com::sun::star::awt::Size ReferencePageSize;
+
+ /** determines what kind of tickmarks should be shown for major ticks.
+
+ @see TickmarkStyle.
+ */
+ [property] long MajorTickmarks;
+
+ /** determines what kind of tickmarks should be shown for minor ticks.
+
+ @see TickmarkStyle.
+ */
+ [property] long MinorTickmarks;
+
+ /** Determines where the interval marks are placed.
+ */
+ [optional, property] com::sun::star::chart::ChartAxisMarkPosition MarkPosition;
+
+ /** Determines display units are available for axis
+
+ @since LibreOffice 4.3
+ */
+ [optional, property] boolean DisplayUnits;
+
+ /** Determines built in display unit value for axis
+
+ @since LibreOffice 4.3
+ */
+ [optional, property] string BuiltInUnit;
+
+ /** Compatibility option: determines which strategy should be tried first for fixing axis labels overlapping issues
+
+ @since LibreOffice 5.1
+ */
+ [optional, property] boolean TryStaggeringFirst;
+
+ /** This attribute specifies the shift of the first major tick from the origin.
+
+ @since LibreOffice 7.0
+ */
+ [optional, property] long MajorOrigin;
+
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/AxisOrientation.idl b/offapi/com/sun/star/chart2/AxisOrientation.idl
new file mode 100644
index 000000000..a37c8e828
--- /dev/null
+++ b/offapi/com/sun/star/chart2/AxisOrientation.idl
@@ -0,0 +1,42 @@
+/* -*- 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_AxisOrientation_idl
+#define com_sun_star_chart2_AxisOrientation_idl
+
+
+module com { module sun { module star { module chart2 {
+
+
+enum AxisOrientation
+{
+ /** means equal to the primary writing direction
+ */
+ MATHEMATICAL,
+
+ /** means the opposite of the primary writing direction
+ */
+ REVERSE
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/AxisType.idl b/offapi/com/sun/star/chart2/AxisType.idl
new file mode 100644
index 000000000..291e38015
--- /dev/null
+++ b/offapi/com/sun/star/chart2/AxisType.idl
@@ -0,0 +1,57 @@
+/* -*- 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_AxisType_idl
+#define com_sun_star_chart2_AxisType_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+constants AxisType
+{
+ /** the axis represent real numbers
+ */
+ const long REALNUMBER = 0;
+ /** the axis represent real numbers in percent
+ */
+ const long PERCENT = 1;
+ /** the axis represent discrete categories
+ */
+ const long CATEGORY = 2;
+ /** the axis shows the series names (z axis)
+ */
+ const long SERIES = 3;
+ /** the axis shows dates
+ */
+ const long DATE = 4;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/CandleStickChartType.idl b/offapi/com/sun/star/chart2/CandleStickChartType.idl
new file mode 100644
index 000000000..4399bc440
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CandleStickChartType.idl
@@ -0,0 +1,113 @@
+/* -*- 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_CandleStickChartType_idl
+#define com_sun_star_chart2_CandleStickChartType_idl
+
+#include <com/sun/star/chart2/ChartType.idl>
+#include <com/sun/star/beans/PropertySet.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** chart type service for candlestick charts.
+ */
+service CandleStickChartType
+{
+ /** The base service describing generic chart types.
+ */
+ service ChartType;
+
+ /** If this property is `TRUE`, the candlesticks are shown as
+ Japanese candlesticks. This implies that the property
+ #ShowFirst is also `TRUE`.
+
+ <p>Japanese candlesticks show the first and last value as
+ boxes. A rising course (i.e. if the last value is greater
+ than the first one) is shown by a white box. A falling course
+ is shown by a black box.</p>
+
+ <p>Default is `FALSE`.</p>
+
+ @see WhiteDay
+ @see BlackDay
+ */
+ [maybedefault, property] boolean Japanese;
+
+ /** If the candlestick chart shows Japanese candlesticks, that is
+ the property #Japanese is `TRUE`, the
+ property set given here contains the formatting attributes of
+ the white boxes, i.e. the boxes shown for rising values.</p>
+
+ <p>The com::sun::star::beans::XPropertySet
+ given here must support the services
+ com::sun::star::drawing::FillProperties
+ and
+ com::sun::star::drawing::LineProperties.</p>
+ */
+ [maybevoid, property] com::sun::star::beans::XPropertySet WhiteDay;
+
+ /** If the candlestick chart shows Japanese candlesticks, that is
+ the property #Japanese is `TRUE`, the
+ property set given here contains the formatting attributes of
+ the black boxes, i.e. the boxes shown for falling values.</p>
+
+ <p>The com::sun::star::beans::XPropertySet
+ given here must support the services
+ com::sun::star::drawing::FillProperties
+ and
+ com::sun::star::drawing::LineProperties.</p>
+ */
+ [maybevoid, property] com::sun::star::beans::XPropertySet BlackDay;
+
+ /** If this property is `TRUE`, the first value (which would be
+ the opening course in a stock chart) is shown in the chart.
+ This also makes the role "values-first" mandatory.
+
+ <p>This property is only evaluated for non-Japanese
+ candlestick charts, as Japanese candlesticks always require to
+ show the first value.</p>
+
+ <p>Default is `FALSE`.</p>
+ */
+ [maybedefault, property] boolean ShowFirst;
+
+ /** If this property is `TRUE`, the low and high values are shown
+ in the chart. This also makes the roles "values-min" and
+ "values-max" mandatory.
+
+ <p>Default is `TRUE`.</p>
+ */
+ [maybedefault, property] boolean ShowHighLow;
+};
+
+} ; // chart2
+} ; // star
+} ; // sun
+} ; // com
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/CartesianCoordinateSystem2d.idl b/offapi/com/sun/star/chart2/CartesianCoordinateSystem2d.idl
new file mode 100644
index 000000000..c547575bf
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CartesianCoordinateSystem2d.idl
@@ -0,0 +1,35 @@
+/* -*- 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_CartesianCoordinateSystem2d_idl
+#define com_sun_star_chart2_CartesianCoordinateSystem2d_idl
+
+#include <com/sun/star/chart2/XCoordinateSystem.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ @since LibreOffice 4.1
+ */
+service CartesianCoordinateSystem2d : XCoordinateSystem;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/CartesianCoordinateSystem3d.idl b/offapi/com/sun/star/chart2/CartesianCoordinateSystem3d.idl
new file mode 100644
index 000000000..05f475220
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CartesianCoordinateSystem3d.idl
@@ -0,0 +1,35 @@
+/* -*- 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_CartesianCoordinateSystem3d_idl
+#define com_sun_star_chart2_CartesianCoordinateSystem3d_idl
+
+#include <com/sun/star/chart2/XCoordinateSystem.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ @since LibreOffice 4.1
+ */
+service CartesianCoordinateSystem3d : XCoordinateSystem;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ChartDocument.idl b/offapi/com/sun/star/chart2/ChartDocument.idl
new file mode 100644
index 000000000..8d98c205c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ChartDocument.idl
@@ -0,0 +1,81 @@
+/* -*- 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_ChartDocument_idl
+#define com_sun_star_chart2_ChartDocument_idl
+
+#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#include <com/sun/star/chart2/XChartDocument.idl>
+#include <com/sun/star/chart2/data/XDataReceiver.idl>
+#include <com/sun/star/chart2/XTitled.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service ChartDocument
+{
+ /** this interface is derived from
+ com::sun::star::frame::XModel. Thus model
+ functionality is available via this interface.
+ */
+ interface XChartDocument;
+
+ /** offers connection to data
+ */
+ interface data::XDataReceiver;
+
+ /** gives access to the main title of a chart document
+ */
+ interface XTitled;
+
+ /** maintains all style families applying to any object in the
+ chart.
+ */
+ interface ::com::sun::star::style::XStyleFamiliesSupplier;
+
+ /** maintains all number formats used anywhere in the chart.
+ */
+ interface ::com::sun::star::util::XNumberFormatsSupplier;
+
+ /** Allows passing arguments to createInstanceWithArguments.
+
+ <p>The following arguments are allowed in the given order:</p>
+
+ <ol>
+ <li>string Name</li>
+ </ol>
+ */
+ [optional] interface ::com::sun::star::lang::XInitialization;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ChartDocumentWrapper.idl b/offapi/com/sun/star/chart2/ChartDocumentWrapper.idl
new file mode 100644
index 000000000..acfbc7634
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ChartDocumentWrapper.idl
@@ -0,0 +1,61 @@
+/* -*- 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_ChartDocumentWrapper_idl
+#define com_sun_star_chart2_ChartDocumentWrapper_idl
+
+#include <com/sun/star/chart/ChartDocument.idl>
+#include <com/sun/star/uno/XAggregation.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** A component that implements the
+ ::com::sun::star::chart::ChartDocument service and
+ is initialized with a
+ ::com::sun::star::chart2::ChartDocument via
+ the ::com::sun::star::uno::XAggregation interface.
+ */
+service ChartDocumentWrapper
+{
+ /** This service will be available for a
+ ChartDocument (of namespace chart2) through this
+ wrapper.
+ */
+ service ::com::sun::star::chart::ChartDocument;
+
+ /** provides the possibility to forward requests to a
+ ChartDocument.
+ */
+ interface ::com::sun::star::uno::XAggregation;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ChartType.idl b/offapi/com/sun/star/chart2/ChartType.idl
new file mode 100644
index 000000000..e56b5fa8b
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ChartType.idl
@@ -0,0 +1,56 @@
+/* -*- 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_ChartType_idl
+#define com_sun_star_chart2_ChartType_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/chart2/XChartType.idl>
+#include <com/sun/star/chart2/XDataSeriesContainer.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** ChartType service
+ */
+service ChartType
+{
+ interface XChartType;
+
+ interface XDataSeriesContainer;
+
+ /** provides chart-type-specific properties
+ */
+ [optional] interface com::sun::star::beans::XPropertySet;
+};
+
+} ; // chart2
+} ; // star
+} ; // sun
+} ; // com
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ChartTypeManager.idl b/offapi/com/sun/star/chart2/ChartTypeManager.idl
new file mode 100644
index 000000000..cba0f3fed
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ChartTypeManager.idl
@@ -0,0 +1,50 @@
+/* -*- 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_ChartTypeManager_idl
+#define com_sun_star_chart2_ChartTypeManager_idl
+
+#include <com/sun/star/lang/MultiServiceFactory.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** A factory for creating ChartTypeTemplates.
+ */
+service ChartTypeManager
+{
+ /** A factory for creating objects the support the service
+ ChartTypeTemplate.
+ */
+ service ::com::sun::star::lang::MultiServiceFactory;
+};
+
+} ; // chart2
+} ; // star
+} ; // sun
+} ; // com
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ChartTypeTemplate.idl b/offapi/com/sun/star/chart2/ChartTypeTemplate.idl
new file mode 100644
index 000000000..e2f74c2ba
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ChartTypeTemplate.idl
@@ -0,0 +1,46 @@
+/* -*- 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_ChartTypeTemplate_idl
+#define com_sun_star_chart2_ChartTypeTemplate_idl
+
+#include <com/sun/star/chart2/XChartTypeTemplate.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service ChartTypeTemplate
+{
+ interface ::com::sun::star::chart2::XChartTypeTemplate;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/CoordinateSystem.idl b/offapi/com/sun/star/chart2/CoordinateSystem.idl
new file mode 100644
index 000000000..8059c31c1
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CoordinateSystem.idl
@@ -0,0 +1,60 @@
+/* -*- 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_CoordinateSystem_idl
+#define com_sun_star_chart2_CoordinateSystem_idl
+
+#include <com/sun/star/util/XCloneable.idl>
+#include <com/sun/star/chart2/XChartTypeContainer.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service CoordinateSystem
+{
+ interface XCoordinateSystem;
+
+ /** a coordinate system can contain several chart types, which then do contain the data series.
+ */
+ interface com::sun::star::chart2::XChartTypeContainer;
+
+ /** creates a new CoordinateSystem that contains the same
+ members like the original object. Note that the contained
+ XScales are still the same objects, i.e. those are not cloned.
+ */
+ [optional] interface com::sun::star::util::XCloneable;
+
+ [optional, property] boolean SwapXAndYAxis;
+};
+
+} ; // chart2
+} ; // star
+} ; // sun
+} ; // com
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/CoordinateSystemType.idl b/offapi/com/sun/star/chart2/CoordinateSystemType.idl
new file mode 100644
index 000000000..f7ed60bd2
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CoordinateSystemType.idl
@@ -0,0 +1,48 @@
+/* -*- 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_CoordinateSystemType_idl
+#define com_sun_star_chart2_CoordinateSystemType_idl
+
+
+module com { module sun { module star { module chart2 {
+
+/**
+<p>
+The service CoordinateSystemType represents a special type of coordinate system.
+For example a 2 dimensional Cartesian coordinate system is a CoordinateSystemType
+and different from for example a 3 dimensional spherical coordinate system.
+</p>
+<p>A CoordinateSystemType is a stateless service which has no owner and does not
+enable cyclic references, thus its lifetime can be handled by reference or it
+may be implemented as a singleton.</p>
+*/
+
+service CoordinateSystemType
+{
+ /** required interface
+ */
+// interface ::com::sun::star::chart2::XCoordinateSystemType;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/CoordinateSystemTypeID.idl b/offapi/com/sun/star/chart2/CoordinateSystemTypeID.idl
new file mode 100644
index 000000000..7d8f9fa4e
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CoordinateSystemTypeID.idl
@@ -0,0 +1,35 @@
+/* -*- 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_CoordinateSystemTypeID_idl
+#define com_sun_star_chart2_CoordinateSystemTypeID_idl
+
+
+
+module com { module sun { module star { module chart2 {
+
+
+typedef string CoordinateSystemTypeID;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/CurveStyle.idl b/offapi/com/sun/star/chart2/CurveStyle.idl
new file mode 100644
index 000000000..605477620
--- /dev/null
+++ b/offapi/com/sun/star/chart2/CurveStyle.idl
@@ -0,0 +1,115 @@
+/* -*- 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_CurveStyle_idl
+#define com_sun_star_chart2_CurveStyle_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Sets the type of curves that are drawn for line charts.
+ */
+enum CurveStyle
+{
+ /** Lines between data points are not smoothed
+ */
+ LINES,
+
+ /** Data points are connected via a smoothed cubic spline curve.
+ The data points themselves are part of to the curve.
+ */
+ CUBIC_SPLINES,
+
+ /** Data points are connected via a parametric, interpolating
+ B-spline curve.
+ */
+ B_SPLINES,
+
+ /**
+ * Non-uniform rational b-splines
+ */
+ NURBS,
+
+ /** Data points are connected via a 2-segmented stepped line.
+ The line starts horizontally.
+
+ \verbatim
+ O
+ |
+ |
+ |
+ O-----+
+ \endverbatim
+ */
+ STEP_START,
+
+ /** Data points are connected via a 2-segmented stepped line.
+ The line ends horizontally.
+
+ \verbatim
+ +------O
+ |
+ |
+ |
+ O
+ \endverbatim
+ */
+ STEP_END,
+
+ /** Data points are connected via a 3-segmented stepped line.
+ The lines is horizontal till the center of the X values.
+
+ \verbatim
+ +--O
+ |
+ |
+ |
+ O--+
+ \endverbatim
+ */
+ STEP_CENTER_X,
+
+ /** Data points are connected via a 3-segmented stepped line.
+ The lines is horizontal at the center of the Y values.
+
+ \verbatim
+ O
+ |
+ +-----+
+ |
+ O
+ \endverbatim
+ */
+ STEP_CENTER_Y
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/DataPoint.idl b/offapi/com/sun/star/chart2/DataPoint.idl
new file mode 100644
index 000000000..f3810f9e7
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPoint.idl
@@ -0,0 +1,69 @@
+/* -*- 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_DataPoint_idl
+#define com_sun_star_chart2_DataPoint_idl
+
+#include <com/sun/star/style/CharacterProperties.idl>
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#include <com/sun/star/style/XStyle.idl>
+#include <com/sun/star/chart2/DataPointProperties.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service DataPoint
+{
+ service DataPointProperties;
+
+ service ::com::sun::star::style::CharacterProperties;
+ [optional] service ::com::sun::star::style::CharacterPropertiesAsian;
+ [optional] service ::com::sun::star::style::CharacterPropertiesComplex;
+
+
+ /** this property handles the style. This property must support
+ the service com::sun::star::style::Style.
+
+ <p>It should provide templates for all properties in this
+ service, thus it must also support DataPoint.</p>
+ */
+// [property] ::com::sun::star::style::XStyle Style;
+
+ /** Gives the offset of the data point. For PieDiagrams this
+ would be the percentage by which pies are dragged out of the
+ cake.
+ */
+ [optional, property] double Offset;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/DataPointCustomLabelField.idl b/offapi/com/sun/star/chart2/DataPointCustomLabelField.idl
new file mode 100644
index 000000000..cebe1c327
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPointCustomLabelField.idl
@@ -0,0 +1,26 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * 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/.
+ */
+
+#ifndef com_sun_star_chart2_DataPointCustomLabelField_idl
+#define com_sun_star_chart2_DataPointCustomLabelField_idl
+
+#include <com/sun/star/chart2/XDataPointCustomLabelField.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ @since LibreOffice 6.1
+*/
+service DataPointCustomLabelField : XDataPointCustomLabelField;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ \ No newline at end of file
diff --git a/offapi/com/sun/star/chart2/DataPointCustomLabelFieldType.idl b/offapi/com/sun/star/chart2/DataPointCustomLabelFieldType.idl
new file mode 100644
index 000000000..05c26a738
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPointCustomLabelFieldType.idl
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * 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/.
+ */
+
+#ifndef com_sun_star_chart2_DataPointCustomLabelFieldType_idl
+#define com_sun_star_chart2_DataPointCustomLabelFieldType_idl
+
+module com { module sun { module star { module chart2 {
+
+/** The Field type enumeration for custom data point labels.
+
+ @since LibreOffice 6.1
+ */
+enum DataPointCustomLabelFieldType
+{
+ TEXT,
+ VALUE,
+ SERIESNAME,
+ CATEGORYNAME,
+ CELLREF,
+ NEWLINE,
+ PERCENTAGE
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/chart2/DataPointGeometry3D.idl b/offapi/com/sun/star/chart2/DataPointGeometry3D.idl
new file mode 100644
index 000000000..4281c8583
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPointGeometry3D.idl
@@ -0,0 +1,60 @@
+/* -*- 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_datapointgeometry3d_idl__
+#define __com_sun_star_chart2_datapointgeometry3d_idl__
+
+
+
+ module com { module sun { module star { module chart2 {
+
+
+/** These values specify the geometry of data points in
+ 3D bar charts.
+ */
+constants DataPointGeometry3D
+{
+
+ /** a cuboid
+ */
+ const long CUBOID = 0;
+
+
+ /** a cylinder with a circle as base
+ */
+ const long CYLINDER = 1;
+
+
+ /** a cone with a circle as base
+ */
+ const long CONE = 2;
+
+
+ /** a pyramid with a square as base
+ */
+ const long PYRAMID = 3;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/DataPointLabel.idl b/offapi/com/sun/star/chart2/DataPointLabel.idl
new file mode 100644
index 000000000..5963e8dd9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPointLabel.idl
@@ -0,0 +1,71 @@
+/* -*- 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_DataPointLabel_idl
+#define com_sun_star_chart2_DataPointLabel_idl
+
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+struct DataPointLabel
+{
+ /** if `TRUE`, the value that is represented by a data point is
+ displayed next to it.
+
+ @see #ShowNumberInPercent
+ */
+ boolean ShowNumber;
+
+ /** This is only effective, if #ShowNumber is
+ `TRUE`. If this member is also `TRUE`, the numbers are
+ displayed as percentages of a category.
+
+ <p>That means, if a data point is the first one of a series,
+ the percentage is calculated by using the first data points of
+ all available series.</p>
+ */
+ boolean ShowNumberInPercent;
+
+ /** The caption contains the category name of the category to
+ which a data point belongs.
+ */
+ boolean ShowCategoryName;
+
+ /** The symbol of data series is additionally displayed in the
+ caption.
+ */
+ boolean ShowLegendSymbol;
+};
+
+
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/DataPointProperties.idl b/offapi/com/sun/star/chart2/DataPointProperties.idl
new file mode 100644
index 000000000..4588b5bb9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPointProperties.idl
@@ -0,0 +1,347 @@
+/* -*- 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_DataPointProperties_idl
+#define com_sun_star_chart2_DataPointProperties_idl
+
+#include <com/sun/star/beans/PropertySet.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+#include <com/sun/star/awt/Gradient.idl>
+#include <com/sun/star/style/XStyle.idl>
+#include <com/sun/star/drawing/Hatch.idl>
+#include <com/sun/star/drawing/LineDash.idl>
+#include <com/sun/star/drawing/BitmapMode.idl>
+#include <com/sun/star/drawing/FillStyle.idl>
+#include <com/sun/star/drawing/LineStyle.idl>
+#include <com/sun/star/drawing/RectanglePoint.idl>
+#include <com/sun/star/chart2/DataPointLabel.idl>
+#include <com/sun/star/chart2/Symbol.idl>
+#include <com/sun/star/chart2/XFormattedString2.idl>
+#include <com/sun/star/chart2/RelativePosition.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service DataPointProperties
+{
+ /** to give access to the properties required by this service.
+ */
+ service ::com::sun::star::beans::PropertySet;
+
+ /** to give access to the fill properties
+
+ Note that there is access for some of them
+ through some alias.
+
+ @since LibreOffice 5.1
+ */
+ service ::com::sun::star::drawing::FillProperties;
+
+
+ /** points to a style that also supports this service (but not
+ this property) that is used as default, if the PropertyState
+ of a property is <code>DEFAULT_VALUE</code>.
+ */
+// [optional, property] ::com::sun::star::style::XStyle Style;
+
+ // Common Properties
+
+
+ /** This is the main color of a data point.
+
+ <p>For charts with filled areas, like bar-charts, this should
+ map to the <code>FillColor</code> of the objects. For
+ line-charts this should map to the <code>LineColor</code>
+ property.</p>
+
+ @see com::sun::star::drawing::FillProperties
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] long Color;
+
+ /** This is the main transparency value of a data point.
+
+ <p>For charts with filled areas, like bar-charts, this should
+ map to the <code>FillTransparence</code> of the objects. For
+ line-charts this should map to the
+ <code>LineTransparence</code> property.</p>
+
+ @see com::sun::star::drawing::FillProperties
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] short Transparency;
+
+
+ // Fill Properties
+
+ /** This enumeration selects the style with which the area will be filled.
+ */
+ [property] ::com::sun::star::drawing::FillStyle FillStyle;
+
+ /** This describes the transparency of the fill area as a gradient.
+ */
+ [optional, property] ::com::sun::star::awt::Gradient TransparencyGradient;
+ [optional, property] ::com::sun::star::awt::Gradient Gradient;
+ [optional, property] ::com::sun::star::drawing::Hatch Hatch;
+
+ [property] string TransparencyGradientName;
+ [property] string GradientName;
+ [property] string HatchName;
+ [property] string FillBitmapName;
+
+ /** If `TRUE`, fills the background of a hatch with the color
+ given in the #Color property.
+ */
+ [property] boolean FillBackground;
+
+ /** Is used for borders around filled objects. See
+ <code>LineColor</code>.
+
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] long BorderColor;
+ /** Is used for borders around filled objects. See
+ <code>LineStyle</code>.
+
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] ::com::sun::star::drawing::LineStyle BorderStyle;
+ /** Is used for borders around filled objects. See
+ <code>LineWidth</code>.
+
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] long BorderWidth;
+ /** Is used for borders around filled objects. See
+ <code>LineDash</code>.
+
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] ::com::sun::star::drawing::LineDash BorderDash;
+
+ /** The name of a dash that can be found in the
+ com::sun::star::container::XNameContainer
+ "com.sun.star.drawing.LineDashTable", that can be created via
+ the
+ com::sun::star::uno::XMultiServiceFactory
+ of the ChartDocument.
+ */
+ [optional, property] string BorderDashName;
+
+ /** Is used for borders around filled objects. See
+ <code>LineTransparence</code>.
+
+ @see com::sun::star::drawing::LineProperties
+ */
+ [optional, property] short BorderTransparency;
+
+
+ // Line Properties
+ [property] ::com::sun::star::drawing::LineStyle LineStyle;
+ /** Is only used for line-chart types.
+
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] long LineWidth;
+ /** Is only used for line-chart types.
+
+ @see com::sun::star::drawing::LineProperties
+ */
+ [property] ::com::sun::star::drawing::LineDash LineDash;
+
+ /** The name of a dash that can be found in the
+ com::sun::star::container::XNameContainer
+ "com.sun.star.drawing.LineDashTable", that can be created via
+ the
+ com::sun::star::uno::XMultiServiceFactory
+ of the ChartDocument.
+ */
+ [optional, property] string LineDashName;
+
+
+ // bitmap properties /copied from drawing::FillProperties
+
+ /** This is the horizontal offset where the tile starts.
+
+ <p>It is given in percent in relation to the width of the bitmap.
+ */
+ [property] short FillBitmapOffsetX;
+
+ /** This is the vertical offset where the tile starts.
+
+ It is given in percent in relation to the width of the bitmap.
+ */
+ [property] short FillBitmapOffsetY;
+
+ /** Every second line of tiles is moved the given percent of the
+ width of the bitmap.
+ */
+ [property] short FillBitmapPositionOffsetX;
+
+ /** Every second row of tiles is moved the given percent of the
+ width of the bitmap.
+ */
+ [property] short FillBitmapPositionOffsetY;
+
+ /** The RectanglePoint specifies the position inside of the bitmap to
+ use as the top left position for rendering.
+ */
+ [property] com::sun::star::drawing::RectanglePoint FillBitmapRectanglePoint;
+
+ /** specifies if the size is given in percentage or
+ as an absolute value.
+
+ <p>If this is `TRUE`, the properties FillBitmapSizeX
+ and FillBitmapSizeY contain the size of the tile in percent
+ of the size of the original bitmap. If this
+ is `FALSE`, the size of the tile is specified
+ with 1/100th mm.
+ */
+ [property] boolean FillBitmapLogicalSize;
+
+ /** This is the width of the tile for filling.
+
+ <p>Depending on the property FillBitmapLogicalSize, this is
+ either relative or absolute.
+ */
+ [property] long FillBitmapSizeX;
+
+ /** This is the height of the tile for filling.
+
+ <p>Depending on the property FillBitmapLogicalSize, this
+ is either relative or absolute.
+ */
+ [property] long FillBitmapSizeY;
+
+ /** this enum selects how an area is filled with a single bitmap.
+ */
+ [property] com::sun::star::drawing::BitmapMode FillBitmapMode;
+
+
+ /**
+ */
+ [optional, property] Symbol Symbol;
+
+ /** describes a value by which a data point is moved from its
+ default position in percent of the maximum allowed distance.
+
+ <p>This is especially useful for the explosion of pie-chart
+ segments.</p>
+ */
+ [optional, property] double Offset;
+
+ /** describes the geometry of a 3 dimensional data point.
+ Number is one of constant group DataPointGeometry3D.
+ <p>This is especially used for 3D bar-charts.</p>
+ <p>CUBOID==0 CYLINDER==1 CONE==2 PYRAMID==3 CUBOID==else</p>
+ */
+ [optional, property] long Geometry3D;
+
+ [property] DataPointLabel Label;
+
+ /** specifies a text with possible fields that is used as a data point label,
+ if set then Label property is ignored
+
+ @since LibreOffice 6.1
+ */
+ [optional, property] sequence<XDataPointCustomLabelField> CustomLabelFields;
+
+ /** specifies a string that is used to separate the parts of a data label (caption)
+ */
+ [optional, property] string LabelSeparator;
+
+ /** specifies if the text of a data label (caption) must be wrapped
+
+ @since LibreOffice 5.1
+ */
+ [optional, property] boolean TextWordWrap;
+
+ /** specifies a number format for the display of the value in the data label
+ */
+ [optional, property] long NumberFormat;
+
+ /** specifies a number format for the display of the percentage value in the data label
+ */
+ [optional, property] long PercentageNumberFormat;
+
+ /** specifies a relative position for the data label
+
+ @see ::com::sun::star::chart::DataLabelPlacement
+ */
+ [optional, property] long LabelPlacement;
+
+ /** The size of the page at the moment when the font size for
+ data labels was set.
+
+ <p>This size is used to resize text in the view when the size
+ of the page has changed since the font sizes were set
+ (automatic text scaling).</p>
+ */
+ [maybevoid, property] com::sun::star::awt::Size ReferencePageSize;
+
+ // statistics
+
+ /** If void, no error bars are shown for the data point in
+ x-direction.
+
+ <p>The com::sun::star::beans::XPropertySet
+ must support the service ErrorBar.</p>
+ */
+ [optional, maybevoid, property] com::sun::star::beans::XPropertySet ErrorBarX;
+
+ /** If void, no error bars are shown for the data point in
+ y-direction.
+
+ <p>The com::sun::star::beans::XPropertySet
+ must support the service ErrorBar.</p>
+ */
+ [optional, maybevoid, property] com::sun::star::beans::XPropertySet ErrorBarY;
+
+ /** In case #ErrorBarX and
+ #ErrorBarY both are set, and error bars are
+ shown, a box spanning all error-indicators is rendered.
+ */
+ [optional, maybevoid, property] boolean ShowErrorBox;
+
+
+ /** A value between 0 and 100 indicating the percentage how round an edge should be.
+ */
+ [optional, maybevoid, property] short PercentDiagonal;
+
+ /** Custom position on the page associated to the CUSTOM label placement.
+
+ @since LibreOffice 7.0
+ */
+ [optional, maybevoid, property] ::com::sun::star::chart2::RelativePosition CustomLabelPosition;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/DataSeries.idl b/offapi/com/sun/star/chart2/DataSeries.idl
new file mode 100644
index 000000000..ffcf8daeb
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataSeries.idl
@@ -0,0 +1,200 @@
+/* -*- 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 <com/sun/star/beans/PropertySet.idl>
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/chart2/DataPointProperties.idl>
+#include <com/sun/star/chart2/StackingDirection.idl>
+#include <com/sun/star/chart2/XDataSeries.idl>
+#include <com/sun/star/chart2/XRegressionCurveContainer.idl>
+#include <com/sun/star/chart2/data/XDataSink.idl>
+#include <com/sun/star/chart2/data/XDataSource.idl>
+
+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.
+
+ <p>It combines one or more DataSequences 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
+ 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.
+
+ <p>This service name can be used to determine which DataSeries
+ are of the same type.</p>
+
+ <p>The result of the
+ DataSeries::DataSequenceRoles 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 #DataPointProperties of the data
+ series.</p>
+
+ <p>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.</p>
+
+ <p>The indexes in this sequence match the indexes used by the
+ XIndexContainer.</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 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 ).
+
+ <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;
+
+ /** 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<long> DeletedLegendEntries;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/Diagram.idl b/offapi/com/sun/star/chart2/Diagram.idl
new file mode 100644
index 000000000..2ae557e64
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Diagram.idl
@@ -0,0 +1,129 @@
+/* -*- 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_Diagram_idl
+#define com_sun_star_chart2_Diagram_idl
+
+#include <com/sun/star/chart2/XDiagram.idl>
+#include <com/sun/star/chart2/XCoordinateSystemContainer.idl>
+#include <com/sun/star/chart2/XTitled.idl>
+#include <com/sun/star/chart2/RelativePosition.idl>
+#include <com/sun/star/chart2/RelativeSize.idl>
+#include <com/sun/star/chart/X3DDefaultSetter.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service Diagram
+{
+ interface ::com::sun::star::chart2::XDiagram;
+
+ interface ::com::sun::star::chart2::XCoordinateSystemContainer;
+
+ /** gives access to the sub title of a chart document
+ */
+ interface XTitled;
+
+ /** makes it easy to set suitable defaults for illumination and rotation for 3D charts
+ */
+ [optional] interface ::com::sun::star::chart::X3DDefaultSetter;
+
+ /** The position is as a relative position on the page.
+
+ <p>If a relative position is given the diagram is not automatically placed,
+ but instead is placed relative on the page.</p>
+ */
+ [property, maybevoid] ::com::sun::star::chart2::RelativePosition RelativePosition;
+
+ /** The size of the diagram as relative size of the page size.
+ */
+ [property] ::com::sun::star::chart2::RelativeSize RelativeSize;
+
+ /** The attributes RelativePosition and RelativeSize should be used for the inner coordinate region without axis labels and without data labels.
+ */
+ [optional, property] boolean PosSizeExcludeLabels;
+
+ /** Sort data points by x values for rendering
+ */
+ [optional, property] boolean SortByXValues;
+
+ /** Draw connection lines for stacked bar charts.
+ */
+ [optional, property] boolean ConnectBars;
+
+ /** If bars of a bar or column chart are attached to different
+ axis, this property determines how to display those. If
+ `TRUE`, the bars are grouped together in one block for each
+ axis, thus they are painted one group over the other.
+
+ <p>If `FALSE`, the bars are displayed side-by-side, as if
+ they were all attached to the same axis.</p>
+
+ <p>If all data series of a bar or column chart are attached to
+ only one axis, this property has no effect.</p>
+ */
+ [optional, property] boolean GroupBarsPerAxis;
+
+ /** Starting angle in degrees for pie charts and doughnut charts.
+ */
+ [optional, property] long StartingAngle;
+
+ [optional, property] boolean RightAngledAxes;
+
+ /** Chart Datatable flags
+ */
+ [optional, property] boolean DataTableHBorder;
+ [optional, property] boolean DataTableVBorder;
+ [optional, property] boolean DataTableOutline;
+
+ /** Perspective of 3D charts ( [0,100] ).
+ */
+ [optional, property] long Perspective;
+
+ /** Horizontal rotation of 3D charts in degrees ( ]-180,180] ).
+ */
+ [optional, property] long RotationHorizontal;
+
+ /** Vertical rotation of 3D charts in degrees ( ]-180,180] ).
+ */
+ [optional, property] long RotationVertical;
+
+ /** specifies how empty or invalid cells in the provided data should be handled when displayed
+
+ @see ::com::sun::star::chart::MissingValueTreatment
+ */
+ [optional, property] long MissingValueTreatment;
+
+ [optional, property] string ExternalData;
+
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ErrorBar.idl b/offapi/com/sun/star/chart2/ErrorBar.idl
new file mode 100644
index 000000000..7d022141c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ErrorBar.idl
@@ -0,0 +1,74 @@
+/* -*- 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_ErrorBar_idl
+#define com_sun_star_chart2_ErrorBar_idl
+
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/chart/ErrorBarStyle.idl>
+#include <com/sun/star/chart2/data/XDataSink.idl>
+#include <com/sun/star/chart2/data/XDataSource.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service ErrorBar
+{
+ service ::com::sun::star::drawing::LineProperties;
+
+ /** allows attaching data sequences to the error bars.
+ @see data::DataSequenceRole
+ */
+ [optional] interface data::XDataSink;
+
+ /** allows querying data sequences that were set at error bars.
+ @see data::DataSequenceRole
+ */
+ [optional] interface data::XDataSource;
+ /**
+ @see ::com::sun::star::chart::ErrorBarStyle
+ */
+ [property] long ErrorBarStyle;
+
+ [property] double PositiveError;
+
+ [property] double NegativeError;
+
+ /** The weight for the standard deviation.
+ */
+ [property] double Weight;
+
+ [property] boolean ShowPositiveError;
+
+ [property] boolean ShowNegativeError;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ExponentialRegressionCurve.idl b/offapi/com/sun/star/chart2/ExponentialRegressionCurve.idl
new file mode 100644
index 000000000..b9e94650e
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ExponentialRegressionCurve.idl
@@ -0,0 +1,38 @@
+/* -*- 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_ExponentialRegressionCurve_idl
+#define com_sun_star_chart2_ExponentialRegressionCurve_idl
+
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service ExponentialRegressionCurve : com::sun::star::chart2::XRegressionCurve;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ExponentialScaling.idl b/offapi/com/sun/star/chart2/ExponentialScaling.idl
new file mode 100644
index 000000000..edd740636
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ExponentialScaling.idl
@@ -0,0 +1,41 @@
+/* -*- 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_ExponentialScaling_idl
+#define com_sun_star_chart2_ExponentialScaling_idl
+
+#include <com/sun/star/chart2/XScaling.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** Scaling that scales a value <em>x</em> by taking the power of the
+ base to <em>x</em>.
+
+ <p>If not mentioned explicitly, the base for the power function is
+ 10.0</p>
+*/
+service ExponentialScaling : com::sun::star::chart2::XScaling;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/FillBitmap.idl b/offapi/com/sun/star/chart2/FillBitmap.idl
new file mode 100644
index 000000000..7f0aabbb8
--- /dev/null
+++ b/offapi/com/sun/star/chart2/FillBitmap.idl
@@ -0,0 +1,100 @@
+/* -*- 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_FillBitmap_idl
+#define com_sun_star_chart2_FillBitmap_idl
+
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/drawing/BitmapMode.idl>
+#include <com/sun/star/drawing/RectanglePoint.idl>
+
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** This structure contains all properties of a bitmap when used as
+ FillStyle.
+
+ @see com::sun::star::drawing::FillProperties
+ */
+struct FillBitmap
+{
+ /** a URL to the bitmap used. This may be an internal URL of the
+ graphics manager.
+ */
+ string aURL;
+
+ /** This is the horizontal and vertical offset where the tile
+ starts.
+
+ <p>It is given in percent in relation to the width of the
+ bitmap.</p>
+ */
+ com::sun::star::awt::Point aOffset;
+
+ /** Every second line (X) / row (Y) of tiles is moved the given
+ percent of the width of the bitmap.
+ */
+ com::sun::star::awt::Point aPositionOffset;
+
+ /** The RectanglePoint specifies the position inside of the bitmap
+ to use as the top left position for rendering.
+ */
+ com::sun::star::drawing::RectanglePoint aRectanglePoint;
+
+ /** specifies if the size is given in percentage or as an absolute
+ value.
+
+ <p>If this is `TRUE`, the properties SizeX and
+ SizeY contain the size of the tile in percent of the
+ size of the original bitmap. If this is `FALSE`, the size of
+ the tile is specified with 1/100th mm.</p>
+ */
+ boolean bLogicalSize;
+
+ /** This is the size of the tile for filling.
+
+ <p>Depending on the property LogicalSize, this is
+ either relative or absolute.</p>
+ */
+ com::sun::star::awt::Size aSize;
+
+ /** this enum selects how an area is filled with a single bitmap.
+
+ <p>It may be repeated, stretched or displayed with blank space
+ around it.</p>
+ */
+ com::sun::star::drawing::BitmapMode aBitmapMode;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/FormattedString.idl b/offapi/com/sun/star/chart2/FormattedString.idl
new file mode 100644
index 000000000..e4d80e7ef
--- /dev/null
+++ b/offapi/com/sun/star/chart2/FormattedString.idl
@@ -0,0 +1,33 @@
+/* -*- 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_FormattedString_idl
+#define com_sun_star_chart2_FormattedString_idl
+
+#include <com/sun/star/chart2/XFormattedString2.idl>
+
+module com { module sun { module star { module chart2 {
+
+service FormattedString : XFormattedString2;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/GridProperties.idl b/offapi/com/sun/star/chart2/GridProperties.idl
new file mode 100644
index 000000000..0db23604d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/GridProperties.idl
@@ -0,0 +1,53 @@
+/* -*- 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_GridProperties_idl
+#define com_sun_star_chart2_GridProperties_idl
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Must be supported by all grids
+ */
+service GridProperties
+{
+ /** properties for formatting the grid lines
+ */
+ service ::com::sun::star::drawing::LineProperties;
+
+ /** Determines, whether the grid should be rendered by the view.
+ */
+ [property] boolean Show;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/IncrementData.idl b/offapi/com/sun/star/chart2/IncrementData.idl
new file mode 100644
index 000000000..289792e7d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/IncrementData.idl
@@ -0,0 +1,83 @@
+/* -*- 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_IncrementData_idl
+#define com_sun_star_chart2_IncrementData_idl
+
+#include <com/sun/star/chart2/SubIncrement.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** An IncrementData describes how tickmarks are positioned on the scale of an axis.
+
+@see Axis
+@see Grid
+@see Scale
+@see XScaling
+*/
+struct IncrementData
+{
+ /** if the any contains a double value this is used as a fixed
+ Distance value. Otherwise, if the any is empty or contains an
+ incompatible type, the Distance is meant to be calculated
+ automatically by the view component representing the model
+ containing this increment.
+ */
+ any Distance;
+
+ /**
+ #PostEquidistant rules whether the member #Distance
+ describes a distance before or after the scaling is applied.
+
+ <p>If #PostEquidistant equals `TRUE` #Distance
+ is given in values after XScaling is applied, thus resulting
+ main tickmarks will always look equidistant on the screen.
+ If #PostEquidistant equals `FALSE` #Distance
+ is given in values before XScaling is applied.</p>
+ */
+ any PostEquidistant;
+
+ /** if the any contains a double value this is used as a fixed
+ BaseValue. Otherwise, if the any is empty or contains an
+ incompatible type, the BaseValue is meant to be calculated
+ automatically by the view component representing the model
+ containing this increment.
+ */
+ any BaseValue;
+
+ /** #SubIncrements describes the positioning of further
+ sub tickmarks on the scale of an axis.
+
+ <p>The first SubIncrement in this sequence determines how the
+ distance between two neighboring main tickmarks is divided for positioning
+ of further sub tickmarks. Every following SubIncrement determines the
+ positions of subsequent tickmarks in relation to their parent tickmarks
+ given by the preceding SubIncrement.</p>
+ */
+ sequence< SubIncrement > SubIncrements;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/InterpretedData.idl b/offapi/com/sun/star/chart2/InterpretedData.idl
new file mode 100644
index 000000000..9df2e7d25
--- /dev/null
+++ b/offapi/com/sun/star/chart2/InterpretedData.idl
@@ -0,0 +1,52 @@
+/* -*- 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_InterpretedData_idl
+#define com_sun_star_chart2_InterpretedData_idl
+
+#include <com/sun/star/chart2/XDataSeries.idl>
+#include <com/sun/star/chart2/data/XLabeledDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** offers tooling to interpret different data sources in a structural
+ and chart-type-dependent way.
+ */
+struct InterpretedData
+{
+ sequence< sequence< XDataSeries > > Series;
+
+ com::sun::star::chart2::data::XLabeledDataSequence Categories;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/Legend.idl b/offapi/com/sun/star/chart2/Legend.idl
new file mode 100644
index 000000000..805e90da6
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Legend.idl
@@ -0,0 +1,102 @@
+/* -*- 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_Legend_idl
+#define com_sun_star_chart2_Legend_idl
+
+#include <com/sun/star/chart2/XLegend.idl>
+#include <com/sun/star/chart2/LegendPosition.idl>
+#include <com/sun/star/chart2/RelativePosition.idl>
+#include <com/sun/star/chart/ChartLegendExpansion.idl>
+#include <com/sun/star/beans/PropertySet.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Describes a legend for a Diagram.
+ */
+service Legend
+{
+ service ::com::sun::star::drawing::FillProperties;
+ service ::com::sun::star::drawing::LineProperties;
+ service ::com::sun::star::beans::PropertySet;
+
+ /** The interface for registering and removing legend entries.
+ */
+ interface ::com::sun::star::chart2::XLegend;
+
+ /** Provides an automated position
+ */
+ [property] LegendPosition AnchorPosition;
+
+ /** Determines how the aspect ratio of the legend should roughly
+ be.
+
+ <p>Set the Expansion to
+ ::com::sun::star::chart#HIGH
+ for a legend that is positioned on the right or left hand
+ side. Use ::com::sun::star::chart::WIDE for a legend
+ that is positioned on top or the bottom.</p>
+ */
+ [property] ::com::sun::star::chart::ChartLegendExpansion Expansion;
+
+ /** Determines, whether the legend should be rendered by the view.
+ */
+ [property] boolean Show;
+
+ /** Determines, whether the legend should overlay the chart.
+
+ @since LibreOffice 7.0
+ */
+ [property] boolean Overlay;
+
+ /** contains the size of the page at the time when properties were
+ set (e.g. the CharHeight).
+
+ <p>This way it is possible to resize objects (like text) in
+ the view without modifying the model.</p>
+ */
+ [property, maybevoid] com::sun::star::awt::Size ReferencePageSize;
+
+ /** The position is as a relative position on the page.
+
+ <p>If a relative position is given the legend is not automatically placed,
+ but instead is placed relative on the page.</p>
+
+ <p>If `VOID`, the legend position is solely determined by the
+ #AnchorPosition.</p>
+ */
+ [property, maybevoid] ::com::sun::star::chart2::RelativePosition RelativePosition;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/LegendPosition.idl b/offapi/com/sun/star/chart2/LegendPosition.idl
new file mode 100644
index 000000000..b408e6a20
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LegendPosition.idl
@@ -0,0 +1,63 @@
+/* -*- 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_LegendPosition_idl
+#define com_sun_star_chart2_LegendPosition_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+enum LegendPosition
+{
+ /** In LTR mode this is the left-hand side
+ */
+ LINE_START,
+
+ /** In LTR mode this is the right-hand side
+
+ <p>This usually is the default.</p>
+ */
+ LINE_END,
+
+ /** In LTR mode this is the top side
+ */
+ PAGE_START,
+
+ /** In LTR mode this is the bottom side
+ */
+ PAGE_END,
+
+ /** The position of the legend is given by an offset value
+ */
+ CUSTOM
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/LightSource.idl b/offapi/com/sun/star/chart2/LightSource.idl
new file mode 100644
index 000000000..89ac5966c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LightSource.idl
@@ -0,0 +1,58 @@
+/* -*- 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_LightSource_idl
+#define com_sun_star_chart2_LightSource_idl
+
+#include <com/sun/star/drawing/Direction3D.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+struct LightSource
+{
+ /** the light source's color
+ */
+ long nDiffuseColor;
+
+ /** the direction into which the light-source points
+ */
+ ::com::sun::star::drawing::Direction3D aDirection;
+
+ boolean bIsEnabled;
+
+ /** When `TRUE`, the specularity of material is taken into
+ account when lighting an object.
+ */
+ boolean bSpecular;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/LinearRegressionCurve.idl b/offapi/com/sun/star/chart2/LinearRegressionCurve.idl
new file mode 100644
index 000000000..6aeee66b6
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LinearRegressionCurve.idl
@@ -0,0 +1,38 @@
+/* -*- 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_LinearRegressionCurve_idl
+#define com_sun_star_chart2_LinearRegressionCurve_idl
+
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service LinearRegressionCurve : com::sun::star::chart2::XRegressionCurve;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/LinearScaling.idl b/offapi/com/sun/star/chart2/LinearScaling.idl
new file mode 100644
index 000000000..c71d5cb75
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LinearScaling.idl
@@ -0,0 +1,42 @@
+/* -*- 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_LinearScaling_idl
+#define com_sun_star_chart2_LinearScaling_idl
+
+#include <com/sun/star/chart2/XScaling.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** Scaling that scales a value <em>x</em> by calculating <em>m &sdot;
+ x + t</em>.
+
+ <p>If not mentioned explicitly, the parameter <em>m</em> is 1.0
+ and <em>t</em> is 0.0, which means the transformation is an
+ identical mapping.</p>
+*/
+service LinearScaling : com::sun::star::chart2::XScaling;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/LogarithmicRegressionCurve.idl b/offapi/com/sun/star/chart2/LogarithmicRegressionCurve.idl
new file mode 100644
index 000000000..cd791e8d2
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LogarithmicRegressionCurve.idl
@@ -0,0 +1,38 @@
+/* -*- 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_LogarithmicRegressionCurve_idl
+#define com_sun_star_chart2_LogarithmicRegressionCurve_idl
+
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service LogarithmicRegressionCurve : com::sun::star::chart2::XRegressionCurve;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/LogarithmicScaling.idl b/offapi/com/sun/star/chart2/LogarithmicScaling.idl
new file mode 100644
index 000000000..6be520793
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LogarithmicScaling.idl
@@ -0,0 +1,40 @@
+/* -*- 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_LogarithmicScaling_idl
+#define com_sun_star_chart2_LogarithmicScaling_idl
+
+#include <com/sun/star/chart2/XScaling.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** Scaling that scales values by taking their logarithm.
+
+ <p>If not mentioned explicitly, the base for the logarithm is
+ 10.0</p>
+*/
+service LogarithmicScaling : com::sun::star::chart2::XScaling;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/LogicTargetModel.idl b/offapi/com/sun/star/chart2/LogicTargetModel.idl
new file mode 100644
index 000000000..4bc46105b
--- /dev/null
+++ b/offapi/com/sun/star/chart2/LogicTargetModel.idl
@@ -0,0 +1,59 @@
+/* -*- 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_LogicTargetModel_idl
+#define com_sun_star_chart2_LogicTargetModel_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+/**
+ <p>The properties of this service correspond to the similar named attributes
+ and subelements of the XML element chart2:increment in the chart2 file format.</p>
+*/
+service LogicTargetModel
+{
+ /** identifies an instance of this service within one chart document.
+ */
+ [ readonly, property ] string ID;
+
+ /** identifies an instance of the service com::sun::star::chart2::LegendModel within one chart document.
+ * that instance is used to automatically calculate missing properties
+ */
+ [ property ] string LegendID;
+
+ /** not BOUND nor CONSTRAINED in terms of Listener notifications,
+ * each element in the sequence must implement the service com::sun::star::chart2::CoordinateSystem
+ */
+ [ property ] sequence< ::com::sun::star::beans::XPropertySet > CoordinateSystems;
+
+ /** MAYBEVOID, not BOUND nor CONSTRAINED in terms of Listener notifications,
+ * each element in the sequence must implement the service com::sun::star::chart2::LogicTargetModel
+ */
+ [ property ] sequence< ::com::sun::star::beans::XPropertySet > LogicTargetModels;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/MovingAverageRegressionCurve.idl b/offapi/com/sun/star/chart2/MovingAverageRegressionCurve.idl
new file mode 100644
index 000000000..d2a6d89a0
--- /dev/null
+++ b/offapi/com/sun/star/chart2/MovingAverageRegressionCurve.idl
@@ -0,0 +1,38 @@
+/* -*- 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_MovingAverageRegressionCurve_idl
+#define com_sun_star_chart2_MovingAverageRegressionCurve_idl
+
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service MovingAverageRegressionCurve : com::sun::star::chart2::XRegressionCurve;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/PieChartOffsetMode.idl b/offapi/com/sun/star/chart2/PieChartOffsetMode.idl
new file mode 100644
index 000000000..718479b6c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PieChartOffsetMode.idl
@@ -0,0 +1,54 @@
+/* -*- 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_PieChartOffsetMode_idl
+#define com_sun_star_chart2_PieChartOffsetMode_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Mode used for a pie chart template to determine the initial state
+ of exploded pies.
+ */
+enum PieChartOffsetMode
+{
+ /** Default, no pies are exploded.
+ */
+ NONE,
+
+ /** All pies are exploded by a certain percentage. The default is
+ 10 percent.
+ */
+ ALL_EXPLODED
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/PolarCoordinateSystem2d.idl b/offapi/com/sun/star/chart2/PolarCoordinateSystem2d.idl
new file mode 100644
index 000000000..14597842d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PolarCoordinateSystem2d.idl
@@ -0,0 +1,35 @@
+/* -*- 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_PolarCoordinateSystem2d_idl
+#define com_sun_star_chart2_PolarCoordinateSystem2d_idl
+
+#include <com/sun/star/chart2/XCoordinateSystem.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ @since LibreOffice 4.1
+ */
+service PolarCoordinateSystem2d : XCoordinateSystem;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/PolarCoordinateSystem3d.idl b/offapi/com/sun/star/chart2/PolarCoordinateSystem3d.idl
new file mode 100644
index 000000000..afbdf5ddb
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PolarCoordinateSystem3d.idl
@@ -0,0 +1,35 @@
+/* -*- 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_PolarCoordinateSystem3d_idl
+#define com_sun_star_chart2_PolarCoordinateSystem3d_idl
+
+#include <com/sun/star/chart2/XCoordinateSystem.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ @since LibreOffice 4.1
+ */
+service PolarCoordinateSystem3d : XCoordinateSystem;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/PolynomialRegressionCurve.idl b/offapi/com/sun/star/chart2/PolynomialRegressionCurve.idl
new file mode 100644
index 000000000..a7684e8fb
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PolynomialRegressionCurve.idl
@@ -0,0 +1,38 @@
+/* -*- 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_PolynomialRegressionCurve_idl
+#define com_sun_star_chart2_PolynomialRegressionCurve_idl
+
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service PolynomialRegressionCurve : com::sun::star::chart2::XRegressionCurve;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/PotentialRegressionCurve.idl b/offapi/com/sun/star/chart2/PotentialRegressionCurve.idl
new file mode 100644
index 000000000..6f240745c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PotentialRegressionCurve.idl
@@ -0,0 +1,38 @@
+/* -*- 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_PotentialRegressionCurve_idl
+#define com_sun_star_chart2_PotentialRegressionCurve_idl
+
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service PotentialRegressionCurve : com::sun::star::chart2::XRegressionCurve;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/PowerScaling.idl b/offapi/com/sun/star/chart2/PowerScaling.idl
new file mode 100644
index 000000000..3f8111b26
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PowerScaling.idl
@@ -0,0 +1,41 @@
+/* -*- 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_PowerScaling_idl
+#define com_sun_star_chart2_PowerScaling_idl
+
+#include <com/sun/star/chart2/XScaling.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** Scaling that scales a value <em>x</em> by taking the power of
+ <em>x</em> to the exponent.
+
+ <p>If not mentioned explicitly, the exponent for the power
+ function is 10.0</p>
+*/
+service PowerScaling : com::sun::star::chart2::XScaling;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/PropertyPool.idl b/offapi/com/sun/star/chart2/PropertyPool.idl
new file mode 100644
index 000000000..42ac558bd
--- /dev/null
+++ b/offapi/com/sun/star/chart2/PropertyPool.idl
@@ -0,0 +1,62 @@
+/* -*- 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_PropertyPool_idl
+#define com_sun_star_chart2_PropertyPool_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/style/Style.idl>
+#include <com/sun/star/style/XDefaultsSupplier.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service PropertyPool
+{
+ /** must be usable as a style
+ */
+ service ::com::sun::star::style::Style;
+
+ /** must provide defaults for all properties
+
+ <p>As the service
+ com::sun::star::style::Style implies the
+ implementation of
+ com::sun::star::beans::XPropertySet, the
+ method
+ com::sun::star::style::XDefaultsSupplier::getDefaults()
+ should return itself.
+ */
+ interface ::com::sun::star::style::XDefaultsSupplier;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/RegressionCurve.idl b/offapi/com/sun/star/chart2/RegressionCurve.idl
new file mode 100644
index 000000000..72c268418
--- /dev/null
+++ b/offapi/com/sun/star/chart2/RegressionCurve.idl
@@ -0,0 +1,51 @@
+/* -*- 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_RegressionCurve_idl
+#define com_sun_star_chart2_RegressionCurve_idl
+
+#include <com/sun/star/beans/PropertySet.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+#include <com/sun/star/lang/XServiceName.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service RegressionCurve
+{
+ service ::com::sun::star::beans::PropertySet;
+ service ::com::sun::star::drawing::LineProperties;
+
+ interface XRegressionCurve;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/RegressionCurveEquation.idl b/offapi/com/sun/star/chart2/RegressionCurveEquation.idl
new file mode 100644
index 000000000..0aea580b9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/RegressionCurveEquation.idl
@@ -0,0 +1,62 @@
+/* -*- 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_RegressionCurveEquation_idl
+#define com_sun_star_chart2_RegressionCurveEquation_idl
+
+#include <com/sun/star/beans/PropertySet.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+#include <com/sun/star/style/CharacterProperties.idl>
+#include <com/sun/star/chart2/RelativePosition.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service RegressionCurveEquation
+{
+ service ::com::sun::star::beans::PropertySet;
+ service ::com::sun::star::drawing::FillProperties;
+ service ::com::sun::star::drawing::LineProperties;
+ service ::com::sun::star::style::CharacterProperties;
+
+ [property] boolean ShowEquation;
+ [property] string XName;
+ [property] string YName;
+ [property] boolean ShowCorrelationCoefficient;
+
+ [property, maybevoid] ::com::sun::star::chart2::RelativePosition RelativePosition;
+ [property, maybevoid] ::com::sun::star::awt::Size ReferencePageSize;
+
+ [property] long NumberFormat;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/RegressionEquation.idl b/offapi/com/sun/star/chart2/RegressionEquation.idl
new file mode 100644
index 000000000..e95459aaf
--- /dev/null
+++ b/offapi/com/sun/star/chart2/RegressionEquation.idl
@@ -0,0 +1,35 @@
+/* -*- 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_RegressionEquation_idl
+#define com_sun_star_chart2_RegressionEquation_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ @since LibreOffice 4.1
+*/
+service RegressionEquation : com::sun::star::beans::XPropertySet;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/RelativePosition.idl b/offapi/com/sun/star/chart2/RelativePosition.idl
new file mode 100644
index 000000000..421e0c11f
--- /dev/null
+++ b/offapi/com/sun/star/chart2/RelativePosition.idl
@@ -0,0 +1,80 @@
+/* -*- 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_RelativePosition_idl
+#define com_sun_star_chart2_RelativePosition_idl
+
+#include <com/sun/star/drawing/Alignment.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Determines a position of an object relative to a size defined by other means.
+ Values from 0 to 1 cover the entire reference rectangle. Values
+ may also be outside this range, especially negative.
+ */
+struct RelativePosition
+{
+ /** The position in the primary direction.
+ The direction is defined by the object using this point.
+
+ <p>For example for western languages the primary direction may be
+ the horizontal distance measured from left to right.</p>
+
+ <p>The values are relative to a reference size (for example the page size).
+ Values between 0 and 1 span the complete bounding rectangle.</p>
+ */
+ double Primary;
+
+ /** The position in the secondary direction.
+ The direction is defined by the object using this point.
+
+ <p>For example for western languages the secondary direction may be
+ the vertical distance measured from top to bottom.</p>
+
+ <p>The values are relative to a reference size (for example the page size).
+ Values between 0 and 1 span the complete bounding rectangle.</p>
+ */
+ double Secondary;
+
+ /** This indicates how the object is placed at the relative position.
+
+ <p>The Anchor indicates which point of the placed object
+ will be placed at the coordinates given within Primary and Secondary.</p>
+
+ <p>For example if Anchor is TOP_LEFT the top left corner of an object will
+ be placed at the given coordinates. If Anchor is RIGHT the right middle corner of the object will
+ be placed at the given coordinates.</p>
+ */
+ ::com::sun::star::drawing::Alignment Anchor;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/RelativeSize.idl b/offapi/com/sun/star/chart2/RelativeSize.idl
new file mode 100644
index 000000000..f83e40997
--- /dev/null
+++ b/offapi/com/sun/star/chart2/RelativeSize.idl
@@ -0,0 +1,78 @@
+/* -*- 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_RelativeSize_idl
+#define com_sun_star_chart2_RelativeSize_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Gives a position relative to some size defined by other means.
+ Values from 0 to 1 cover the entire reference rectangle. Values
+ may also be greater than one, meaning a bigger size than the
+ reference size. Negative values are not allowed.
+ */
+struct RelativeSize
+{
+ /** The extension in the primary direction. The direction is
+ defined by the object using this point.
+
+ <p>Typically, the direction is determined by an
+ Orientation. Another typical use would be the
+ direction of a given orientation-angle.</p>
+
+ <p>The values are relative to the page or an object. Values
+ between 0 and 1 span the complete bounding rectangle of the
+ page/object.</p>
+
+ <p>For a western Orientation this is the
+ width.</p>
+ */
+ double Primary;
+
+ /** The extension in the secondary direction. The direction is
+ defined by the object using this point.
+
+ <p>Typically, the direction is determined by an
+ Orientation. Another typical use would be the
+ direction perpendicular to a given orientation-angle.</p>
+
+ <p>The values are relative to the page or an object. Values
+ between 0 and 1 span the complete bounding rectangle of the
+ page/object.</p>
+
+ <p>For a western Orientation this is the
+ height.</p>
+ */
+ double Secondary;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/ScaleData.idl b/offapi/com/sun/star/chart2/ScaleData.idl
new file mode 100644
index 000000000..b4d7111a7
--- /dev/null
+++ b/offapi/com/sun/star/chart2/ScaleData.idl
@@ -0,0 +1,111 @@
+/* -*- 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_ScaleData_idl
+#define com_sun_star_chart2_ScaleData_idl
+
+#include <com/sun/star/chart2/XScaling.idl>
+#include <com/sun/star/chart2/AxisOrientation.idl>
+#include <com/sun/star/chart2/data/XLabeledDataSequence.idl>
+#include <com/sun/star/chart2/AxisType.idl>
+#include <com/sun/star/chart2/IncrementData.idl>
+#include <com/sun/star/chart/TimeIncrement.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+struct ScaleData
+{
+ /** if the any contains a double value this is used as a fixed
+ maximum. Otherwise, if the any is empty or contains an
+ incompatible type, the maximum is automatic.
+
+ <p>If the maximum is automatic, this means, each view that
+ represents the model containing this scale, has to calculate a
+ maximum by its own means.</p>
+ */
+ any Minimum;
+
+ /** if the any contains a double value this is used as a fixed
+ minimum. Otherwise, if the any is empty or contains an
+ incompatible type, the minimum is automatic.
+
+ <p>If the minimum is automatic, this means, each view that
+ represents the model containing this scale, has to calculate a
+ minimum by its own means.</p>
+ */
+ any Maximum;
+
+
+ /** The Origin indicates where other axes cross this axis.
+ If the any contains a double value that value is used.
+ Otherwise an appropriate value has to be calculated
+ by that instances using Origin.
+ */
+ any Origin;
+
+ /** Axis orientation (standard or reversed).
+
+ <p>If used at the Y axis in pie charts or doughnut charts, specifies
+ the rotation direction of the pie. The value
+ AxisOrientation::MATHEMATICAL rotates the pie
+ counterclockwise, the value AxisOrientation::REVERSE
+ rotates the pie clockwise.</p>
+
+ <p>Note: Is this a good place for the axis orientation? Two axes may
+ use the same scale, but point into two different directions.</p>
+ */
+ AxisOrientation Orientation;
+
+ XScaling Scaling;
+
+ com::sun::star::chart2::data::XLabeledDataSequence Categories;
+
+ /** describes the type of the axis.
+
+ <p>It can be a real number axis or a category axis or something else.
+ AxisType is one value out of the constant group AxisType.</p>
+ */
+ long AxisType;
+
+ /** if true an AxisType CATEGORY is interpreted as DATE if the underlying data given in Categories are dates
+ */
+ boolean AutoDateAxis;
+
+ /** describes whether data points on category or date axis are placed between tickmarks or not
+ if true the maximum on the scale will be expanded for one interval
+ */
+ boolean ShiftedCategoryPosition;
+
+ /** increment data to be used for not date-time axis
+ */
+ IncrementData IncrementData;
+
+ /** increment data to be used in case of date-time axis
+ */
+ ::com::sun::star::chart::TimeIncrement TimeIncrement;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/Scaling.idl b/offapi/com/sun/star/chart2/Scaling.idl
new file mode 100644
index 000000000..e68c52314
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Scaling.idl
@@ -0,0 +1,37 @@
+/* -*- 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_Scaling_idl
+#define com_sun_star_chart2_Scaling_idl
+
+#include <com/sun/star/chart2/XScaling.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** stateless service
+*/
+service Scaling : com::sun::star::chart2::XScaling;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/StackingDirection.idl b/offapi/com/sun/star/chart2/StackingDirection.idl
new file mode 100644
index 000000000..f39f56890
--- /dev/null
+++ b/offapi/com/sun/star/chart2/StackingDirection.idl
@@ -0,0 +1,46 @@
+/* -*- 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_StackingDirection_idl
+#define com_sun_star_chart2_StackingDirection_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+enum StackingDirection
+{
+ NO_STACKING,
+ Y_STACKING,
+ Z_STACKING
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl b/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl
new file mode 100644
index 000000000..2546aef50
--- /dev/null
+++ b/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl
@@ -0,0 +1,56 @@
+/* -*- 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_StandardDiagramCreationParameters_idl
+#define com_sun_star_chart2_StandardDiagramCreationParameters_idl
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** parameters that may be passed to
+ XChartTypeTemplate::createDiagramByDataSource().
+ */
+service StandardDiagramCreationParameters
+{
+ /** States whether the first XLabeledDataSequence in
+ a data-source is used as categories.
+ */
+ [optional, property] boolean HasCategories;
+
+ /** If categories are given they should be used as x values also if a chart type requires x values.
+ Default is true.
+ */
+ [optional, property] boolean UseCategoriesAsX;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/SubIncrement.idl b/offapi/com/sun/star/chart2/SubIncrement.idl
new file mode 100644
index 000000000..b771ccac5
--- /dev/null
+++ b/offapi/com/sun/star/chart2/SubIncrement.idl
@@ -0,0 +1,45 @@
+/* -*- 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_SubIncrement_idl
+#define com_sun_star_chart2_SubIncrement_idl
+
+
+module com { module sun { module star { module chart2 {
+
+
+struct SubIncrement
+{
+ /** should contain nothing for <em>auto</em>, or an integer value
+ for an explicit interval count.
+ */
+ any IntervalCount;
+
+ /** should contain nothing for <em>auto</em>, or a boolean value
+ for an explicit setting.
+ */
+ any PostEquidistant;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/Symbol.idl b/offapi/com/sun/star/chart2/Symbol.idl
new file mode 100644
index 000000000..1149cb3a3
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Symbol.idl
@@ -0,0 +1,104 @@
+/* -*- 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_Symbol_idl
+#define com_sun_star_chart2_Symbol_idl
+
+#include <com/sun/star/drawing/PolyPolygonBezierCoords.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/graphic/XGraphic.idl>
+#include <com/sun/star/chart2/SymbolStyle.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** properties that are used for DataSeries that display symbols.
+ */
+struct Symbol
+{
+ /** determines which of the following members determines the
+ appearance of the symbol.
+ */
+ SymbolStyle Style;
+
+ /** The given polygon is used as symbol.
+ */
+ com::sun::star::drawing::PolyPolygonBezierCoords PolygonCoords;
+
+ /** Use the nth standard symbol, if #Style is set
+ to SymbolStlye::STANDARD.
+
+ <p>If n is the number of standard symbols available in an
+ implementation, the symbol number is
+ #StandardSymbol modulo n.</p>
+
+ <p>The default implementation for example currently uses 8 different
+ standard symbols that are matched to the numbers 0 to 7.
+
+ <table border=1>
+ <tr><th>&nbsp;value StandardSymbol&nbsp;</th><th>&nbsp;visible Symbol&nbsp;</th></tr>
+ <tr><td><code>0</code></td><td>square</td></tr>
+ <tr><td><code>1</code></td><td>diamond</td></tr>
+ <tr><td><code>2</code></td><td>down arrow</td></tr>
+ <tr><td><code>3</code></td><td>up arrow</td></tr>
+ <tr><td><code>4</code></td><td>right arrow</td></tr>
+ <tr><td><code>5</code></td><td>left arrow</td></tr>
+ <tr><td><code>6</code></td><td>bowtie</td></tr>
+ <tr><td><code>7</code></td><td>sandglass</td></tr>
+ </table>
+
+ </p>
+ */
+ long StandardSymbol;
+
+ /** use this graphic as symbol
+ */
+ com::sun::star::graphic::XGraphic Graphic;
+
+ /** The size of the symbol in 100th of a mm.
+
+ @todo use a structure using doubles instead of longs
+ */
+ com::sun::star::awt::Size Size;
+
+ /** The color used for drawing the border of symbols.
+
+ <p>Only effective if #Style is
+ SymbolStyle::AUTO,
+ SymbolStyle::STANDARD or
+ SymbolStyle::POLYGON.</p>
+ */
+ long BorderColor;
+
+ /** The color used for filling symbols that contain closed polygons.
+
+ <p>Only effective if #Style is
+ SymbolStyle::AUTO,
+ SymbolStyle::STANDARD or
+ SymbolStyle::POLYGON.</p>
+ */
+ long FillColor;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/SymbolStyle.idl b/offapi/com/sun/star/chart2/SymbolStyle.idl
new file mode 100644
index 000000000..794ce773b
--- /dev/null
+++ b/offapi/com/sun/star/chart2/SymbolStyle.idl
@@ -0,0 +1,63 @@
+/* -*- 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_SymbolStyle_idl
+#define com_sun_star_chart2_SymbolStyle_idl
+
+
+module com { module sun { module star { module chart2 {
+
+
+/** determines what kind of symbol to use
+ */
+enum SymbolStyle
+{
+ /** The symbol is invisible
+ */
+ NONE,
+
+ /** The symbol is taken automatically.
+
+ <p>This will typically be the nth standard symbol for the nth
+ data series.</p>
+ */
+ AUTO,
+
+ /** uses one of the standard symbols. Which standard symbol is
+ given in Symbol::StandardSymbol.
+ */
+ STANDARD,
+
+ /** uses the symbol given in the
+ com::sun::star::drawing::PolyPolygonBezierCoords
+ given in Symbol::PolygonCoords.
+ */
+ POLYGON,
+
+ /** uses the graphic given in
+ Symbol::Graphic as symbol.
+ */
+ GRAPHIC
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/TickmarkStyle.idl b/offapi/com/sun/star/chart2/TickmarkStyle.idl
new file mode 100644
index 000000000..375d40073
--- /dev/null
+++ b/offapi/com/sun/star/chart2/TickmarkStyle.idl
@@ -0,0 +1,55 @@
+/* -*- 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_TickmarkStyle_idl
+#define com_sun_star_chart2_TickmarkStyle_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+constants TickmarkStyle
+{
+ /** Do not display any marks.
+ */
+ const long NONE = 0;
+
+ /** Display marks that point into the diagram area.
+ */
+ const long INNER = 1;
+
+ /** Display marks that point out of the diagram area.
+ */
+ const long OUTER = 2;
+
+ // note: to get both, add INNER and OUTER
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/Title.idl b/offapi/com/sun/star/chart2/Title.idl
new file mode 100644
index 000000000..96efb48f7
--- /dev/null
+++ b/offapi/com/sun/star/chart2/Title.idl
@@ -0,0 +1,85 @@
+/* -*- 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_Title_idl
+#define com_sun_star_chart2_Title_idl
+
+#include <com/sun/star/style/ParagraphProperties.idl>
+#include <com/sun/star/chart2/XTitle.idl>
+#include <com/sun/star/chart2/RelativePosition.idl>
+#include <com/sun/star/beans/PropertySet.idl>
+#include <com/sun/star/drawing/LineProperties.idl>
+#include <com/sun/star/drawing/FillProperties.idl>
+//FIXME does not exist <com/sun/star/layout/LayoutElement.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+service Title
+{
+ /** only mandatory properties
+ */
+ service ::com::sun::star::style::ParagraphProperties;
+ service ::com::sun::star::drawing::FillProperties;
+ service ::com::sun::star::drawing::LineProperties;
+ service ::com::sun::star::beans::PropertySet;
+//FIXME [optional] service ::com::sun::star::layout::LayoutElement;
+
+ interface XTitle;
+
+ /** the rotation of the title's text in degrees in the range
+ [0,360).
+ */
+ [property] double TextRotation;
+
+ /** writes the characters of the title on top of each other if set
+ to `TRUE`.
+ */
+ [property] boolean StackCharacters;
+
+ /** The position is a relative position on the page.
+
+ <p>If a relative position is given the title is not automatically placed,
+ but instead is placed relative on the page.</p>
+ */
+ [property, maybevoid] ::com::sun::star::chart2::RelativePosition RelativePosition;
+
+
+ /** contains the size of the page at the time when properties were
+ set (e.g. the CharHeight).
+
+ <p>This way it is possible to resize objects (like text) in
+ the view without modifying the model.</p>
+ */
+ [property, maybevoid] com::sun::star::awt::Size ReferencePageSize;
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/TransparencyStyle.idl b/offapi/com/sun/star/chart2/TransparencyStyle.idl
new file mode 100644
index 000000000..4c43b1f7d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/TransparencyStyle.idl
@@ -0,0 +1,56 @@
+/* -*- 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_TransparencyStyle_idl
+#define com_sun_star_chart2_TransparencyStyle_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+enum TransparencyStyle
+{
+ /** no transparency attribute is evaluated
+ */
+ NONE,
+
+ /** The property Transparency is evaluated, TransparencyGradient
+ is ignored
+ */
+ LINEAR,
+
+ /** The property TransparencyGradient is evaluated, Transparency
+ is ignored
+ */
+ GRADIENT
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl b/offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl
new file mode 100644
index 000000000..551709daf
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl
@@ -0,0 +1,88 @@
+/* -*- 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_XAnyDescriptionAccess_idl__
+#define __com_sun_star_chart2_XAnyDescriptionAccess_idl__
+
+#include <com/sun/star/chart/XComplexDescriptionAccess.idl>
+
+
+ module com { module sun { module star { module chart2 {
+
+
+/** Offers any access to column and row descriptions.
+This allows to set date values as categories.
+
+<p>Can be obtained from interface XChartDocument via method getData().</p>
+
+@since OOo 3.4
+*/
+
+interface XAnyDescriptionAccess : ::com::sun::star::chart::XComplexDescriptionAccess
+{
+
+ /** retrieves the descriptions for all rows.
+
+ @returns
+ a sequence of sequences of anys representing the descriptions
+ of all rows. The outer index represents different rows.
+ The inner index represents the different levels (usually there is only one).
+ The any might be strings for category text axis or doubles for date axis.
+ */
+ sequence< sequence< any > > getAnyRowDescriptions();
+
+
+ /** sets the descriptions for all rows.
+
+ @param rRowDescriptions
+ a sequence of sequences of anys representing the descriptions of all
+ rows. The outer index represents different rows.
+ The inner index represents the different levels (usually there is only one).
+ The any might be strings for category text axis or doubles for date axis.
+ */
+ void setAnyRowDescriptions( [in] sequence< sequence< any > > rRowDescriptions );
+
+
+ /** retrieves the descriptions for all columns.
+
+ @returns
+ a sequence of sequences of anys representing the descriptions
+ of all columns. The outer index represents different columns.
+ The inner index represents the different levels (usually there is only one).
+ The any might be strings for category text axis or doubles for date axis.
+ */
+ sequence< sequence< any > > getAnyColumnDescriptions();
+
+
+ /** sets the descriptions for all columns.
+
+ @param rColumnDescriptions
+ a sequence of sequences of anys which represent the descriptions of
+ all columns. The outer index represents different columns.
+ The inner index represents the different levels (usually there is only one).
+ The any might be strings for category text axis or doubles for date axis.
+ */
+ void setAnyColumnDescriptions( [in] sequence< sequence< any > > rColumnDescriptions );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XAxis.idl b/offapi/com/sun/star/chart2/XAxis.idl
new file mode 100644
index 000000000..7c2964a5a
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XAxis.idl
@@ -0,0 +1,68 @@
+/* -*- 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_XAxis_idl
+#define com_sun_star_chart2_XAxis_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/chart2/ScaleData.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XAxis : ::com::sun::star::uno::XInterface
+{
+ void setScaleData( [in] ScaleData aScale );
+
+ ScaleData getScaleData();
+
+ /** the returned property set must support the service
+ GridProperties
+ */
+ com::sun::star::beans::XPropertySet getGridProperties();
+
+ /** the returned property sets must support the service
+ GridProperties
+
+ <p>If you do not want to render certain a sub-grid, in the
+ corresponding XPropertySet the property
+ GridProperties::Show must be `FALSE`.</p>
+ */
+ sequence< com::sun::star::beans::XPropertySet > getSubGridProperties();
+
+ /** the returned property sets must support the service
+ TickProperties
+ */
+ sequence< com::sun::star::beans::XPropertySet > getSubTickProperties();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XChartDocument.idl b/offapi/com/sun/star/chart2/XChartDocument.idl
new file mode 100644
index 000000000..0055cbb83
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartDocument.idl
@@ -0,0 +1,139 @@
+/* -*- 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_XChartDocument_idl
+#define com_sun_star_chart2_XChartDocument_idl
+
+#include <com/sun/star/chart2/XDiagram.idl>
+#include <com/sun/star/chart2/XChartTypeManager.idl>
+#include <com/sun/star/chart2/data/XDataProvider.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/util/CloseVetoException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XChartDocument : ::com::sun::star::frame::XModel
+{
+ /** @todo allow more than one diagram
+
+ <p>Notes: this is preliminary, we need an API that supports
+ more than one diagram. The method name getDiagram exists in
+ the css.chart API, so there is would be no way to chose either
+ this or the other method from Basic (it would chose one or the
+ other by random).</p>
+ */
+ XDiagram getFirstDiagram();
+
+ /** @todo allow more than one diagram
+
+ <p>Notes: this is preliminary, we need an API that supports
+ more than one diagram. The method name setDiagram exists in
+ the css.chart API, so there is would be no way to chose either
+ this or the other method from Basic (it would chose one or the
+ other by random).</p>
+ */
+ void setFirstDiagram( [in] XDiagram xDiagram );
+
+ /** creates an internal
+ com::sun::star::chart2::XDataProvider that
+ is handled by the chart document itself.
+
+ <p>When the model is stored, the data provider will also be
+ stored in a sub-storage.</p>
+
+ @param bCloneExistingData
+ if `TRUE` and a data provider was previously attached,
+ its referred data will be copied to the new internal data
+ provider. Note, that the range representation set before
+ will usually change after cloning.</p>
+
+ @throws com::sun::star::util:CloseVetoException
+ If the new data provider could not be created due to a
+ failed removal of the former data provider.
+ */
+ void createInternalDataProvider( [in] boolean bCloneExistingData )
+ raises( com::sun::star::util::CloseVetoException );
+
+ /** @return `TRUE` if the data provider set at the chart document
+ is an internal one.
+
+ <p>This is the case directly after
+ createInternalDataProvider() has been called,
+ but this is not necessary. The chart can also create an
+ internal data provider by other means, e.g. a call to
+ com::sun::star::frame::XModel::initNew().
+ </p>
+ */
+ boolean hasInternalDataProvider();
+
+ /** Returns the currently set data provider. This may be an
+ internal one, if createInternalDataProvider()
+ has been called before, or an external one if
+ XDataReceiver::attachDataProvider() has been
+ called.
+ */
+ com::sun::star::chart2::data::XDataProvider getDataProvider();
+
+ /** sets a new component that is able to create different chart
+ type templates (components of type
+ ChartTypeTemplate)
+ */
+ void setChartTypeManager( [in] XChartTypeManager xNewManager );
+
+ /** retrieves the component that is able to create different chart
+ type templates (components of type
+ ChartTypeTemplate)
+ */
+ XChartTypeManager getChartTypeManager();
+
+ /** Gives access to the page background appearance.
+
+ @return
+ the properties of the background area of the chart
+ document.
+
+ <p>The area's extent is equal to the document size. If you
+ want to access properties of the background area of a single
+ diagram (the part where data points are actually plotted in),
+ you have to get its wall. You can get the wall by calling
+ XDiagram::getWall().</p>
+ */
+ com::sun::star::beans::XPropertySet getPageBackground();
+
+ /** Creates a default chart type for a brand-new chart object.
+ */
+ void createDefaultChart();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XChartShape.idl b/offapi/com/sun/star/chart2/XChartShape.idl
new file mode 100644
index 000000000..696c31609
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartShape.idl
@@ -0,0 +1,88 @@
+/* -*- 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_XChartShape_idl
+#define com_sun_star_chart2_XChartShape_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XTransformation.idl>
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#include <com/sun/star/beans/PropertyVetoException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Size.idl>
+
+
+
+module com { module sun { module star { module chart2 {
+
+
+/**
+this interface is used for a wrapper of objects implementing the service com::sun::star::drawing::Shape
+*/
+
+//interface XChartShape : ::com::sun::star::beans::XPropertySet
+interface XChartShape : ::com::sun::star::uno::XInterface
+{
+ /** the method corresponds to the identical methods of the interface com::sun::star::beans::XPropertySet
+ */
+ void setPropertyValue( [in] string aPropertyName,
+ [in] any aValue )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** the method corresponds to the identical methods of the interface com::sun::star::beans::XPropertySet
+ */
+ any getPropertyValue( [in] string PropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+
+ /** the method corresponds to the identical methods of the interface com::sun::star::drawing::XShape
+ */
+ com::sun::star::awt::Point getPosition();
+
+ /** the method corresponds to the identical methods of the interface com::sun::star::drawing::XShape
+ */
+ void setPosition( [in] com::sun::star::awt::Point aPosition );
+
+ /** the method corresponds to the identical methods of the interface com::sun::star::drawing::XShape
+ */
+ com::sun::star::awt::Size getSize();
+
+ /** the method corresponds to the identical methods of the interface com::sun::star::drawing::XShape
+ */
+ void setSize( [in] com::sun::star::awt::Size aSize )
+ raises( com::sun::star::beans::PropertyVetoException );
+
+ /** the method corresponds to the identical methods of the interface com::sun::star::drawing::XShape
+ * ??????????? deprecated
+ *
+ */
+ string getShapeType();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XChartShapeContainer.idl b/offapi/com/sun/star/chart2/XChartShapeContainer.idl
new file mode 100644
index 000000000..ee8384b23
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartShapeContainer.idl
@@ -0,0 +1,49 @@
+/* -*- 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_XChartShapeContainer_idl
+#define com_sun_star_chart2_XChartShapeContainer_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/XShape.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+interface XChartShapeContainer : ::com::sun::star::uno::XInterface
+{
+ /** a renderer creates ChartShapes and adds it to this container
+ */
+ void addShape( [in] com::sun::star::drawing::XShape xShape );
+
+ /** a renderer can remove ChartShapes from this container (e.g. if the visible range has changed)
+ */
+ void removeShape( [in] com::sun::star::drawing::XShape xShape );
+ com::sun::star::drawing::XShape getShape();
+
+ //... provide something for creation of Transformation ...
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XChartType.idl b/offapi/com/sun/star/chart2/XChartType.idl
new file mode 100644
index 000000000..67b12b50e
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartType.idl
@@ -0,0 +1,94 @@
+/* -*- 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_XChartType_idl
+#define com_sun_star_chart2_XChartType_idl
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XCoordinateSystem.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XChartType : com::sun::star::uno::XInterface
+{
+ /** A string representation of the chart type.
+ This needs to be the service-name which can be used to create a chart type.
+ */
+ string getChartType();
+
+ /** Creates a coordinate systems that fits the chart-type with its
+ current settings and for the given dimension.
+
+ @throws IllegalArgumentException
+ This chart type cannot be displayed in the given dimension.
+ */
+ XCoordinateSystem createCoordinateSystem( [in] long DimensionCount )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Returns a sequence of roles that are understood by this chart
+ type.
+
+ <p>All roles must be listed in the order in which they are
+ usually parsed. This ensures that gluing sequences together
+ and splitting them up apart again results in the same
+ structure as before.</p>
+
+ <p>Note, that this does not involve optional roles, like
+ error-bars.</p>
+ */
+ sequence< string > getSupportedMandatoryRoles();
+
+ /** Returns a sequence of roles that are understood in addition to
+ the mandatory roles (see
+ XChartType::getSupportedMandatoryRoles()).
+
+ <p>An example for an optional role are error-bars.</p>
+ */
+ sequence< string > getSupportedOptionalRoles();
+
+ /** Returns a sequence with supported property mapping roles.
+
+ <p>An example for a property mapping role is FillColor.</p>
+ */
+ sequence< string > getSupportedPropertyRoles();
+
+ /** Returns the role of the XLabeledDataSequence of
+ which the label will be taken to identify the
+ DataSeries in dialogs or the legend.
+ */
+ string getRoleOfSequenceForSeriesLabel();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XChartTypeContainer.idl b/offapi/com/sun/star/chart2/XChartTypeContainer.idl
new file mode 100644
index 000000000..12c1a7bd4
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartTypeContainer.idl
@@ -0,0 +1,68 @@
+/* -*- 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_XChartTypeContainer_idl
+#define com_sun_star_chart2_XChartTypeContainer_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XChartType.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XChartTypeContainer : com::sun::star::uno::XInterface
+{
+ /** add a chart type to the chart type container
+
+ @throws IllegalArgumentException
+ If the given chart type is already contained in the chart type container.
+ */
+ void addChartType( [in] XChartType aChartType )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** removes one data series from the chart type container.
+ */
+ void removeChartType( [in] XChartType aChartType )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** retrieve all chart types
+ */
+ sequence< XChartType > getChartTypes();
+
+ /** set all chart types
+ */
+ void setChartTypes( [in] sequence< XChartType > aChartTypes )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XChartTypeManager.idl b/offapi/com/sun/star/chart2/XChartTypeManager.idl
new file mode 100644
index 000000000..abafeb346
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartTypeManager.idl
@@ -0,0 +1,47 @@
+/* -*- 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_XChartTypeManager_idl
+#define com_sun_star_chart2_XChartTypeManager_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/chart2/XChartTypeTemplate.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XChartTypeManager : ::com::sun::star::uno::XInterface
+{
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XChartTypeTemplate.idl b/offapi/com/sun/star/chart2/XChartTypeTemplate.idl
new file mode 100644
index 000000000..7fe22af5e
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartTypeTemplate.idl
@@ -0,0 +1,215 @@
+/* -*- 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_XChartTypeTemplate_idl
+#define com_sun_star_chart2_XChartTypeTemplate_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/chart2/XDiagram.idl>
+#include <com/sun/star/chart2/data/XDataSource.idl>
+#include <com/sun/star/chart2/XChartType.idl>
+#include <com/sun/star/chart2/XDataInterpreter.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XChartTypeTemplate : ::com::sun::star::uno::XInterface
+{
+ /** Creates a new diagram based upon the given data .
+
+ @param xDataSource
+ This data source will be interpreted in a chart-type
+ specific way and appropriate DataSeries will
+ be created which serve as input for the new diagram.
+
+ @param aArguments
+ Arguments that tell the template how to slice the given
+ range. The properties should be defined in a separate
+ service.
+
+ <p>For standard parameters that may be used, see the
+ service StandardDiagramCreationParameters.
+ </p>
+
+ @return
+ The new diagram which represents this
+ ChartTypeTemplate.
+ */
+ XDiagram createDiagramByDataSource(
+ [in] com::sun::star::chart2::data::XDataSource xDataSource,
+ [in] sequence< com::sun::star::beans::PropertyValue > aArguments );
+
+ /** @return
+ `TRUE` if the template does support categories
+ */
+ boolean supportsCategories();
+
+ /** Analyses the given diagram and reinterprets its
+ DataSeries and Categories and
+ creates a new diagram based on these series.
+
+ <p>Note, that if matchesTemplate() returns
+ `TRUE` for the given XDiagram, the latter should
+ not be changed.</p>
+
+ @param xDiagram
+ The diagram given will be modified such that it represents
+ this ChartTypeTemplate.
+ */
+ void changeDiagram( [in] XDiagram xDiagram );
+
+ /** Changes the given diagram <code>xDiagram</code> by using the
+ new data given in <code>xDataSource</code>.
+
+ <p>Note that the data is interpreted in a way that fits this
+ template, but not necessarily the chart-types of the diagram.
+ This method should only be called if the data-format of the
+ diagram is compatible with the data-format of this
+ template.</p>
+
+ <p>Ideally a matchesTemplate() call for the
+ given diagram should return `TRUE` before this method is
+ called.</p>
+
+ @param xDiagram
+ The diagram to be changed.
+
+ @param xDataSource
+ This data source will be interpreted in a chart-type
+ specific way and the DataSeries found in
+ <code>xDiagram</code> will be adapted to the new data.
+ Missing data series will be created and unused ones will
+ be deleted in <code>xDiagram</code>.
+
+ @param aArguments
+ Arguments that tell the template how to slice the given
+ range. The properties should be defined in a separate
+ service.
+
+ <p>For standard parameters that may be used, see the
+ service StandardDiagramCreationParameters.
+ </p>
+ */
+ void changeDiagramData(
+ [in] XDiagram xDiagram,
+ [in] com::sun::star::chart2::data::XDataSource xDataSource,
+ [in] sequence< com::sun::star::beans::PropertyValue > aArguments );
+
+ /** States whether the given diagram could have been created by
+ the template.
+
+ <p>The template will parse the DataSeriesTree of
+ the diagram to determine if the structure matches the one
+ which would have been created by
+ createDiagramByDataSource().</p>
+
+ <p>For analysis all parts of the diagram may be used,
+ e.g. also properties set at the data series (like symbols)./p>
+
+ @param xDiagram
+ The diagram to be analyzed.
+
+ @param bAdaptProperties
+ If `TRUE` the properties of the template are set, such
+ that the template matches more accurately. E.g. for a
+ line-chart with symbols the property "Symbol" would be set
+ to `TRUE`. If this parameter is `FALSE` the template
+ itself stays unmodified.
+
+ @return
+ `TRUE` if the diagram given is structurally identical to
+ a diagram that was created using
+ createDiagramByDataSource() or
+ changeDiagram(). If `FALSE` is returned
+ the template stays unmodified even if
+ <code>bAdaptProperties</code> is `TRUE`.
+ */
+ boolean matchesTemplate( [in] XDiagram xDiagram,
+ [in] boolean bAdaptProperties );
+
+ /** Provides a chart type object that can be used to create new
+ series.
+
+ @param aFormerlyUsedChartTypes
+ The list can be used to copy some aspects from old chart types during the creation of a new chart type.
+ The list might be empty.
+ */
+ XChartType getChartTypeForNewSeries( [in] sequence< XChartType > aFormerlyUsedChartTypes );
+
+ XDataInterpreter getDataInterpreter();
+
+ /** Applies a chart-type specific style (e.g. symbols) to all series in the
+ sequence aSeries.
+
+ @param xSeries
+ a single data series to which a style will be applied
+
+ @param nChartTypeGroupIndex
+ Denotes in which chart-type group the series lies, such this method
+ can apply different styles for different chart-type groups
+
+ @param nSeriesIndex
+ The index of the series inside the current chart-type group.
+ nSeriesIndex does not uniquely identify a data series alone, but
+ only together with nChartTypeGroupIndex
+
+ @param nSeriesCount
+ The number of series in the current chart-type group.
+
+ @todo In the future, this should only change the "Style" property and no
+ hard attributes.
+ */
+ void applyStyle( [in] XDataSeries xSeries,
+ [in] long nChartTypeGroupIndex,
+ [in] long nSeriesIndex,
+ [in] long nSeriesCount );
+
+ /** Resets all styles that were changed from the default at any
+ object in the chart and have not been later modified.
+
+ <p>In createDiagramByDataSource() or
+ changeDiagram() a template might e.g. change
+ the page background color or the line style of all data
+ series. This method should reset all objects that still have
+ the changed settings to the default.</p>
+
+ <p>If for example the template changed the
+ com::sun::star::drawing::LineStyle of all
+ series to NONE, this method should reset all series with
+ LineStyle NONE back to SOLID. If a series has a style DASH,
+ it must not be changed.</p>
+ */
+ void resetStyles( [in] XDiagram xDiagram );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XColorScheme.idl b/offapi/com/sun/star/chart2/XColorScheme.idl
new file mode 100644
index 000000000..133d675c9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XColorScheme.idl
@@ -0,0 +1,61 @@
+/* -*- 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_XColorScheme_idl
+#define com_sun_star_chart2_XColorScheme_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/Color.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XColorScheme : ::com::sun::star::uno::XInterface
+{
+ /** returns the default color for the nth data series.
+
+ <p>This may be a system wide color or a color coming from a
+ color scheme.</p>
+
+ <p>Usually there exist a fixed number of default colors. This
+ method should always return a valid Color. If the index (i)
+ is higher than the number of default colors (n), the method
+ should return the modulus (i mod n), i.e., the colors should
+ repeat in a cyclic way.</p>
+
+ @param nIndex
+ The index of the series. This is used to obtain the
+ correct default color.
+ */
+ ::com::sun::star::util::Color getColorByIndex( [in] long nIndex );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XCoordinateSystem.idl b/offapi/com/sun/star/chart2/XCoordinateSystem.idl
new file mode 100644
index 000000000..be9478411
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XCoordinateSystem.idl
@@ -0,0 +1,84 @@
+/* -*- 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_XCoordinateSystem_idl
+#define com_sun_star_chart2_XCoordinateSystem_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/chart2/XAxis.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XCoordinateSystem : ::com::sun::star::uno::XInterface
+{
+ /** the dimension of the coordinate-system.
+ */
+ long getDimension();
+
+ /** identifies the type of coordinate system (e.g. Cartesian, polar ...)
+ */
+ string getCoordinateSystemType();
+
+ /** return a service name from which the view component for this coordinate system can be created
+ */
+ string getViewServiceName();
+
+ /** The dimension says whether it is a x, y or z axis.
+ The index says whether it is a primary or a secondary axis.
+ Use nIndex == 0 for a primary axis.
+ */
+ void setAxisByDimension( [in] long nDimension,
+ [in] XAxis xAxis,
+ [in] long nIndex )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** The dimension says whether it is a x, y or z axis.
+ The index indicates whether it is a primary or a secondary axis or maybe more in future.
+ Use nIndex == 0 for a primary axis.
+ An empty Reference will be returned if the given nDimension and nIndex are in the valid range but no axis is set for those values.
+ An IndexOutOfBoundsException will be thrown if nDimension is lower than 0 or greater than the value returned by getDimension()
+ and/or if nIndex is lower 0 or greater than the value returned by getMaxAxisIndexByDimension(nDimension).
+ */
+ XAxis getAxisByDimension( [in] long nDimension, [in] long nIndex )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** In one dimension there could be several axes to enable main and secondary axis and maybe more in future.
+ This method returns the maximum index at which an axis exists for the given dimension.
+ It is allowed that some indexes in between do not have an axis.
+ */
+ long getMaximumAxisIndexByDimension( [in] long nDimension )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XCoordinateSystemContainer.idl b/offapi/com/sun/star/chart2/XCoordinateSystemContainer.idl
new file mode 100644
index 000000000..94bdb19fe
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XCoordinateSystemContainer.idl
@@ -0,0 +1,68 @@
+/* -*- 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_XCoordinateSystemContainer_idl
+#define com_sun_star_chart2_XCoordinateSystemContainer_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XCoordinateSystem.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XCoordinateSystemContainer : com::sun::star::uno::XInterface
+{
+ /** add a coordinate system to the coordinate system container
+
+ @throws IllegalArgumentException
+ If the given coordinate system is already contained in the container.
+ */
+ void addCoordinateSystem( [in] XCoordinateSystem aCoordSys )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** removes one coordinate system from the coordinate system container.
+ */
+ void removeCoordinateSystem( [in] XCoordinateSystem aCoordSys )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** retrieve all coordinate systems
+ */
+ sequence< XCoordinateSystem > getCoordinateSystems();
+
+ /** set all coordinate systems
+ */
+ void setCoordinateSystems( [in] sequence< XCoordinateSystem > aCoordinateSystems )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XDataInterpreter.idl b/offapi/com/sun/star/chart2/XDataInterpreter.idl
new file mode 100644
index 000000000..9f2d465ae
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDataInterpreter.idl
@@ -0,0 +1,99 @@
+/* -*- 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_XDataInterpreter_idl
+#define com_sun_star_chart2_XDataInterpreter_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/chart2/InterpretedData.idl>
+#include <com/sun/star/chart2/data/XDataSource.idl>
+#include <com/sun/star/chart2/XDataSeries.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** offers tooling to interpret different data sources in a structural
+ and chart-type-dependent way.
+ */
+interface XDataInterpreter : ::com::sun::star::uno::XInterface
+{
+ /** Interprets the given data.
+
+ @param xSource
+ the data source.
+
+ @param aArguments
+ Arguments that tell the template how to slice the given
+ range. The properties should be defined in a separate
+ service.
+
+ <p>For standard parameters that may be used, see the
+ service StandardDiagramCreationParameters.
+ </p>
+
+ @param aSeriesToReUse
+ use all the data series given here for the result before
+ creating new ones.
+ */
+ InterpretedData interpretDataSource(
+ [in] com::sun::star::chart2::data::XDataSource xSource,
+ [in] sequence< com::sun::star::beans::PropertyValue > aArguments,
+ [in] sequence< XDataSeries > aSeriesToReUse );
+
+ /** Re-interprets the data given in <code>aInterpretedData</code>
+ while keeping the number of data series and the categories.
+ */
+ InterpretedData reinterpretDataSeries( [in] InterpretedData aInterpretedData );
+
+ /** parses the given data and states, if a
+ reinterpretDataSeries() call can be done
+ without data loss.
+
+ @return
+ `TRUE`, if the data given in
+ <code>aInterpretedData</code> has a similar structure than
+ the one required is used as output of the data interpreter.
+ */
+ boolean isDataCompatible( [in] InterpretedData aInterpretedData );
+
+ /** Try to reverse the operation done in
+ interpretDataSource().
+
+ <p>In case <code>aInterpretedData</code> is the result of
+ interpretDataSource()( <code>xSource</code> ),
+ the result of this method should be <code>xSource</code>.</p>
+ */
+ com::sun::star::chart2::data::XDataSource mergeInterpretedData( [in] InterpretedData aInterpretedData );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XDataPointCustomLabelField.idl b/offapi/com/sun/star/chart2/XDataPointCustomLabelField.idl
new file mode 100644
index 000000000..a6a1b0151
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDataPointCustomLabelField.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * 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/.
+ */
+#ifndef com_sun_star_chart2_DataPointCustomLabelField_idl
+#define com_sun_star_chart2_DataPointCustomLabelField_idl
+
+#include <com/sun/star/chart2/XFormattedString2.idl>
+#include <com/sun/star/chart2/DataPointCustomLabelFieldType.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ Provides interface for DataPointCustomLabelField service.
+
+ @since LibreOffice 6.1
+*/
+interface XDataPointCustomLabelField : XFormattedString2
+{
+ DataPointCustomLabelFieldType getFieldType();
+
+ void setFieldType( [in] DataPointCustomLabelFieldType fieldType );
+
+ string getGuid();
+
+ void setGuid( [in] string guid );
+
+};
+
+
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/chart2/XDataProviderAccess.idl b/offapi/com/sun/star/chart2/XDataProviderAccess.idl
new file mode 100644
index 000000000..e8d8b902d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDataProviderAccess.idl
@@ -0,0 +1,40 @@
+/* -*- 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/.
+ */
+#ifndef __com_sun_star_chart2_XDataProviderCreator_idl__
+#define __com_sun_star_chart2_XDataProviderCreator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/chart/data/XDataProvider.idl>
+
+module com { module sun { module star { module chart2 {
+
+
+/** Provides access to chart2 data providers for a given document
+
+ @since LibreOffice 6.1
+
+ */
+interface XDataProviderAccess : com::sun::star::uno::XInterface
+{
+
+ /** creates a data provider for chart2, if possible
+
+ @see com::sun::star::chart2::data::XDataProvider
+
+ */
+ com::sun::star::chart2::data::XDataProvider createDataProvider();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XDataSeries.idl b/offapi/com/sun/star/chart2/XDataSeries.idl
new file mode 100644
index 000000000..7af8cdd00
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDataSeries.idl
@@ -0,0 +1,72 @@
+/* -*- 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_XDataSeries_idl
+#define com_sun_star_chart2_XDataSeries_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** A data series represents the object that has all the knowledge to
+ be rendered as a visual data series.
+ */
+interface XDataSeries : ::com::sun::star::uno::XInterface
+{
+ /** @returns
+ the element at the specified index.
+
+ @param nIndex
+ specifies the index of the data point within the series. The first index is 0.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if the index is not valid.
+ */
+ ::com::sun::star::beans::XPropertySet getDataPointByIndex( [in] long nIndex )
+ raises( ::com::sun::star::lang::IndexOutOfBoundsException );
+
+ /** the formatting of the specified data point is cleared
+
+ @param nIndex
+ specifies the index of the data point within the series. The first index is 0.
+ */
+ void resetDataPoint( [in] long nIndex );
+
+ /** all data point formatting are cleared
+ */
+ void resetAllDataPoints();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XDataSeriesContainer.idl b/offapi/com/sun/star/chart2/XDataSeriesContainer.idl
new file mode 100644
index 000000000..2436953e7
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDataSeriesContainer.idl
@@ -0,0 +1,68 @@
+/* -*- 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_XDataSeriesContainer_idl
+#define com_sun_star_chart2_XDataSeriesContainer_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XDataSeries.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XDataSeriesContainer : com::sun::star::uno::XInterface
+{
+ /** add a data series to the data series container
+
+ @throws IllegalArgumentException
+ If the given data series is already contained in the data series container.
+ */
+ void addDataSeries( [in] XDataSeries aDataSeries )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** removes one data series from the data series container.
+ */
+ void removeDataSeries( [in] XDataSeries aDataSeries )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** retrieve all data series
+ */
+ sequence< XDataSeries > getDataSeries();
+
+ /** set all data series
+ */
+ void setDataSeries( [in] sequence< XDataSeries > aDataSeries )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XDefaultSizeTransmitter.idl b/offapi/com/sun/star/chart2/XDefaultSizeTransmitter.idl
new file mode 100644
index 000000000..da4a4b1af
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDefaultSizeTransmitter.idl
@@ -0,0 +1,53 @@
+/* -*- 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_xdefaultsizetransmitter_idl
+#define com_sun_star_chart2_xdefaultsizetransmitter_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Size.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Allows to set a default size. This size will be used in case no further information si available.
+ */
+interface XDefaultSizeTransmitter : ::com::sun::star::uno::XInterface
+{
+ /** set a default size
+ @param aSize100ThMm
+ specifies a size in hundredth mm.
+ */
+ void setDefaultSize( [in] ::com::sun::star::awt::Size aSize100ThMm );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XDiagram.idl b/offapi/com/sun/star/chart2/XDiagram.idl
new file mode 100644
index 000000000..a878759be
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDiagram.idl
@@ -0,0 +1,103 @@
+/* -*- 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_XDiagram_idl
+#define com_sun_star_chart2_XDiagram_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/chart2/XLegend.idl>
+#include <com/sun/star/chart2/XColorScheme.idl>
+#include <com/sun/star/chart2/data/XDataSource.idl>
+#include <com/sun/star/chart2/data/XLabeledDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XDiagram : ::com::sun::star::uno::XInterface
+{
+ /** returns the property set that determines the visual appearance
+ of the wall.
+
+ <p>The wall is the area behind the union of all
+ coordinate systems used in a diagram.</p>
+ */
+ com::sun::star::beans::XPropertySet getWall();
+
+ /** returns the property set that determines the visual appearance
+ of the floor if any.
+
+ <p>The floor is the bottom of a 3D diagram.
+ For a 2D diagram NULL is returned.</p>
+ */
+ com::sun::star::beans::XPropertySet getFloor();
+
+ /** returns the legend, which may represent data series and other
+ information about a diagram in a separate box.
+ */
+ XLegend getLegend();
+
+ /** sets a new legend.
+ */
+ void setLegend( [in] XLegend xLegend );
+
+ /** returns an XColorScheme that defines the default
+ colors for data series (or data points) in the diagram.
+ */
+ XColorScheme getDefaultColorScheme();
+
+ /** sets an XColorScheme that defines the default
+ colors for data series (or data points) in the diagram.
+ */
+ void setDefaultColorScheme( [in] XColorScheme xColorScheme );
+
+ /** sets new data to the diagram.
+
+ @param xDataSource
+ This data source will be interpreted in a chart-type
+ specific way and the DataSeries found in
+ <code>xDiagram</code> will be adapted to the new data.
+ Missing data series will be created and unused ones will
+ be deleted.
+
+ @param aArguments
+ Arguments tells how to slice the given data.
+
+ <p>For standard parameters that may be used, see the
+ service StandardDiagramCreationParameters.
+ </p>
+ */
+ void setDiagramData( [in] com::sun::star::chart2::data::XDataSource xDataSource,
+ [in] sequence< com::sun::star::beans::PropertyValue > aArguments );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XDiagramProvider.idl b/offapi/com/sun/star/chart2/XDiagramProvider.idl
new file mode 100644
index 000000000..fea934e4a
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDiagramProvider.idl
@@ -0,0 +1,52 @@
+/* -*- 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_XDiagramProvider_idl
+#define com_sun_star_chart2_XDiagramProvider_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XDiagram.idl>
+#include <com/sun/star/chart2/XChartTypeTemplate.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Gives access to a single diagram. This interface is needed by the
+ wrapper for the old API (namespace com::sun::star::chart).
+ */
+interface XDiagramProvider : ::com::sun::star::uno::XInterface
+{
+ XDiagram getDiagram();
+
+ void setDiagram( [in] XDiagram xDiagram );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XFormattedString.idl b/offapi/com/sun/star/chart2/XFormattedString.idl
new file mode 100644
index 000000000..b16fe06c8
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XFormattedString.idl
@@ -0,0 +1,48 @@
+/* -*- 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_XFormattedString_idl
+#define com_sun_star_chart2_XFormattedString_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XFormattedString : ::com::sun::star::uno::XInterface
+{
+ string getString();
+
+ void setString( [in] string String );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XFormattedString2.idl b/offapi/com/sun/star/chart2/XFormattedString2.idl
new file mode 100644
index 000000000..c780dd9e2
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XFormattedString2.idl
@@ -0,0 +1,55 @@
+/* -*- 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_XFormattedString2_idl
+#define com_sun_star_chart2_XFormattedString2_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/style/CharacterProperties.idl>
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#include <com/sun/star/chart2/XFormattedString.idl>
+
+module com { module sun { module star { module chart2 {
+
+/**
+ Provides unified interface for FormattedString service.
+
+ @since LibreOffice 4.1
+*/
+interface XFormattedString2
+{
+ /** Access to various character properties.
+
+ Supports the properties of the
+ com::sun::star::style::CharacterProperties service, and also optionally
+ those of the com::sun::star::style::CharacterPropertiesAsian and
+ com::sun::star::style::CharacterPropertiesComplex services.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ interface com::sun::star::chart2::XFormattedString;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XInternalDataProvider.idl b/offapi/com/sun/star/chart2/XInternalDataProvider.idl
new file mode 100644
index 000000000..ed5c51868
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XInternalDataProvider.idl
@@ -0,0 +1,89 @@
+/* -*- 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_XInternalDataProvider_idl
+#define com_sun_star_chart2_XInternalDataProvider_idl
+
+#include <com/sun/star/chart2/data/XDataProvider.idl>
+#include <com/sun/star/chart2/data/XDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** An internal DataProvider that has more access to data than a plain
+ DataProvider.
+ */
+interface XInternalDataProvider : com::sun::star::chart2::data::XDataProvider
+{
+ boolean hasDataByRangeRepresentation( [in] string aRange );
+ sequence< any > getDataByRangeRepresentation( [in] string aRange );
+ void setDataByRangeRepresentation( [in] string aRange, [in] sequence< any > aNewData );
+
+ /** @note Note that -1 is allowed as the sequence is inserted
+ after the given index. So to insert a sequence as the
+ new first sequence (index 0), you would pass -1 here.
+ */
+ void insertSequence( [in] long nAfterIndex );
+ void deleteSequence( [in] long nAtIndex );
+ /** same as insertSequence with nAfterIndex being the largest
+ current index of the data, i.e. (size - 1)
+ */
+ void appendSequence();
+
+ void insertDataPointForAllSequences( [in] long nAfterIndex );
+ void deleteDataPointForAllSequences( [in] long nAtIndex );
+ void swapDataPointWithNextOneForAllSequences( [in] long nAtIndex );
+
+ /** If range representations of data sequences change due to
+ internal structural changes, they must be registered at the
+ data provider.
+
+ <p>Sequences that are directly retrieved via the methods of
+ the XDataProvider interface are already registered. If a
+ labeled data sequence was created by cloning an existing one,
+ it has to be explicitly registered via this method.</p>
+ */
+ void registerDataSequenceForChanges( [in] com::sun::star::chart2::data::XDataSequence xSeq );
+
+ /** insert an additional sequence for categories nLevel>=1;
+ categories at level 0 are always present and cannot be inserted or deleted
+ @since OOo 3.3
+ */
+ void insertComplexCategoryLevel( [in] long nLevel );
+ /** deletes an additional sequence for categories at nLevel>=1;
+ categories at level 0 are always present and cannot be deleted
+ @since OOo 3.3
+ */
+ void deleteComplexCategoryLevel( [in] long nLevel );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XLabeled.idl b/offapi/com/sun/star/chart2/XLabeled.idl
new file mode 100644
index 000000000..af05f9089
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XLabeled.idl
@@ -0,0 +1,61 @@
+/* -*- 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_XLabeled_idl
+#define com_sun_star_chart2_XLabeled_idl
+
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/chart2/XTitle.idl>
+#include <com/sun/star/drawing/RectanglePoint.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XLabeled
+{
+ void setLabel( [in] XTitle xTitle );
+
+ XTitle getLabel();
+
+ void setOwnAnchor( [in] ::com::sun::star::drawing::RectanglePoint aAnchorPoint );
+
+ ::com::sun::star::drawing::RectanglePoint getOwnAnchor();
+
+ void setLabelAnchor( [in] ::com::sun::star::drawing::RectanglePoint aAnchorPoint );
+
+ ::com::sun::star::drawing::RectanglePoint getLabelAnchor();
+
+ void setOffset( [in] sequence< double > aOffsetVector );
+
+ sequence< double > getOffset();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XLegend.idl b/offapi/com/sun/star/chart2/XLegend.idl
new file mode 100644
index 000000000..4db147376
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XLegend.idl
@@ -0,0 +1,47 @@
+/* -*- 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_XLegend_idl
+#define com_sun_star_chart2_XLegend_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** interface for the legend of a diagram
+ */
+interface XLegend : ::com::sun::star::uno::XInterface
+{
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XRegressionCurve.idl b/offapi/com/sun/star/chart2/XRegressionCurve.idl
new file mode 100644
index 000000000..7db25123f
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XRegressionCurve.idl
@@ -0,0 +1,51 @@
+/* -*- 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_XRegressionCurve_idl
+#define com_sun_star_chart2_XRegressionCurve_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/chart2/XRegressionCurveCalculator.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XRegressionCurve : com::sun::star::uno::XInterface
+{
+ XRegressionCurveCalculator getCalculator();
+
+ ::com::sun::star::beans::XPropertySet getEquationProperties();
+
+ void setEquationProperties( [in] ::com::sun::star::beans::XPropertySet xEquationProperties );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl b/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl
new file mode 100644
index 000000000..8162b8cfb
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl
@@ -0,0 +1,182 @@
+/* -*- 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_XRegressionCurveCalculator_idl
+#define com_sun_star_chart2_XRegressionCurveCalculator_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#include <com/sun/star/chart2/XScaling.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XRegressionCurveCalculator : com::sun::star::uno::XInterface
+{
+ /** set calculation properties for curve calculation.
+
+ @param degree
+ Degree of polynomial regression curve, value should be greater than zero
+ If the curve is not polynomial, this property has no effect.
+
+ @param period
+ Period of a moving average regression curve, value should be greater or equal to 2
+ If the curve is not moving average regression curve, this property has no effect.
+
+ @param forceIntercept
+ Should force the intercept value.
+
+ @param interceptValue
+ Intercept value.
+
+ */
+ void setRegressionProperties( [in] long degree,
+ [in] boolean forceIntercept,
+ [in] double interceptValue,
+ [in] long period);
+
+ /** recalculates the parameters of the internal regression curve according to
+ the <i>x</i>- and <i>y</i>-values given.
+
+ @param aXValues
+ All x-values that represent the measurement points on
+ which the regression is based
+
+ @param aYValues
+ All y-values that represent the measurement points on
+ which the regression is based
+ */
+ void recalculateRegression( [in] sequence< double > aXValues,
+ [in] sequence< double > aYValues);
+
+
+ /** calculates the value of the regression curve for <i>x</i>.
+
+ @param x
+ The abscissa value for which the value of the regression
+ curve should be calculated. All numbers that are part of
+ the domain of the regression function are valid.
+
+ @return
+ If <i>x</i> is element of the domain of the regression
+ curve function, the result is its value.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ If <i>x</i> is not part of the domain of the regression
+ function.
+ */
+ double getCurveValue( [in] double x )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** calculate multiple points of a regression curve at once. Note
+ that this method may optimize the output by returning less
+ points, e.g. for a line you may get only two resulting points
+ instead of nPointCount() points. This is only
+ allowed if the parameter
+ bMaySkipPointsInCalculation() is set to
+ `TRUE`.
+
+ <p>It is important that a renderer takes the scalings into
+ account. When one of these parameters is unknown, no
+ optimization must be done.</p>
+
+ @param min the abscissa value for the starting point.
+ @param max the abscissa value for the ending point.
+
+ @param nPointCount the number of points to calculate.
+
+ @param bMaySkipPointsInCalculation determines whether it is
+ allowed to skip points in the calculation. When this
+ parameter is `TRUE` it is assumed that the underlying
+ coordinate system is Cartesian.
+
+ @param xScalingX a scaling that is used for the values in
+ x-direction
+
+ @param xScalingY a scaling that is used for the values in
+ y-direction
+ */
+ sequence< com::sun::star::geometry::RealPoint2D > getCurveValues(
+ [in] double min,
+ [in] double max,
+ [in] long nPointCount,
+ [in] XScaling xScalingX,
+ [in] XScaling xScalingY,
+ [in] boolean bMaySkipPointsInCalculation )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Returns the value of the correlation coefficient for the given
+ regression. This value is often denoted as <i>r</i> or
+ <i>R</i>.
+
+ <p>The value of <i>r</i> is signed. Often
+ <i>r</i><sup>2</sup> is used instead of <i>r</i> to denote
+ a regression curve's accuracy.</p>
+
+ @return
+ The return value is the fraction of the variance in the
+ data that is explained by the regression.
+ */
+ double getCorrelationCoefficient();
+
+ /** Retrieve a string showing the regression curve's function with
+ calculated parameters.
+
+ @return
+ The string returned contains the regression curve's
+ formula in a form <pre>"f(x) = ..."</pre>, where the
+ calculated parts are filled out. For a linear regression
+ you might get <pre>"f(x) = 0.341 x + 1.45"</pre>.
+ */
+ string getRepresentation();
+
+ /** Returns a representation using the given number format for formatting all numbers
+ contained in the formula. Wrap equation to fit in nFormulaLength characters
+
+ @see getRepresentation
+ */
+ string getFormattedRepresentation( [in] com::sun::star::util::XNumberFormatsSupplier xNumFmtSupplier,
+ [in] long nNumberFormatKey,
+ [in] long nFormulaLength );
+
+ /** Set the names of X and Y variables of the equation to replace "x" and "f(x)" in representation
+
+ @param aXName string of the name of X variable
+ @param aYName string of the name of Y variable
+ */
+ void setXYNames( [in] string aXName,
+ [in] string aYName );
+
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XRegressionCurveContainer.idl b/offapi/com/sun/star/chart2/XRegressionCurveContainer.idl
new file mode 100644
index 000000000..05b76365b
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XRegressionCurveContainer.idl
@@ -0,0 +1,69 @@
+/* -*- 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_XRegressionCurveContainer_idl
+#define com_sun_star_chart2_XRegressionCurveContainer_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XRegressionCurve.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XRegressionCurveContainer : com::sun::star::uno::XInterface
+{
+ /** add a regression curve to the container
+
+ @throws IllegalArgumentException
+ If the given regression curve is already contained in the
+ container.
+ */
+ void addRegressionCurve( [in] XRegressionCurve aRegressionCurve )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** removes one regression curve from the container.
+ */
+ void removeRegressionCurve( [in] XRegressionCurve aRegressionCurve )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** retrieve all regression curves
+ */
+ sequence< XRegressionCurve > getRegressionCurves();
+
+ /** set all regression curves
+ */
+ void setRegressionCurves( [in] sequence< XRegressionCurve > aRegressionCurves )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XScaling.idl b/offapi/com/sun/star/chart2/XScaling.idl
new file mode 100644
index 000000000..fe9a3baff
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XScaling.idl
@@ -0,0 +1,59 @@
+/* -*- 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_XScaling_idl
+#define com_sun_star_chart2_XScaling_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+
+interface XScaling : ::com::sun::star::uno::XInterface
+{
+ /**
+ * Given a numeric value, return the scaled value that conforms
+ * to a predefined scaling rule. For instance, for linear
+ * scaling, given a x value, the method may return a y value as
+ * defined by y = Ax + B for predefined values of A and B.
+ *
+ * @param value input value from which to calculate the scaled
+ * value.
+ *
+ * @return scaled value based on a predefined scaling rule.
+ */
+ double doScaling( [in] double value );
+
+ /**
+ * Get an interface object that conforms to a scaling rule that
+ * is the reverse of the original scaling rule.
+ *
+ * @return interface object that represents the reversed
+ * scaling rule.
+ */
+ com::sun::star::chart2::XScaling getInverseScaling();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XTarget.idl b/offapi/com/sun/star/chart2/XTarget.idl
new file mode 100644
index 000000000..f0f914958
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XTarget.idl
@@ -0,0 +1,43 @@
+/* -*- 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_XTarget_idl
+#define com_sun_star_chart2_XTarget_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module chart2 {
+
+//................... wrong --> XDrawGroup
+
+// [in] com::sun::star::drawing::XShapes xShapes
+
+interface XTarget : ::com::sun::star::uno::XInterface
+{
+ void addDrawElement(); //(DrawElement);
+
+ //... provide something for creation of Transformation ...
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XTimeBased.idl b/offapi/com/sun/star/chart2/XTimeBased.idl
new file mode 100644
index 000000000..487e22ecb
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XTimeBased.idl
@@ -0,0 +1,39 @@
+/* -*- 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/.
+ */
+#ifndef com_sun_star_chart2_XTimeBased_idl
+#define com_sun_star_chart2_XTimeBased_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module chart2 {
+
+interface XTimeBased : com::sun::star::uno::XInterface
+{
+
+ /**
+ * @return
+ * FALSE if the data wrapped around
+ */
+ boolean switchToNext( [in] boolean wrap);
+
+ /**
+ * point is the zero based index into the time based array
+ *
+ * @return FALSE if the point is outside of the supported array
+ */
+ boolean setToPointInTime( [in] long point );
+
+ void setRange( [in] long start, [in] long end );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XTitle.idl b/offapi/com/sun/star/chart2/XTitle.idl
new file mode 100644
index 000000000..a1104cbc0
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XTitle.idl
@@ -0,0 +1,48 @@
+/* -*- 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_XTitle_idl
+#define com_sun_star_chart2_XTitle_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XFormattedString.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XTitle : ::com::sun::star::uno::XInterface
+{
+ sequence< XFormattedString > getText();
+
+ void setText( [in] sequence< XFormattedString > Strings );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XTitled.idl b/offapi/com/sun/star/chart2/XTitled.idl
new file mode 100644
index 000000000..80f03254c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XTitled.idl
@@ -0,0 +1,55 @@
+/* -*- 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_XTitled_idl
+#define com_sun_star_chart2_XTitled_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/XTitle.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+/** Interface to be implemented by objects that support having a title of type
+ XTitle.
+ */
+interface XTitled : ::com::sun::star::uno::XInterface
+{
+ /** get the object holding the title's content and formatting
+ */
+ XTitle getTitleObject();
+
+ /** set a new title object replacing the former one
+ */
+ void setTitleObject( [in] XTitle Title );
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/XTransformation.idl b/offapi/com/sun/star/chart2/XTransformation.idl
new file mode 100644
index 000000000..a19ce8839
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XTransformation.idl
@@ -0,0 +1,89 @@
+/* -*- 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_XTransformation_idl
+#define com_sun_star_chart2_XTransformation_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+ // NOTES
+
+ //... provide help for creating the right transformation
+ // ... access to source and destination coordinate system ?
+
+/** allows the transformation of numeric values from one
+ coordinate-system into another. Values may be transformed using
+ any mapping.
+ */
+interface XTransformation : ::com::sun::star::uno::XInterface
+{
+ /** transforms the given input data tuple, given in the source
+ coordinate system, according to the internal transformation
+ rules, into a tuple of transformed coordinates in the
+ destination coordinate system.
+
+ <p>Note that both coordinate systems may have different
+ dimensions, e.g., if a transformation does simply a projection
+ into a lower-dimensional space.</p>
+
+ @param aValues a source tuple of data that is to be
+ transformed. The length of this sequence must be
+ equivalent to the dimension of the source coordinate
+ system.
+
+ @return the transformed data tuple. The length of this
+ sequence is equal to the dimension of the output
+ coordinate system.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the dimension of the input vector is not equal to the
+ dimension given in getSourceDimension().
+ */
+ sequence< double > transform( [in] sequence< double > aValues )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** the dimension of the input coordinate sequence that is to be
+ transformed by the transform() method.
+ */
+ long getSourceDimension();
+
+ /** the dimension of the output coordinate sequence that is the
+ result of the transform() method.
+ */
+ long getTargetDimension();
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/DataFilter.idl b/offapi/com/sun/star/chart2/data/DataFilter.idl
new file mode 100644
index 000000000..9f1d831ab
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataFilter.idl
@@ -0,0 +1,62 @@
+/* -*- 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_data_DataFilter_idl
+#define com_sun_star_chart2_data_DataFilter_idl
+
+#include <com/sun/star/chart2/data/DataSource.idl>
+#include <com/sun/star/chart2/data/DataSink.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** A filter gets some data and provides some data. The received data
+ is typically (but not necessarily) different from the data that
+ can be retrieved by a filter.
+ */
+service DataFilter
+{
+ /** A DataFilter is a DataSink, because you can set some data at a
+ DataFilter.
+ */
+ service DataSink;
+
+ /** A DataFilter is a DataSource, because you can get some data
+ from a DataFilter.
+ */
+ service DataSource;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/DataProvider.idl b/offapi/com/sun/star/chart2/data/DataProvider.idl
new file mode 100644
index 000000000..bcda9996e
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataProvider.idl
@@ -0,0 +1,61 @@
+/* -*- 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_data_DataProvider_idl
+#define com_sun_star_chart2_data_DataProvider_idl
+
+#include <com/sun/star/chart2/data/XDataProvider.idl>
+#include <com/sun/star/chart2/data/XRangeXMLConversion.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+service DataProvider
+{
+ /** For accessing data a component provides for being used by
+ charts.
+ */
+ interface ::com::sun::star::chart2::data::XDataProvider;
+
+ /** allows you to convert the ranges a data provider deals with
+ internally into valid XML.
+ */
+ [optional] interface ::com::sun::star::chart2::data::XRangeXMLConversion;
+
+ /** If set to false `FALSE`, values from hidden cells are not returned.
+ */
+ [optional, property] boolean IncludeHiddenCells;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/DataSequence.idl b/offapi/com/sun/star/chart2/data/DataSequence.idl
new file mode 100644
index 000000000..34d655800
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataSequence.idl
@@ -0,0 +1,148 @@
+/* -*- 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_data_DataSequence_idl
+#define com_sun_star_chart2_data_DataSequence_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/container/XIndexReplace.idl>
+#include <com/sun/star/util/XCloneable.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#include <com/sun/star/chart2/data/XDataSequence.idl>
+#include <com/sun/star/chart2/data/XNumericalDataSequence.idl>
+#include <com/sun/star/chart2/data/XTextualDataSequence.idl>
+#include <com/sun/star/chart2/data/DataSequenceRole.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** describes a container for a sequence of values.
+
+ <p>With the interface XDataSequence it is possible to
+ transfer a complete sequence of values.
+
+ <p>With the optional
+ com::sun::star::container::XIndexReplace it is
+ possible to modify single elements, if the corresponding
+ DataProvider supports modification of its values.</p>
+ */
+service DataSequence
+{
+ /** provides read- and write-access to the underlying data.
+ */
+ interface XDataSequence;
+
+ /** you may implement this interface to allow a fast access to
+ numerical data. With this interface you can get a
+ `sequence` of `double` values.
+ */
+ [optional] interface XNumericalDataSequence;
+
+ /** you may implement this interface to allow a fast access to
+ textual data. With this interface you can get a
+ `sequence` of `string` values.
+ */
+ [optional] interface XTextualDataSequence;
+
+ /** provides read- and write-access to single elements of the
+ underlying data.
+
+ <p>Only when supporting this interface, it is possible for
+ client applications to modify the content of the data that is
+ provided by this DataSequence.</p>
+ */
+ [optional] interface ::com::sun::star::container::XIndexReplace;
+
+ /** Allows creating copies of data sequences. If this interface
+ is not supported, the same object will be shared if used by
+ multiple objects.
+
+ <p>Cloning is especially useful when using identifiers. A
+ cloned data sequence will get a new identifier while the
+ source range representation is identical to the original
+ one.</p>
+
+ <p>Note that, when this interface is not implemented the
+ releasing of identifiers at the XDataProvider
+ will not work properly, because more than one object may use
+ the same identifier. So, when an object releases the
+ identifier, another object might use a stale identifier.</p>
+ */
+ [optional] interface ::com::sun::star::util::XCloneable;
+
+ /** is used to broadcast change events whenever the content (data)
+ or the range representations change.
+ */
+ interface com::sun::star::util::XModifyBroadcaster;
+
+ /** the property interface by which the properties of all
+ supported services are exchanged
+ */
+ interface ::com::sun::star::beans::XPropertySet;
+
+
+ /** The key (index) of the number format that this sequence should
+ be formatted with.
+
+ <p>The key identifies a number format in an
+ com::sun::star::util::XNumberFormats
+ object. This object can be retrieved by the
+ com::sun::star::util::XNumberFormatsSupplier
+ interface supported by
+ com::sun::star::chart::ChartDocument.</p>
+
+ @todo use proper number format instead of a transient key.
+ */
+// [optional, property] long NumberFormatKey;
+
+ /** The role of the series inside a data series. This may be any
+ string. However some strings are predefined and should always
+ be used in the same way.
+
+ @see DataSequenceRole
+ */
+ [property] DataSequenceRole Role;
+
+ /** If set to false `FALSE`, values from hidden cells are not returned.
+ */
+ [optional, property] boolean IncludeHiddenCells;
+
+ /** a sequence of indexes that identify values that are hidden in the underlying
+ data provider.
+ */
+ [optional, property] sequence< long > HiddenValues;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/DataSequenceRole.idl b/offapi/com/sun/star/chart2/data/DataSequenceRole.idl
new file mode 100644
index 000000000..90fd2abd9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataSequenceRole.idl
@@ -0,0 +1,102 @@
+/* -*- 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_data_DataSequenceRole_idl
+#define com_sun_star_chart2_data_DataSequenceRole_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** a string that states in what way a DataSequence
+ should be used. If this property is an empty string, no
+ proposition about usage is made.
+
+ <p>The strings can have any value. However some values are
+ predefined and should always be interpreted in the same way.</p>
+
+ <dl>
+ <dt>label</dt>
+ <dd>values are used as a label for a series. Usually, you
+ will have just one cell containing a string.</dd>
+ <dt>values-x</dt>
+ <dd>values are used as x-values in an XY- or bubble
+ diagram</dd>
+ <dt>values-y</dt>
+ <dd>values are used as y-values in an XY-Diagram or as values
+ in a bar, line, etc. chart</dd>
+ <dt>values-z</dt>
+ <dd>values may be used as z-values in a three-dimensional
+ XYZ-Diagram or a surface-chart</dd>
+ <dt>sizes</dt>
+ <dd>values are used as radius of the bubbles in a
+ Bubble-Diagram</dd>
+ <dt>error-bars-x-positive</dt>
+ <dd>values are used as error-information in positive x-direction for
+ displaying error-bars</dd>
+ <dt>error-bars-x-negative</dt>
+ <dd>values are used as error-information in negative x-direction for
+ displaying error-bars</dd>
+ <dt>error-bars-y-positive</dt>
+ <dd>values are used as error-information in positive y-direction for
+ displaying error-bars</dd>
+ <dt>error-bars-y-negative</dt>
+ <dd>values are used as error-information in negative y-direction for
+ displaying error-bars</dd>
+ <dt>categories</dt>
+ <dd>values are used for categories in the diagram</dd>
+ </dl>
+
+ <p>In a candle-stick chart you have the following roles:</p>
+
+ <dl>
+ <dt>values-first</dt>
+ <dd>the first value of a series of values. In a stock-chart this
+ would be the opening course.</dd>
+ <dt>values-last</dt>
+ <dd>the last value of a series of values. In a stock-chart this
+ would be the closing course.</dd>
+ <dt>values-min</dt>
+ <dd>the minimum value of a series of values. In a stock-chart
+ this would be the lowest course that occurred during
+ trading.</dd>
+ <dt>values-max</dt>
+ <dd>the maximum value of a series of values. In a stock-chart
+ this would be the highest course that occurred during
+ trading.</dd>
+ </dl>
+ */
+typedef string DataSequenceRole;
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/DataSink.idl b/offapi/com/sun/star/chart2/data/DataSink.idl
new file mode 100644
index 000000000..24b26aa21
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataSink.idl
@@ -0,0 +1,54 @@
+/* -*- 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_data_DataSink_idl
+#define com_sun_star_chart2_data_DataSink_idl
+
+#include <com/sun/star/chart2/data/XDataSink.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** describes a service that allows reading two-dimensional data in
+ the form of a sequence of DataSequences.
+ */
+service DataSink
+{
+ /** allows the write-access of the actual data.
+ */
+ interface XDataSink;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/DataSource.idl b/offapi/com/sun/star/chart2/data/DataSource.idl
new file mode 100644
index 000000000..9ea7669c3
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DataSource.idl
@@ -0,0 +1,54 @@
+/* -*- 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_data_DataSource_idl
+#define com_sun_star_chart2_data_DataSource_idl
+
+#include <com/sun/star/chart2/data/XDataSource.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** describes a service that allows reading two-dimensional data in
+ the form of a sequence of DataSequences.
+ */
+service DataSource
+{
+ /** allows the read-access of the actual data.
+ */
+ interface XDataSource;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/DatabaseDataProvider.idl b/offapi/com/sun/star/chart2/data/DatabaseDataProvider.idl
new file mode 100644
index 000000000..a9bf0fee4
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/DatabaseDataProvider.idl
@@ -0,0 +1,38 @@
+/* -*- 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_data_DatabaseDataProvider_idl__
+#define __com_sun_star_chart2_data_DatabaseDataProvider_idl__
+
+#include <com/sun/star/chart2/data/XDatabaseDataProvider.idl>
+
+
+ module com { module sun { module star { module chart2 { module data {
+
+
+service DatabaseDataProvider : XDatabaseDataProvider
+{
+ createWithConnection([in] com::sun::star::sdbc::XConnection connection);
+};
+
+ }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/HighlightedRange.idl b/offapi/com/sun/star/chart2/data/HighlightedRange.idl
new file mode 100644
index 000000000..dbd8a9b26
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/HighlightedRange.idl
@@ -0,0 +1,66 @@
+/* -*- 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_data_HighlightedRange_idl
+#define com_sun_star_chart2_data_HighlightedRange_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+struct HighlightedRange
+{
+ /** The range representation string of the highlighted range.
+ */
+ string RangeRepresentation;
+
+ /** Only take the cell at position Index out of the given
+ Range. If this value is -1 take the whole sequence.
+ */
+ long Index;
+
+ /** Use this color for marking the range. This color may be
+ ignored and replaced by a better fitting color, if it would be
+ otherwise not well visible.
+ */
+ long PreferredColor;
+
+ /** If the highlighted range is visually highlighted and this
+ member is `TRUE`, the range given in
+ #RangeRepresentation may be included in a
+ merged range rectangle spanning a bigger range.
+ */
+ boolean AllowMerginigWithOtherRanges;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/LabelOrigin.idl b/offapi/com/sun/star/chart2/data/LabelOrigin.idl
new file mode 100644
index 000000000..cec70732a
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/LabelOrigin.idl
@@ -0,0 +1,86 @@
+/* -*- 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_data_LabelOrigin_idl
+#define com_sun_star_chart2_data_LabelOrigin_idl
+
+
+module com { module sun { module star { module chart2 { module data {
+
+
+/** is used to specify how the labels have to be created.
+
+ @see XDataSequence::generateLabel().
+ */
+enum LabelOrigin
+{
+
+ /** If a range spans a single row over more than one column, this
+ parameter has the same effect as ROW. If the range spans a
+ single column over more than one row, this is the same as
+ COLUMN.
+
+ <p>In case of a range spanning more than one column and row,
+ the shorter range of both should be used (e.g. a spreadsheet
+ range A1:B10 should treat columns as short side).</p>
+
+ <p>In case of a rectangular range, or a range that is composed
+ of more than one contiguous sub-regions, the short side cannot
+ be determined, thus
+ XDataSequence::generateLabel() will return an
+ empty sequence.</p>
+ */
+ SHORT_SIDE,
+
+
+ /** This is exactly the opposite of SHORT_SIDE. I.e., if
+ SHORT_SIDE has the same effect as ROW, LONG_SIDE will have the
+ same effect as COLUMN and the other way round.
+
+ @see LabelOrigin::SHORT_SIDE
+ */
+ LONG_SIDE,
+
+
+ /** Uses the column name for label generation. A spreadsheet
+ range A1:A6 could, e.g., result in "Column A".
+
+ <p>If a range consists of more than one column the result of
+ label generation may be empty. Of course, it could also
+ succeed with a string like "Columns A to B".
+ */
+ COLUMN,
+
+
+ /** Uses the column name for label generation. A spreadsheet
+ range A2:D2 could, e.g., result in "Row 2".
+
+ <p>If a range consists of more than one row the result of
+ label generation may be empty. Of course, it could also
+ succeed with a string like "Rows 1-3".
+ */
+ ROW
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/LabeledDataSequence.idl b/offapi/com/sun/star/chart2/data/LabeledDataSequence.idl
new file mode 100644
index 000000000..58d78598a
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/LabeledDataSequence.idl
@@ -0,0 +1,49 @@
+/* -*- 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_data_LabeledDataSequence_idl
+#define com_sun_star_chart2_data_LabeledDataSequence_idl
+
+#include <com/sun/star/chart2/data/XLabeledDataSequence2.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** describes a container for a sequence pair of value-sequences, one
+ for a label and one for the associated data.
+ */
+service LabeledDataSequence : XLabeledDataSequence2;
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/PivotTableFieldEntry.idl b/offapi/com/sun/star/chart2/data/PivotTableFieldEntry.idl
new file mode 100644
index 000000000..e14e1253d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/PivotTableFieldEntry.idl
@@ -0,0 +1,60 @@
+/* -*- 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/.
+ *
+ */
+#ifndef com_sun_star_chart2_data_PivotTableFieldEntry_idl
+#define com_sun_star_chart2_data_PivotTableFieldEntry_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/**
+ * Pivot table field entry data.
+ *
+ * @since LibreOffice 5.4
+ */
+struct PivotTableFieldEntry
+{
+ /**
+ * Name of the field entry.
+ */
+ string Name;
+
+ /**
+ * The index of the field entry.
+ */
+ long DimensionIndex;
+
+ /**
+ * The output position of the field entry in its field type.
+ */
+ long DimensionPositionIndex;
+
+ /**
+ * Does it have some members that are hidden (filtered).
+ */
+ boolean HasHiddenMembers;
+};
+
+}; // data
+}; // chart2
+}; // com
+}; // sun
+}; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/RangeHighlightListener.idl b/offapi/com/sun/star/chart2/data/RangeHighlightListener.idl
new file mode 100644
index 000000000..d3c6eaa8c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/RangeHighlightListener.idl
@@ -0,0 +1,52 @@
+/* -*- 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_data_RangeHighlightListener_idl
+#define com_sun_star_chart2_data_RangeHighlightListener_idl
+
+#include <com/sun/star/view/XSelectionChangeListener.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** A selection change listener that is attached to a
+ XRangeHighlighter in order to get notified about
+ selection changes that affect range highlighting.
+ */
+service RangeHighlightListener
+{
+ interface ::com::sun::star::view::XSelectionChangeListener;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/RangeHighlighter.idl b/offapi/com/sun/star/chart2/data/RangeHighlighter.idl
new file mode 100644
index 000000000..e2b98cbc1
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/RangeHighlighter.idl
@@ -0,0 +1,48 @@
+/* -*- 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_data_RangeHighlighter_idl
+#define com_sun_star_chart2_data_RangeHighlighter_idl
+
+#include <com/sun/star/chart2/data/XRangeHighlighter.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+service RangeHighlighter
+{
+ interface XRangeHighlighter;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl b/offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl
new file mode 100644
index 000000000..ebd2c6955
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl
@@ -0,0 +1,153 @@
+/* -*- 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_data_TabularDataProviderArguments_idl
+#define com_sun_star_chart2_data_TabularDataProviderArguments_idl
+
+#include <com/sun/star/chart/ChartDataRowSource.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+service TabularDataProviderArguments
+{
+ /** the range address string spanning all data.
+
+ <p>The range address string must be interpretable by the
+ component that implements XDataProvider and gets
+ this property as argument to
+ XDataProvider::detectArguments().</p>
+
+ <p>The representation string is of a form that may be used in the
+ user interface. Example for OOo Calc: "$Sheet1.$A$1:$D$7",
+ example for OOo Writer: "&lt;Table1.A1:D7&gt;".</p>
+
+ <p>When used as input, this range will be split in columns or
+ rows depending on the property
+ #DataRowSource.</p>
+
+ <p>When used as output of
+ XDataProvider::detectArguments() this is the
+ range that spans the ranges of all given
+ XDataSequences. If the result is ambiguous,
+ i.e., a splitting of this range would not yield the same
+ result, this property should be empty. The latter is the
+ case, when ranges are overlapping, the lengths of sequences
+ are not equal or even if the order of two sequences is swapped
+ (e.g. data comes from column A, C, B).</p>
+ */
+ [property] string CellRangeRepresentation;
+
+ /** determines, whether data sequences are created out of columns
+ or rows in a table.
+
+ <p>If this property is not given as argument it is assumed to
+ com::sun::star::chart::ChartDataRowSource::COLUMNS,
+ i.e., the default is "take data from columns".</p>
+ */
+ [property] ::com::sun::star::chart::ChartDataRowSource DataRowSource;
+
+ /** If data comes from columns, the first row will provide the
+ labels for all sequences, if data comes from rows, the first
+ column will provide the labels for all sequences.
+
+ <p>Even if this property is false, the
+ XLabeledDataSequence may contain a label, but
+ this will not be the first cell of the selection. It may be a
+ generic string like "Column C".</p>
+
+ <p>If this property is not given as argument it is assumed to
+ be `FALSE`, i.e., the default is "no labels".</p>
+ */
+ [property] boolean FirstCellAsLabel;
+
+ /** determines the order of the created labeled sequences
+
+ <p>For example a SequenceMapping of [3,0,2,1] indicates that
+ the sequence from old position "3" should now be the first one.
+ Then comes the sequence from old position "0". Then that one
+ from old position "2" and then the sequence from old position "1".</p>
+
+ <p>If the SequenceMapping contains invalid indexes just
+ ignore those single indexes. For example if you only have three
+ labeled sequences and a SequenceMapping [2,5,1,0], you should
+ ignore the "5" and continue to place the sequence from
+ old index "1" to the next new position and so on.</p>
+
+ <p>If the given SequenceMapping does not cover all existing
+ labeled sequences just put the remaining sequences in old order
+ behind the others. For example you have 4 sequences and a
+ SequenceMapping [3,1]. The result should be as if [3,1,0,2]
+ was given.</p>
+ */
+ [property] sequence< long > SequenceMapping;
+
+ /** If `FALSE` the data provider may create a data sequence
+ containing generated categories that fit the rest of the data,
+ like e.g. "Row 12", "Row 13", etc.
+
+ <p>This property is not relevant for the splitting up of the
+ data. It just indicates, if the chart wants to use part of
+ the data as categories, so that generic categories can be
+ returned if it doesn't.</p>
+
+ <p>The generic category labeled sequence returned should be
+ the first one in the returned XDataSource. It
+ needs no label. The values should have their role set to
+ "categories". The generic strings returned should also be
+ localized.</p>
+ */
+ [optional, property] boolean HasCategories;
+
+ /** This property is for providing proprietary table indexes for
+ each table appearing in a range given in
+ CellRangeRepresentation.
+
+ @deprecated
+
+ <p>This argument is supported by Spreadsheets in order to be
+ able to export a document into the StarOffice 5.0 binary
+ format.</p>
+
+ <p>Example: If you have the sheets (Sheet1, Sheet2, Sheet3) in
+ your document and a chart uses the range
+ "Sheet2.A1:.A5 Sheet3.A1:.A5 Sheet2.B1:.B5 Sheet1:B1:.B5", your
+ TableNumberList would be "1 2 1 0". A simple range like
+ "Sheet1.A1:.E4" would have the TableNumberList in "0"</p>.
+ */
+ [optional, property] string TableNumberList;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XDataProvider.idl b/offapi/com/sun/star/chart2/data/XDataProvider.idl
new file mode 100644
index 000000000..6ab3fd4aa
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataProvider.idl
@@ -0,0 +1,158 @@
+/* -*- 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_data_XDataProvider_idl
+#define com_sun_star_chart2_data_XDataProvider_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/chart2/data/XDataSource.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/sheet/XRangeSelection.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** An application that provides data for a chart must implement this
+ interface.
+ */
+interface XDataProvider : ::com::sun::star::uno::XInterface
+{
+ /** If `TRUE` is returned, a call to createDataSource with the
+ same arguments must return a valid XDataSequence object. If
+ `FALSE` is returned, createDataSource throws an exception.
+ */
+ boolean createDataSourcePossible( [in] sequence< com::sun::star::beans::PropertyValue > aArguments );
+
+ /** Creates a data source object that matches the given range
+ representation string.
+
+ <p>This can be used for creating the necessary data for a new
+ chart out of a previously selected range of cells in a
+ spreadsheet.</p>
+
+ @param aArguments
+ Arguments that tell the data provider how to slice the
+ given range. The properties should be defined in a
+ separate service.
+
+ <p>For spreadsheets and text document tables there exists a
+ service TabularDataProviderArguments
+ describing valid values for this list.</p>
+
+ @return
+ a data source containing DataSequences that
+ span the entire region given in <code>aArguments</code>.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ may be raised by the XDataProvider if it is
+ unable to interpret the arguments passed in
+ <code>aArguments</code> appropriately.
+ */
+ XDataSource createDataSource(
+ [in] sequence< com::sun::star::beans::PropertyValue > aArguments )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Tries to find out with what parameters the passed
+ DataSource most probably was created.
+
+ <p>if xDataSource is a data source that was created with
+ createDataSource(), the arguments returned here
+ should be the same than the ones passed to the function.
+ Of course, this cannot be guaranteed. However, if detection
+ is ambiguous, the returned arguments should be empty. </p>
+
+ <p>This method may merge representation strings together if
+ adjacent ranges appear successively in the range identifiers.
+ E.g., if the first range refers to "$Sheet1.$A$1:$A$8" and the
+ second range refers to "$Sheet1.$B$1:$B$8", those should be
+ merged together to "$Sheet1.$A$1:$B$8".</p>
+
+ @param xDataSource
+ A data source containing all data used in a chart.
+
+ @return
+ Arguments that when being passed to
+ createDataSource() should in an ideal case
+ return the same data source as <code>xDataSource</code>.
+ */
+ sequence< com::sun::star::beans::PropertyValue > detectArguments(
+ [in] XDataSource xDataSource );
+
+ /** If `TRUE` is returned, a call to
+ createDataSequenceByRangeRepresentation with the same argument must
+ return a valid XDataSequence object. If `FALSE` is returned,
+ createDataSequenceByRangeRepresentation throws an exception.
+ */
+ boolean createDataSequenceByRangeRepresentationPossible( [in] string aRangeRepresentation );
+
+ /** creates a single data sequence for the given data range.
+
+ @param aRangeRepresentation
+ is a string that can be interpreted by the component that
+ implements this interface. The representation string is
+ of a form that may be used in the user interface.
+
+ @see createDataSource
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given range does not contain a valid range
+ representation for a one-dimensional range of data.
+ */
+ XDataSequence createDataSequenceByRangeRepresentation(
+ [in] string aRangeRepresentation )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ XDataSequence createDataSequenceByValueArray( [in] string aRole, [in] string aValueArray )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Returns a component that is able to change a given range
+ representation to another one. This usually is a
+ controller-component that uses the GUI to allow a user to
+ select a new range.
+
+ <p>This method may return nothing, if it does not support
+ range selection or if there is no current controller available
+ that offers the functionality.</p>
+
+ @return
+ The component for selecting a new range. It must support
+ XComponent, in order to inform the receiver
+ about its lifetime.</p>
+ */
+ com::sun::star::sheet::XRangeSelection getRangeSelection();
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XDataReceiver.idl b/offapi/com/sun/star/chart2/data/XDataReceiver.idl
new file mode 100644
index 000000000..a7c853b1f
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataReceiver.idl
@@ -0,0 +1,106 @@
+/* -*- 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_data_XDataReceiver_idl
+#define com_sun_star_chart2_data_XDataReceiver_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/chart2/data/XDataProvider.idl>
+#include <com/sun/star/chart2/data/XRangeHighlighter.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+interface XDataReceiver : ::com::sun::star::uno::XInterface
+{
+ /** attaches a component that provides data for the document.
+
+ <p>The previously set data provider will be released.</p>
+
+ @param xProvider
+ The new DataProvider. If it is an empty reference, the
+ ChartDocument will have no data.
+ */
+ void attachDataProvider( [in] XDataProvider xProvider );
+
+ void setArguments( [in] sequence< com::sun::star::beans::PropertyValue > aArguments )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** returns a list of all range strings for which data has been
+ requested by the most recently attached data provider, and
+ which is still used.
+
+ <p>This list may be used by the data provider to swap charts
+ out of memory, but still get informed by changes of ranges
+ while the chart is not loaded.</p>
+ @return a list of used range strings.
+ */
+ sequence< string > getUsedRangeRepresentations();
+
+ /** Returns the data requested by the most recently attached data
+ provider, that is still used.
+ */
+ XDataSource getUsedData();
+
+ /** attaches an XNumberFormatsSupplier to this
+ XDataReceiver.
+
+ <p>The given number formats will be used for display purposes.</p>
+ */
+ void attachNumberFormatsSupplier( [in] com::sun::star::util::XNumberFormatsSupplier xSupplier );
+
+ /** Returns a component at which a view representing the data of
+ the attached data provider may listen for highlighting the
+ data ranges used by the currently selected objects in the data
+ receiver component.
+
+ <p>This is typically used by a spreadsheet to highlight the
+ ranges used by the currently selected object in a chart.</p>
+
+ <p>The range highlighter is optional, i.e., this method may
+ return an empty object.</p>
+ */
+ XRangeHighlighter getRangeHighlighter();
+
+ /** A callback object to execute a foreign popup menu window.
+
+ @since LibreOffice 5.4
+ */
+ com::sun::star::awt::XRequestCallback getPopupRequest();
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XDataSequence.idl b/offapi/com/sun/star/chart2/data/XDataSequence.idl
new file mode 100644
index 000000000..28999c01c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataSequence.idl
@@ -0,0 +1,132 @@
+/* -*- 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_data_XDataSequence_idl
+#define com_sun_star_chart2_data_XDataSequence_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/chart2/data/LabelOrigin.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** allows access to a one-dimensional sequence of data.
+
+ <p>The data that is stored in this container may contain different
+ types.</p>
+ */
+interface XDataSequence : ::com::sun::star::uno::XInterface
+{
+ /** retrieves the data stored in this component.
+
+ @return a sequence containing the actual data. This sequence
+ is a copy of the internal data. Therefore changing
+ this object does not affect the content of the
+ XDataSequence object.
+ */
+ sequence< any > getData();
+
+ /** returns the (UI) range representation string used by this
+ XDataSequence.
+ */
+ string getSourceRangeRepresentation();
+
+ /** creates a label that describes the origin of this data
+ sequence.
+
+ <p>This is useful, if a XLabeledDataSequence has
+ no label sequence. In this case you can call this method at
+ the value sequence to obtain a fitting replacement label.</p>
+
+ <p>The sequence returned here may be empty if no suitable
+ label can be generated.</p>
+
+ <p>The strings returned should be localized.</p>
+
+ @param eLabelOrigin
+ denotes what part of the range should be used for label
+ generation. If you have, e.g., one cell only, the
+ parameter COLUMN enables you to get the name of the cell's
+ column, the parameter ROW will give you its row name.
+
+ If you have a non quadratic range you can ask for labels for
+ the longer side with parameter LONG_SIDE or you can obtain labels
+ for the shorter side with parameter SHORT_SIDE.
+
+ If the range is not structured in a tabular way you may receive
+ no label.
+
+ @return
+ Suitable labels for the given sequence depending on the range
+ of the sequence and the parameter <code>eLabelOrigin</code> passed.
+ In a spreadsheet this would typically be a label like "Column x"
+ for the short side used as DataSeries name and maybe a
+ sequence "Row 1" "Row 2" "Row 3" for the long side to be used
+ as categories for example.
+
+ Example: Assuming this sequence has a Range representation spanning
+ row 5 and 6 in column 8. Following sequences of strings or similar strings
+ are expected as return values:
+
+ generateLabel( SHORT_SIDE ) -> "Column 8"
+ generateLabel( LONG_SIDE ) -> "Row 5" "Row 6"
+ generateLabel( COLUMN ) -> "Column 8"
+ generateLabel( ROW ) -> "Row 5" "Row 6"
+
+ Which strings exactly you return depends on the naming scheme of the application
+ which provides its tabular data.
+ */
+ sequence< string > generateLabel( [in] com::sun::star::chart2::data::LabelOrigin eLabelOrigin );
+
+ /** returns a number format key for the value at the given index
+ in the data sequence. If nIndex is -1, a key for the entire
+ sequence should be returned, e.g. the most commonly used one.
+
+ <p>If number formats are not supported, or there is no
+ heuristic to return a key for the entire series, return 0
+ here.</p>
+
+ <p>The number format key must be valid for the
+ com::sun::star::util::XNumberFormatsSupplier
+ given by the XDataProvider, or 0 which is assumed
+ to be always valid.</p>
+ */
+ long getNumberFormatKeyByIndex( [in] long nIndex )
+ raises( ::com::sun::star::lang::IndexOutOfBoundsException );
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XDataSink.idl b/offapi/com/sun/star/chart2/data/XDataSink.idl
new file mode 100644
index 000000000..6595109f2
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataSink.idl
@@ -0,0 +1,71 @@
+/* -*- 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_data_XDataSink_idl
+#define com_sun_star_chart2_data_XDataSink_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/data/XLabeledDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** is a container for sequences of data. With this interface data
+ can only be written to.
+
+ <p>If you want to be able to also read the data set here, your
+ component must also implement XDataSource.</p>
+ */
+interface XDataSink : ::com::sun::star::uno::XInterface
+{
+ /** sets new data sequences. The elements set here must support
+ the service DataSequence.
+
+ <p>If the data consist only of floating point numbers (double
+ values), the instances set here should also support the
+ service NumericalDataSequence.</p>
+
+ <p>If the data consist only of strings, the instances set here
+ should also support the service
+ TextualDataSequence.</p>
+
+ <p>If one of the derived services is supported by one element
+ of the sequence, it should be available for all elements in
+ the sequence.</p>
+ */
+ void setData( [in] sequence< XLabeledDataSequence > aData );
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XDataSource.idl b/offapi/com/sun/star/chart2/data/XDataSource.idl
new file mode 100644
index 000000000..4312460ee
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataSource.idl
@@ -0,0 +1,76 @@
+/* -*- 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_data_XDataSource_idl
+#define com_sun_star_chart2_data_XDataSource_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/data/XLabeledDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+
+/** provides access to sequences of data. With this interface data
+ can only be read from.
+
+ <p>If the data stored consists only of floating point numbers (double
+ values), the returned instances should also support the service
+ NumericalDataSequence.</p>
+
+ <p>If the data stored consists only of strings, the returned
+ instances should also support the service
+ TextualDataSequence.</p>
+ */
+interface XDataSource : ::com::sun::star::uno::XInterface
+// : ::com::sun::star::container::XIndexAccess
+{
+ /** returns data sequences.
+
+ @return a sequence of objects that support at least the
+ service DataSequence.
+
+ <p>If the data stored consist only of floating point numbers
+ (double values), the returned instances should also support
+ the service NumericalDataSequence.</p>
+
+ <p>If the data stored consist only of strings, the returned
+ instances should also support the service
+ TextualDataSequence.</p>
+ */
+ sequence< XLabeledDataSequence > getDataSequences();
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl b/offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl
new file mode 100644
index 000000000..c8c0bcafb
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl
@@ -0,0 +1,206 @@
+/* -*- 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_data_XDatabaseDataProvider_idl__
+#define __com_sun_star_chart2_data_XDatabaseDataProvider_idl__
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/sdbc/XConnection.idl>
+#include <com/sun/star/sdbc/XParameters.idl>
+#include <com/sun/star/sdbc/XRowSet.idl>
+#include <com/sun/star/chart2/data/XDataProvider.idl>
+#include <com/sun/star/chart2/data/XRangeXMLConversion.idl>
+
+
+ module com { module sun { module star { module chart2 { module data {
+
+
+/** identifies a XDataProvider for result sets.
+
+ @see XDataProvider
+ @see DataProvider
+ */
+interface XDatabaseDataProvider
+{
+ /** For accessing data a component provides for being used by
+ charts.
+ */
+ interface XDataProvider;
+
+ /** allows you to convert the ranges a data provider deals with
+ internally into valid XML.
+ */
+ interface XRangeXMLConversion;
+
+ /** allows access to the properties of the instance.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** allows life-time control of the database data provider.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** allows access to the properties of the instance.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ interface com::sun::star::sdbc::XParameters;
+ interface com::sun::star::sdbc::XRowSet;
+
+ /** is used for subreports and contains the names of columns of the parent report.
+ <p> These columns are typically the foreign key fields of the parent report.
+ The values of these columns are used to identify the data for the subreport.
+ Each time the parent report changes its current row, the subreport requeries
+ it's data based on the values of the master fields.</p>
+ <p>If the report is no sub report (e.g. its parent is not a report itself), this
+ property is not evaluated.</p>
+
+ */
+ [attribute,bound] sequence<string> MasterFields;
+
+ /**is used for subreports and contains the names of the columns of the subreport
+ which are related to the master fields of the parent report.
+ <p>Entries in this sequence can either denote column names in the sub report,
+ or parameter names.<br/>
+ For instance, you could base the report on the SQL statement
+ <code>SELECT * FROM invoices WHERE cust_ref = :cid</code>, and add <code>cid</code>
+ to the DetailFields property. In this case, the parameter will be filled from
+ the corresponding master field.<br/>
+ Alternatively, you could simply base your report on the table <code>invoices</code>,
+ and add the column name <code>cust_ref</code> to the DetailFields. In this case,
+ and implicit filter clause <code>WHERE cust_ref = :&lt;new_param_name&gt;</code> will
+ be created, and the artificial parameter will be filled from the corresponding
+ master field.<br/>
+ If a string in this property denotes both a column name and a parameter name, it
+ is undefined which way it is interpreted, but implementations of the service are required
+ to either decide for the parameter or the column, and proceed as usual.
+ </p>
+ <p>The columns specified herein typically represent a part of the primary key
+ fields or their aliases of the detail report.</p>
+ <p>If the report is no sub report (e.g. its parent is not a report itself), this
+ property is not evaluated.</p>
+ *
+ */
+ [attribute,bound] sequence<string> DetailFields;
+
+ /** is the command which should be executed, the type of command depends
+ on the CommandType.
+ <p>In case of a #CommandType of CommandType::COMMAND,
+ means in case the #Command specifies an SQL statement, the inherited
+ com::sun::star::sdbc::RowSet::EscapeProcessing
+ becomes relevant:<br/>
+ It then can be to used to specify whether the SQL statement should be analyzed on the
+ client side before sending it to the database server.<br/>
+ The default value for com::sun::star::sdbc::RowSet::EscapeProcessing
+ is `TRUE`. By switching it to `FALSE`, you can pass backend-specific SQL statements,
+ which are not standard SQL, to your database.</p>
+
+
+ @see com::sun::star::sdb::CommandType
+ */
+ [attribute,bound] string Command;
+
+ /** specifies the type of the command to be executed to retrieve a result set.
+
+ <p>#Command needs to be interpreted depending on the value of this property.</p>
+
+ <p>This property is only meaningful together with the #Command
+ property, thus either <em>both</em> or <em>none</em> of them are present.</p>
+
+ @see com::sun::star::sdb::CommandType
+ */
+ [attribute,bound] long CommandType;
+
+ /** specifies an additional filter to optionally use.
+
+ <p>The Filter string has to form a SQL WHERE-clause, <em>without</em> the WHERE-string itself.</p>
+
+ <p>If a #DataSourceName, #Command and #CommandType
+ are specified, a RowSet can be created with this information. If the results provided by the
+ row set are to be additionally filtered, the Filter property can be used.</p>
+
+ <p>Note that the Filter property does not make sense if a resultSet has been specified
+ in the DataAccessDescriptor.</p>
+
+ @see com::sun::star::sdb::RowSet
+ @see ResultSet
+ */
+ [attribute,bound] string Filter;
+
+ /** indicates whether the filter should be applied or not,
+ default is `FALSE`.
+ */
+ [attribute,bound] boolean ApplyFilter;
+
+ /** additional having clause for the row set
+ */
+ [attribute,bound] string HavingClause
+ {
+ set raises (com::sun::star::beans::UnknownPropertyException);
+ };
+
+ /** additional group by for the row set
+ */
+ [attribute,bound] string GroupBy
+ {
+ set raises (com::sun::star::beans::UnknownPropertyException);
+ };
+
+ /** is an additional sort order definition for a row set.
+ */
+ [attribute,bound] string Order;
+
+ /** specifies if the #Command should be analyzed on the client side before sending it
+ to the database server.
+
+ <p>The default value of this property is `TRUE`. By switching it to `FALSE`, you can pass
+ backend-specific SQL statements, which are not standard SQL, to your database.</p>
+
+ <p>This property is usually present together with the #Command and
+ #CommandType properties, and is evaluated if and only if #CommandType
+ equals CommandType::COMMAND.</p>
+ */
+ [attribute,bound] boolean EscapeProcessing;
+
+ /** specifies the maximal count of rows which should be fetched.
+ <p>A value of zero implies that no limit exists.</p>
+ */
+ [attribute,bound] long RowLimit;
+
+ /** specifies the active connection which is used to create the resulting report.
+ */
+ [attribute,bound] com::sun::star::sdbc::XConnection ActiveConnection
+ {
+ set raises (com::sun::star::lang::IllegalArgumentException);
+ };
+ /** is the name of the data source to use, this could be a named data source
+ or the URL of a data access component.
+ */
+ [attribute,bound] string DataSourceName;
+};
+
+
+ }; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XLabeledDataSequence.idl b/offapi/com/sun/star/chart2/data/XLabeledDataSequence.idl
new file mode 100644
index 000000000..f856c9dd5
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XLabeledDataSequence.idl
@@ -0,0 +1,73 @@
+/* -*- 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_data_XLabeledDataSequence_idl
+#define com_sun_star_chart2_data_XLabeledDataSequence_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/data/XDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** allows access to a one-dimensional sequence of data.
+
+ <p>The data that is stored in this container may contain different
+ types.</p>
+ */
+interface XLabeledDataSequence : ::com::sun::star::uno::XInterface
+{
+ /** returns an XDataSequence containing the actual
+ data.
+ */
+ XDataSequence getValues();
+
+ /** sets a new XDataSequence containing the actual
+ data.
+ */
+ void setValues( [in] XDataSequence xSequence );
+
+ /** returns an XDataSequence containing the label for
+ the labeled sequence.
+ */
+ XDataSequence getLabel();
+
+ /** sets a new XDataSequence containing the label for
+ the labeled sequence.
+ */
+ void setLabel( [in] XDataSequence xSequence );
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XLabeledDataSequence2.idl b/offapi/com/sun/star/chart2/data/XLabeledDataSequence2.idl
new file mode 100644
index 000000000..27016af0c
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XLabeledDataSequence2.idl
@@ -0,0 +1,76 @@
+/* -*- 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_data_XLabeledDataSequence2_idl
+#define com_sun_star_chart2_data_XLabeledDataSequence2_idl
+
+#include <com/sun/star/util/XCloneable.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+#include <com/sun/star/chart2/data/XLabeledDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/**
+ @since LibreOffice 4.1
+ */
+interface XLabeledDataSequence2
+{
+ /** provides read- and write-access to the underlying data.
+ */
+ interface XLabeledDataSequence;
+
+ /** is used to broadcast when the sequence for labels or values
+ change their identity, or their content changes.
+
+ <p>The LabeledDataSequence should add itself at its
+ XDataSequences for values and labels, and forward any change
+ events coming from there.</p>
+ */
+ interface com::sun::star::util::XModifyBroadcaster;
+
+ /** Allows creating copies of data sequences. If this interface
+ is not supported, the same object will be shared if used by
+ multiple objects.
+
+ <p>If a LabeledDataSequence is cloned, it has to
+ query its contents for the
+ com::sun::star::util::XCloneable interface
+ and use it if available.</p>
+ */
+ interface ::com::sun::star::util::XCloneable;
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XNumericalDataSequence.idl b/offapi/com/sun/star/chart2/data/XNumericalDataSequence.idl
new file mode 100644
index 000000000..972a98792
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XNumericalDataSequence.idl
@@ -0,0 +1,54 @@
+/* -*- 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_data_XNumericalDataSequence_idl
+#define com_sun_star_chart2_data_XNumericalDataSequence_idl
+
+#include <com/sun/star/chart2/data/XDataSequence.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** allows access to a one-dimensional sequence of double precision
+ floating-point numbers.
+ */
+interface XNumericalDataSequence : ::com::sun::star::uno::XInterface
+{
+ /** retrieves data as `double` values.
+ */
+ sequence< double > getNumericalData();
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XPivotTableDataProvider.idl b/offapi/com/sun/star/chart2/data/XPivotTableDataProvider.idl
new file mode 100644
index 000000000..0405f4637
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XPivotTableDataProvider.idl
@@ -0,0 +1,83 @@
+/* -*- 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/.
+ */
+
+#ifndef com_sun_star_chart2_data_XPivotTableDataProvider_idl
+#define com_sun_star_chart2_data_XPivotTableDataProvider_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/data/PivotTableFieldEntry.idl>
+
+module com { module sun { module star { module chart2 { module data {
+
+/**
+ * Data provider specific for pivot chart data.
+ *
+ * @since LibreOffice 5.4
+ */
+interface XPivotTableDataProvider : com::sun::star::uno::XInterface
+{
+ /** names of column fields from the associated pivot table
+ */
+ sequence<com::sun::star::chart2::data::PivotTableFieldEntry> getColumnFields();
+
+ /** names of row fields from the associated pivot table
+ */
+ sequence<com::sun::star::chart2::data::PivotTableFieldEntry> getRowFields();
+
+ /** names of page fields from the associated pivot table
+ */
+ sequence<com::sun::star::chart2::data::PivotTableFieldEntry> getPageFields();
+
+ /** names of data fields from the associated pivot table
+ */
+ sequence<com::sun::star::chart2::data::PivotTableFieldEntry> getDataFields();
+
+ /** get the associated pivot table name
+ */
+ string getPivotTableName();
+
+ /** set the associated pivot table name
+ */
+ void setPivotTableName([in] string sPivotTableName);
+
+ /** check if the associated pivot table exists
+ */
+ boolean hasPivotTable();
+
+ /** creates a single data sequence of values for the given data series index.
+ *
+ * @param nIndex
+ * index of the data series
+ */
+ XDataSequence createDataSequenceOfValuesByIndex([in] long nIndex);
+
+ /** creates a single data sequence of label(s) for the given data series index.
+ *
+ * @param nIndex
+ * index of the data series
+ */
+ XDataSequence createDataSequenceOfLabelsByIndex([in] long nIndex);
+
+ /** creates a single data sequence of categories.
+ */
+ XDataSequence createDataSequenceOfCategories();
+
+ /** field output description: either "- all -", "- multiple -", or specific value
+ *
+ * @param nDimensionIndex
+ * dimension index of the field
+ */
+ string getFieldOutputDescription([in] long nDimensionIndex);
+};
+
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XRangeHighlighter.idl b/offapi/com/sun/star/chart2/data/XRangeHighlighter.idl
new file mode 100644
index 000000000..8e1522721
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XRangeHighlighter.idl
@@ -0,0 +1,64 @@
+/* -*- 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_data_XRangeHighlighter_idl
+#define com_sun_star_chart2_data_XRangeHighlighter_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/view/XSelectionChangeListener.idl>
+#include <com/sun/star/chart2/data/HighlightedRange.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+interface XRangeHighlighter : ::com::sun::star::uno::XInterface
+{
+ /** Returns a list of ranges that are used by objects that are
+ currently selected.
+ */
+ sequence< HighlightedRange > getSelectedRanges();
+
+ /** registers an event listener, which is called when the
+ selection is changed and affects different source ranges
+ */
+ void addSelectionChangeListener( [in] com::sun::star::view::XSelectionChangeListener xListener );
+
+ /** unregisters an event listener which was registered with
+ XRangeHighlighter::addSelectionChangeListener()
+ before.
+ */
+ void removeSelectionChangeListener( [in] com::sun::star::view::XSelectionChangeListener xListener );
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XRangeXMLConversion.idl b/offapi/com/sun/star/chart2/data/XRangeXMLConversion.idl
new file mode 100644
index 000000000..1bdffa1b9
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XRangeXMLConversion.idl
@@ -0,0 +1,66 @@
+/* -*- 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_data_XRangeXMLConversion_idl
+#define com_sun_star_chart2_data_XRangeXMLConversion_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** An application that provides data for a chart must implement this
+ interface.
+ */
+interface XRangeXMLConversion : ::com::sun::star::uno::XInterface
+{
+ /** converts the range to a valid XML syntax.
+
+ <p>For example spreadsheet ranges consisting of more than one
+ consecutive region are usually separated by a semicolon
+ whereas in XML you separate multiple regions by a space.</p>
+ */
+ string convertRangeToXML( [in] string aRangeRepresentation )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** converts an XML-style range into the internal
+ DataProvider's format.
+ */
+ string convertRangeFromXML( [in] string aXMLRange )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XSheetDataProvider.idl b/offapi/com/sun/star/chart2/data/XSheetDataProvider.idl
new file mode 100644
index 000000000..cb55e78cd
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XSheetDataProvider.idl
@@ -0,0 +1,36 @@
+/* -*- 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/.
+ */
+
+#ifndef com_sun_star_chart2_data_XSheetDataProvider_idl
+#define com_sun_star_chart2_data_XSheetDataProvider_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/chart2/data/XDataSequence.idl>
+#include <com/sun/star/sheet/FormulaToken.idl>
+
+module com { module sun { module star { module chart2 { module data {
+
+/**
+ * Interface specific to spreadsheet data provider backend.
+ */
+interface XSheetDataProvider : com::sun::star::uno::XInterface
+{
+ boolean createDataSequenceByFormulaTokensPossible(
+ [in] sequence< com::sun::star::sheet::FormulaToken > aTokens );
+
+ XDataSequence createDataSequenceByFormulaTokens(
+ [in] sequence< com::sun::star::sheet::FormulaToken > aTokens )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+};};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart2/data/XTextualDataSequence.idl b/offapi/com/sun/star/chart2/data/XTextualDataSequence.idl
new file mode 100644
index 000000000..8761f465e
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XTextualDataSequence.idl
@@ -0,0 +1,53 @@
+/* -*- 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_data_XTextualDataSequence_idl
+#define com_sun_star_chart2_data_XTextualDataSequence_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+module data
+{
+
+/** allows access to a one-dimensional sequence of strings.
+ */
+interface XTextualDataSequence : ::com::sun::star::uno::XInterface
+{
+ /** retrieves the data as strings
+ */
+ sequence< string > getTextualData();
+};
+
+} ; // data
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */