summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/chart
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--offapi/com/sun/star/chart/AccessibleChartDocumentView.idl131
-rw-r--r--offapi/com/sun/star/chart/AccessibleChartElement.idl183
-rw-r--r--offapi/com/sun/star/chart/AreaDiagram.idl59
-rw-r--r--offapi/com/sun/star/chart/BarDiagram.idl104
-rw-r--r--offapi/com/sun/star/chart/BubbleDiagram.idl48
-rw-r--r--offapi/com/sun/star/chart/Chart3DBarProperties.idl47
-rw-r--r--offapi/com/sun/star/chart/ChartArea.idl58
-rw-r--r--offapi/com/sun/star/chart/ChartAxis.idl268
-rw-r--r--offapi/com/sun/star/chart/ChartAxisArrangeOrderType.idl63
-rw-r--r--offapi/com/sun/star/chart/ChartAxisAssign.idl48
-rw-r--r--offapi/com/sun/star/chart/ChartAxisLabelPosition.idl62
-rw-r--r--offapi/com/sun/star/chart/ChartAxisMarkPosition.idl55
-rw-r--r--offapi/com/sun/star/chart/ChartAxisMarks.idl58
-rw-r--r--offapi/com/sun/star/chart/ChartAxisPosition.idl60
-rw-r--r--offapi/com/sun/star/chart/ChartAxisType.idl51
-rw-r--r--offapi/com/sun/star/chart/ChartAxisXSupplier.idl74
-rw-r--r--offapi/com/sun/star/chart/ChartAxisYSupplier.idl73
-rw-r--r--offapi/com/sun/star/chart/ChartAxisZSupplier.idl72
-rw-r--r--offapi/com/sun/star/chart/ChartData.idl42
-rw-r--r--offapi/com/sun/star/chart/ChartDataArray.idl50
-rw-r--r--offapi/com/sun/star/chart/ChartDataCaption.idl92
-rw-r--r--offapi/com/sun/star/chart/ChartDataChangeEvent.idl67
-rw-r--r--offapi/com/sun/star/chart/ChartDataChangeType.idl73
-rw-r--r--offapi/com/sun/star/chart/ChartDataPoint.idl36
-rw-r--r--offapi/com/sun/star/chart/ChartDataPointProperties.idl161
-rw-r--r--offapi/com/sun/star/chart/ChartDataRow.idl51
-rw-r--r--offapi/com/sun/star/chart/ChartDataRowProperties.idl106
-rw-r--r--offapi/com/sun/star/chart/ChartDataRowSource.idl50
-rw-r--r--offapi/com/sun/star/chart/ChartDataValue.idl56
-rw-r--r--offapi/com/sun/star/chart/ChartDocument.idl78
-rw-r--r--offapi/com/sun/star/chart/ChartErrorCategory.idl86
-rw-r--r--offapi/com/sun/star/chart/ChartErrorIndicatorType.idl57
-rw-r--r--offapi/com/sun/star/chart/ChartGrid.idl59
-rw-r--r--offapi/com/sun/star/chart/ChartLegend.idl78
-rw-r--r--offapi/com/sun/star/chart/ChartLegendExpansion.idl65
-rw-r--r--offapi/com/sun/star/chart/ChartLegendPosition.idl79
-rw-r--r--offapi/com/sun/star/chart/ChartLine.idl44
-rw-r--r--offapi/com/sun/star/chart/ChartPieSegmentProperties.idl61
-rw-r--r--offapi/com/sun/star/chart/ChartRegressionCurveType.idl84
-rw-r--r--offapi/com/sun/star/chart/ChartSeriesAddress.idl58
-rw-r--r--offapi/com/sun/star/chart/ChartSolidType.idl59
-rw-r--r--offapi/com/sun/star/chart/ChartStatistics.idl154
-rw-r--r--offapi/com/sun/star/chart/ChartSymbolType.idl119
-rw-r--r--offapi/com/sun/star/chart/ChartTableAddressSupplier.idl65
-rw-r--r--offapi/com/sun/star/chart/ChartTitle.idl80
-rw-r--r--offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl71
-rw-r--r--offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl72
-rw-r--r--offapi/com/sun/star/chart/DataLabelPlacement.idl52
-rw-r--r--offapi/com/sun/star/chart/Diagram.idl123
-rw-r--r--offapi/com/sun/star/chart/Dim3DDiagram.idl70
-rw-r--r--offapi/com/sun/star/chart/DonutDiagram.idl43
-rw-r--r--offapi/com/sun/star/chart/ErrorBarStyle.idl91
-rw-r--r--offapi/com/sun/star/chart/FilledNetDiagram.idl51
-rw-r--r--offapi/com/sun/star/chart/LineDiagram.idl143
-rw-r--r--offapi/com/sun/star/chart/MissingValueTreatment.idl41
-rw-r--r--offapi/com/sun/star/chart/NetDiagram.idl50
-rw-r--r--offapi/com/sun/star/chart/PieDiagram.idl44
-rw-r--r--offapi/com/sun/star/chart/StackableDiagram.idl57
-rw-r--r--offapi/com/sun/star/chart/StockDiagram.idl130
-rw-r--r--offapi/com/sun/star/chart/TimeIncrement.idl58
-rw-r--r--offapi/com/sun/star/chart/TimeInterval.idl48
-rw-r--r--offapi/com/sun/star/chart/TimeUnit.idl41
-rw-r--r--offapi/com/sun/star/chart/X3DDefaultSetter.idl56
-rw-r--r--offapi/com/sun/star/chart/X3DDisplay.idl69
-rw-r--r--offapi/com/sun/star/chart/XAxis.idl52
-rw-r--r--offapi/com/sun/star/chart/XAxisSupplier.idl53
-rw-r--r--offapi/com/sun/star/chart/XAxisXSupplier.idl86
-rw-r--r--offapi/com/sun/star/chart/XAxisYSupplier.idl86
-rw-r--r--offapi/com/sun/star/chart/XAxisZSupplier.idl83
-rw-r--r--offapi/com/sun/star/chart/XChartData.idl99
-rw-r--r--offapi/com/sun/star/chart/XChartDataArray.idl97
-rw-r--r--offapi/com/sun/star/chart/XChartDataChangeEventListener.idl57
-rw-r--r--offapi/com/sun/star/chart/XChartDocument.idl160
-rw-r--r--offapi/com/sun/star/chart/XComplexDescriptionAccess.idl83
-rw-r--r--offapi/com/sun/star/chart/XDateCategories.idl59
-rw-r--r--offapi/com/sun/star/chart/XDiagram.idl80
-rw-r--r--offapi/com/sun/star/chart/XDiagramPositioning.idl91
-rw-r--r--offapi/com/sun/star/chart/XSecondAxisTitleSupplier.idl40
-rw-r--r--offapi/com/sun/star/chart/XStatisticDisplay.idl83
-rw-r--r--offapi/com/sun/star/chart/XTwoAxisXSupplier.idl57
-rw-r--r--offapi/com/sun/star/chart/XTwoAxisYSupplier.idl54
-rw-r--r--offapi/com/sun/star/chart/XYDiagram.idl58
-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.idl35
-rw-r--r--offapi/com/sun/star/chart2/DataPointGeometry3D.idl60
-rw-r--r--offapi/com/sun/star/chart2/DataPointLabel.idl84
-rw-r--r--offapi/com/sun/star/chart2/DataPointProperties.idl347
-rw-r--r--offapi/com/sun/star/chart2/DataSeries.idl207
-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/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/MovingAverageType.idl35
-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.idl53
-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.idl87
-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.idl224
-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/XDataPointCustomLabelField.idl71
-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.idl187
-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/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.idl179
-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
204 files changed, 15061 insertions, 0 deletions
diff --git a/offapi/com/sun/star/chart/AccessibleChartDocumentView.idl b/offapi/com/sun/star/chart/AccessibleChartDocumentView.idl
new file mode 100644
index 000000000..d8047fe7a
--- /dev/null
+++ b/offapi/com/sun/star/chart/AccessibleChartDocumentView.idl
@@ -0,0 +1,131 @@
+/* -*- 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_chart_AccessibleChartDocumentView_idl__
+#define __com_sun_star_chart_AccessibleChartDocumentView_idl__
+
+#include <com/sun/star/accessibility/XAccessible.idl>
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+
+module com { module sun { module star { module chart {
+
+/** The AccessibleChartDocumentView service is supported
+ by a Component that represents the view of a Chart document to
+ provide an entry point to the document tree for accessibility.
+
+ <p>An object that implements the AccessibleChartDocumentView
+ service provides information about itself and about the chart
+ subcomponents contained in the chart document displayed in a
+ window. This service gives a simplified view on the underlying
+ implementation. It tries both to keep the structure of the
+ accessibility representation tree as simple as possible and
+ provide as much relevant information as possible.</p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleChartDocumentView
+{
+ /** Base interface for being accessible. It gives access to the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface.
+ */
+ interface ::com::sun::star::accessibility::XAccessible;
+
+ /** Provide access to a Chart document's view.
+
+ <p>You can access the following information:</p>
+ <dl>
+ <dt>Role</dt>
+ <dd>The object's role is
+ com::sun::star::accessibility::AccessibleRole::DOCUMENT.</dd>
+ <dt>Name</dt>
+ <dd>Its name is the document's name or the base name of the filename if
+ no document name has been set explicitly.</dd>
+ <dt>Description</dt>
+ <dd>The description is the document's description or the
+ full filename if no description has been set
+ explicitly.</dd>
+ <dt>Children</dt>
+ <dd>The subcomponents of a chart. This includes all kinds of
+ titles, a legend and the diagram. The diagram and the legend are
+ the only children that themselves contain children. The Chart
+ subcomponents support the service
+ AccessibleChartElement. Additionally, there may be
+ shapes a user added via the clipboard. For details see the
+ ::com::sun::star::drawing::AccessibleShape.
+ </dd>
+ <dt>Parent</dt>
+ <dd>The parent will usually be the window that contains the
+ Chart document view. It has to be set via implementation dependent
+ ways.</dd>
+ <dt>Relations</dt>
+ <dd>At the moment relations are not supported. The method
+ com::sun::star::accessibility::XAccessibleContext::getAccessibleRelationSet()
+ will always return an empty set.</dd>
+ <dt>States</dt>
+ <dd>The following states are supported:
+ <ul>
+ <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if a document view becomes obsolete like when
+ the window, which displays the view, is closed.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always set unless the
+ com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ state is set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is always set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is always set unless the
+ com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ state is set.</li>
+ <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set unless the
+ com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ state is set.</li>
+ </ul>
+ </dd>
+ <dt>Locale</dt>
+ <dd>Is the locale set at the document.</dd>
+ <dt>Property change listeners</dt>
+ <dd>They are supported to inform the
+ listeners about changes in this object.</dd>
+ </dl>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** Provide access to a Chart document's graphical representation.
+
+ <p>The main purpose of this interface is to provide a bounding
+ box of the currently visible area and to let the user find the
+ subcomponents of a chart that cover a given test point.</p>
+
+ <p>The accessible Chart subcomponents all support the service
+ AccessibleChartElement</p>
+
+ @see AccessibleChartElement
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/AccessibleChartElement.idl b/offapi/com/sun/star/chart/AccessibleChartElement.idl
new file mode 100644
index 000000000..bb6c2da88
--- /dev/null
+++ b/offapi/com/sun/star/chart/AccessibleChartElement.idl
@@ -0,0 +1,183 @@
+/* -*- 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_chart_AccessibleChartElement_idl__
+#define __com_sun_star_chart_AccessibleChartElement_idl__
+
+#include <com/sun/star/accessibility/XAccessible.idl>
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl>
+
+
+module com { module sun { module star { module chart {
+
+/** This service is supported by all components that are contained in
+ the view of a chart document that are controlled by the chart.
+ Shapes added by a user via the clipboard are not treated as chart
+ elements.
+
+ <p>The list of objects that implement this service is
+ ::com::sun::star::chart::ChartTitle,
+ ::com::sun::star::chart::ChartLegend,
+ ::com::sun::star::chart::Diagram,
+ ::com::sun::star::chart::ChartAxis,
+ ::com::sun::star::chart::ChartDataRowProperties,
+ ::com::sun::star::chart::ChartDataPointProperties.
+ </p>
+
+ <p>The
+ ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ is supported by all chart elements.</p>
+
+ @since OOo 1.1.2
+*/
+service AccessibleChartElement
+{
+ /** Base interface for being accessible. It gives access to the
+ ::com::sun::star::accessibility::XAccessibleContext
+ interface.
+ */
+ interface ::com::sun::star::accessibility::XAccessible;
+
+ /** Give access to the structural information of a chart element.
+
+ <p>You can access the following information for the shapes of the above listed types:
+ <dl>
+ <dt>Role</dt>
+ <dd>All chart elements have the role
+ ::com::sun::star::accessibility::AccessibleRole::SHAPE.
+ </dd>
+ <dt>Name</dt>
+ <dd>For unique elements you get fixed names. The unique
+ elements are the titles, legend, diagram and axes. The
+ names you get for them are "main-title", "sub-title",
+ "(x|y|z)-axis-title", "legend", "diagram", "(x|y|z)-axis"
+ and "second-(x|y)-axis", respectively.</dd>
+ <dt>Description</dt>
+ <dd>Descriptions contain a list of selected
+ attributes. These attributes are, if applicable:
+ foreground and background color, line width, font name and
+ size. The purpose of these attributes is to give a rough
+ description of the more simple geometric shapes. The list
+ is very restricted in order to avoid overwhelming or
+ confusing the user.</dd>
+ <dt>Children</dt>
+ <dd>The ::com::sun::star::chart::Diagram and
+ the ::com::sun::star::chart::ChartLegend
+ contain children, all other objects in a chart do not, i.e., are
+ leaves in the document representation tree.</dd>
+ <dt>Parent</dt>
+ <dd>Because the <code>setParent</code> method from the JAVA has
+ been removed, the reference to the parent has to be provided in an
+ implementation specific way.</dd>
+ <dt>Relations</dt>
+ <dd>They are not used at the moment.</dd>
+
+ <dt>States</dt>
+ <dd>The states supported by this service are:
+ <ul>
+
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set if an object was removed. This indicates that the user
+ should release all references to the accessible object. If
+ this state is set then no other of the states below is set.
+ </li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always set.<sup>*</sup></li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE
+ is set for all titles.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is set for all elements that do have a transparency
+ attributes set to 0% and no transparency gradient.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ Is set for the diagram object only. All other chart elements may not be resized.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is always set.<sup>*</sup></li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always set.<sup>*</sup></li>
+ </ul>
+ <sup>*</sup>always, except if the state
+ ::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is set.</dd>
+ <dt>Locale</dt>
+ <dd>is supported.</dd>
+ <dt>Property change listeners</dt>
+ <dd>Property change listeners that are registered with a chart
+ element are informed if the size or position or an attribute
+ changed. The last point needs a short explanation: An attribute
+ change is signaled even if that attribute is not part of the
+ shape's description and is therefore not explicitly represented by
+ the UAA.</dd>
+ </dl>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** Give access to the graphical representation of a chart element.
+
+ <p>The coordinate oriented methods <code>contains</code>,
+ <code>getAccessibleAt</code>, <code>getBounds</code>,
+ <code>getLocation</code>, <code>getLocationOnScreen</code>, and
+ <code>getSize</code> work on pixel coordinates. (To transform between
+ the internal 100th of mm and pixels a chart element has to have access
+ to information that allows it to do so. This information is the
+ enclosing window's size in pixel, 100th of mm, and its own relative
+ position in one or the other coordinate system).</p>
+
+ <p>Focus handling depends on support of the
+ ::com::sun::star::accessibility::XAccessibleText and
+ ::com::sun::star::accessibility::XAccessibleEditableText
+ interfaces.</p>
+
+ <p>Key bindings are not supported at the moment</p>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** Give extended access to the graphical representation of a chart element.
+
+ <p>This interface is used primarily to provide the predominant
+ foreground and background colors and&mdash;if applicable, i.e. the
+ ::com::sun::star::accessibility::XAccessibleText
+ interface is supported&mdash;information about the font used to display
+ text.</p>
+
+ <p>The foreground and background colors may in some cases be directly
+ taken from the object. In other cases, for example when a gradient or a
+ texture is used, they have to be interpolated. The color returned may
+ not be appropriate in all cases.</p>
+
+ <p>Specifying the font used for displaying text depends on the
+ transformation of UNO API font information into the Java&trade; format.
+ However, if the UAA is used directly, this is of course not an
+ issue.</p>
+
+ <p>The support of this interface is optional to reduce overhead in case
+ that no text is displayed and color information can not be determined
+ with an acceptable cost.</p>
+ */
+ [optional] interface ::com::sun::star::accessibility::XAccessibleExtendedComponent;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/AreaDiagram.idl b/offapi/com/sun/star/chart/AreaDiagram.idl
new file mode 100644
index 000000000..91d922b2b
--- /dev/null
+++ b/offapi/com/sun/star/chart/AreaDiagram.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_chart_AreaDiagram_idl__
+#define __com_sun_star_chart_AreaDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/ChartStatistics.idl>
+
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+
+#include <com/sun/star/chart/ChartAxisZSupplier.idl>
+
+#include <com/sun/star/chart/Dim3DDiagram.idl>
+
+#include <com/sun/star/chart/StackableDiagram.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** This is a service for area diagrams.
+ */
+published service AreaDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::ChartStatistics;
+ service com::sun::star::chart::ChartAxisXSupplier;
+ service com::sun::star::chart::ChartTwoAxisYSupplier;
+ service com::sun::star::chart::ChartAxisZSupplier;
+ service com::sun::star::chart::Dim3DDiagram;
+ service com::sun::star::chart::StackableDiagram;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/BarDiagram.idl b/offapi/com/sun/star/chart/BarDiagram.idl
new file mode 100644
index 000000000..7b2b8899d
--- /dev/null
+++ b/offapi/com/sun/star/chart/BarDiagram.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_chart_BarDiagram_idl__
+#define __com_sun_star_chart_BarDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+#include <com/sun/star/chart/ChartStatistics.idl>
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+#include <com/sun/star/chart/ChartAxisZSupplier.idl>
+#include <com/sun/star/chart/Dim3DDiagram.idl>
+#include <com/sun/star/chart/StackableDiagram.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/**This is a service for bar and column diagrams.
+ */
+published service BarDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::ChartStatistics;
+ service com::sun::star::chart::ChartAxisXSupplier;
+ service com::sun::star::chart::ChartTwoAxisYSupplier;
+ service com::sun::star::chart::ChartAxisZSupplier;
+ service com::sun::star::chart::Dim3DDiagram;
+ service com::sun::star::chart::StackableDiagram;
+
+
+ /** Determines if the bars of a chart are drawn vertically or
+ horizontally. Default is vertical.
+
+ <p>If Vertical is `FALSE` you get a column chart rather than
+ a bar chart.</p>
+ */
+ [property] boolean Vertical;
+
+
+ /** If `TRUE`, determines that in a three-dimensional bar chart
+ the bars of each series are arranged behind each other in the
+ z-direction. If `FALSE` the arrangement of bars is like in
+ two-dimensional bar charts.
+ */
+ [optional, property] boolean Deep;
+
+
+ /** determines if, in a stacked chart, there are connecting lines
+ between corresponding bars. Currently, bar charts with
+ horizontal bars do not support this property.
+ */
+ [optional, property] boolean StackedBarsConnected;
+
+
+ /** 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;
+
+
+
+ /** Determines how many data rows are displayed as lines rather than
+ bars.
+
+ <p>If this property differs from zero the last
+ BarDiagram::NumberOfLines data rows are shown as lines. It is
+ currently supported by two dimensional vertical bar charts only. </p>
+
+ @deprecated
+ */
+ [property] long NumberOfLines;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/BubbleDiagram.idl b/offapi/com/sun/star/chart/BubbleDiagram.idl
new file mode 100644
index 000000000..180216a3f
--- /dev/null
+++ b/offapi/com/sun/star/chart/BubbleDiagram.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_chart_BubbleDiagram_idl__
+#define __com_sun_star_chart_BubbleDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+#include <com/sun/star/chart/ChartStatistics.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** a service for bubble diagrams. @since OOo 3.2
+ */
+published service BubbleDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::ChartAxisXSupplier;
+ service com::sun::star::chart::ChartTwoAxisYSupplier;
+ [optional] service com::sun::star::chart::ChartStatistics;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/Chart3DBarProperties.idl b/offapi/com/sun/star/chart/Chart3DBarProperties.idl
new file mode 100644
index 000000000..d85b92fd2
--- /dev/null
+++ b/offapi/com/sun/star/chart/Chart3DBarProperties.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_chart_Chart3DBarProperties_idl__
+#define __com_sun_star_chart_Chart3DBarProperties_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Specifies all the properties for the graphic object of a data point in a
+ three-dimensional bar diagram.@see BarDiagram
+ */
+published service Chart3DBarProperties
+{
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** Specifies the solid shape of a data point.@see ChartSolidType
+ */
+ [property] long SolidType;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartArea.idl b/offapi/com/sun/star/chart/ChartArea.idl
new file mode 100644
index 000000000..d2484dc5b
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartArea.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_chart_ChartArea_idl__
+#define __com_sun_star_chart_ChartArea_idl__
+
+#include <com/sun/star/drawing/FillProperties.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Specifies the area elements of a chart, e.g. the
+ background area, the diagram wall, and the diagram floor of
+ three-dimensional charts.
+ */
+published service ChartArea
+{
+ service com::sun::star::drawing::FillProperties;
+ service com::sun::star::drawing::LineProperties;
+
+ /** If the ChartArea may be stored as XML element,
+ this service should be supported in order to preserve unparsed
+ XML attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+ interface com::sun::star::beans::XPropertySet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxis.idl b/offapi/com/sun/star/chart/ChartAxis.idl
new file mode 100644
index 000000000..5c5fb8bd3
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxis.idl
@@ -0,0 +1,268 @@
+/* -*- 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_chart_ChartAxis_idl__
+#define __com_sun_star_chart_ChartAxis_idl__
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/style/CharacterProperties.idl>
+
+#include <com/sun/star/beans/XPropertySet.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/chart/ChartAxisType.idl>
+#include <com/sun/star/chart/TimeIncrement.idl>
+#include <com/sun/star/chart/XAxis.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Specifies the axes in a diagram.
+
+ <p>Note: The text properties correlate to all axis description
+ elements, not to just a single text element.</p>
+ */
+published service ChartAxis
+{
+ /** set the properties for the entire axis line as well as for the
+ tick marks.
+ */
+ service com::sun::star::drawing::LineProperties;
+
+ /** set the properties for all text labels of the axis
+ */
+ service com::sun::star::style::CharacterProperties;
+
+ /** If a ChartAxis may be stored as XML element, this
+ service should be supported in order to preserve unparsed XML
+ attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+ /** Access to the sub elements of an axis like title and grids.
+ @since OOo 3.4
+ */
+ [optional] interface com::sun::star::chart::XAxis;
+
+ interface com::sun::star::beans::XPropertySet;
+
+ /** Properties for scaling:
+ */
+
+
+ /** Contains the maximum value for the axis scale.
+ */
+ [optional, property] double Max;
+
+
+ /** Contains the minimum value for the axis scale.
+ */
+ [optional, property] double Min;
+
+
+ /** Contains the distance between the main tick marks.
+ */
+ [optional, property] double StepMain;
+
+
+ /**
+ Contains the number of help intervals within a main interval. E.g. a StepHelpCount of 5 divides
+ the main interval into 5 pieces and thus produces 4 help tick marks.
+ */
+ [optional, property] long StepHelpCount;
+
+
+ /** @deprecated
+ User property StepHelpCount instead
+ Contains the distance between the help tick marks.
+ */
+ [optional, property] double StepHelp;
+
+
+ /** The maximum value of the axis scale is calculated by the chart if
+ this property is `TRUE`.
+ */
+ [optional, property] boolean AutoMax;
+
+
+ /** The minimum value of the axis scale is calculated by the chart if
+ this property is `TRUE`.
+ */
+ [optional, property] boolean AutoMin;
+
+
+ /** The distance between the main tick marks is calculated by the chart
+ if this property is `TRUE`.
+ */
+ [optional, property] boolean AutoStepMain;
+
+
+ /** The number of help intervals within a main interval is calculated by the
+ chart if this property is `TRUE`.
+ */
+ [optional, property] boolean AutoStepHelp;
+
+
+
+ /** Determines if the axis is scaled logarithmically or
+ not (linear).
+ */
+ [optional, property] boolean Logarithmic;
+
+
+ /** determines which type of axis this is, e.g. a date-axis or a category-axis @see ChartAxisType
+ @since OOo 3.4
+ */
+ [optional, property] long AxisType;
+
+
+ /** if the current axis is a date-axis the intervals are chosen as given with TimeIncrement
+ @since OOo 3.4
+ */
+ [optional, maybevoid, property] TimeIncrement TimeIncrement;
+
+
+ /** Determines if the axis orientation is mathematical or reversed.
+ */
+ [optional, property] boolean ReverseDirection;
+
+
+ /** 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;
+
+
+ /** Indicates the reference value where bars or areas have their grounding.
+ This property has only an effect when the used ODF file format does not allow for
+ further axis positioning or the axis is a secondary y-axis.
+ */
+ [optional, property] double Origin;
+
+
+ /** The origin is calculated by the chart if this property is `TRUE`.
+ */
+ [optional, property] boolean AutoOrigin;
+
+ /** Properties for interval marks:
+ */
+
+
+ /** Determines the type of the marks.@see ChartAxisMarks
+ */
+ [property] long Marks;
+
+
+ /** Determines the type of the help marks.@see ChartAxisMarks
+ */
+ [property] long HelpMarks;
+
+ /** Determines where the interval marks are placed.
+ */
+ [optional, property] com::sun::star::chart::ChartAxisMarkPosition MarkPosition;
+
+ /** Properties for axes labels:
+ */
+
+
+ /** Determines whether to display text at the axis or not.
+ */
+ [property] boolean DisplayLabels;
+
+
+ /** Contains the type id for the number formatter of the axis.
+
+ @see com::sun::star::util::XNumberFormatter
+ */
+ [property] long NumberFormat;
+
+
+ /** determines whether to use the number format given by the
+ container application, e.g. a spreadsheet document, or from
+ the own property #NumberFormat.
+ */
+ [optional, property] boolean LinkNumberFormatToSource;
+
+
+ /** Determines where the axis labels are placed.
+ */
+ [optional, property] com::sun::star::chart::ChartAxisLabelPosition LabelPosition;
+
+
+ /** Determines the rotation of the text elements
+ (axis description) in 100th degrees.
+ */
+ [property] long TextRotation;
+
+
+ /** The axis description may be arranged in a special order for a
+ better placement.
+ */
+ [property] com::sun::star::chart::ChartAxisArrangeOrderType ArrangeOrder;
+
+
+ /** Determines if long text is broken into multiple lines.
+ */
+ [property] boolean TextBreak;
+
+
+ /** Determines if certain labels are hidden, if they would otherwise overlap.
+ In this case, the value of this property must be set to `FALSE`.
+ */
+ [property] boolean TextCanOverlap;
+
+ /** Properties related to bar charts:
+ */
+
+
+ /** Determines the overlap of the bars in a bar-type chart.
+
+ <p>The value is given in percent of the width of the bars. The
+ valid range is -100% to +100%. +100% means full overlap, -100%
+ indicates a distance of one bar between 2 neighboring bars.</p>
+ */
+ [property] long Overlap;
+
+
+ /** Specifies the width of the gaps between each set of data points
+ in a bar chart.
+
+ <p>The value is given in percent of the width of a bar; the
+ valid range is 0 to 600%.</p>
+ */
+ [property] long GapWidth;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisArrangeOrderType.idl b/offapi/com/sun/star/chart/ChartAxisArrangeOrderType.idl
new file mode 100644
index 000000000..3a7a736f0
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisArrangeOrderType.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_chart_ChartAxisArrangeOrderType_idl__
+#define __com_sun_star_chart_ChartAxisArrangeOrderType_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Values specify the arrangement of the axes descriptions.
+ */
+published enum ChartAxisArrangeOrderType
+{
+
+ /** The descriptions are arranged automatically.
+
+ <p>If there is enough space to put them side by side, this
+ arrangement is preferred. If the descriptions would overlap
+ when arranged side by side, they are staggered.</p>
+ */
+ AUTO,
+
+
+ /** The descriptions are arranged side by side.
+ */
+ SIDE_BY_SIDE,
+
+
+ /** The descriptions are alternately put on two lines with the even
+ values out of the normal line.
+ */
+ STAGGER_EVEN,
+
+
+ /** The descriptions are alternately put on two lines with the odd
+ values out of the normal line.
+ */
+ STAGGER_ODD
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisAssign.idl b/offapi/com/sun/star/chart/ChartAxisAssign.idl
new file mode 100644
index 000000000..be8a411b0
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisAssign.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_chart_ChartAxisAssign_idl__
+#define __com_sun_star_chart_ChartAxisAssign_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** These values specify to which y-axis a data row is assigned.
+ */
+published constants ChartAxisAssign
+{
+
+ /** Assign row to primary <i>y</i>-axis
+ */
+ const long PRIMARY_Y = 2;
+
+
+ /** Assign row to secondary <i>y</i>-axis
+ */
+ const long SECONDARY_Y = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisLabelPosition.idl b/offapi/com/sun/star/chart/ChartAxisLabelPosition.idl
new file mode 100644
index 000000000..3c31109fb
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisLabelPosition.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_chart_ChartAxisLabelPosition_idl__
+#define __com_sun_star_chart_ChartAxisLabelPosition_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Specifies the position of the axis labels with respect to the axis on the scale of the crossing axis.
+*/
+
+published enum ChartAxisLabelPosition
+{
+
+ /** The labels are placed adjacent to the axis. When the axis itself is placed at the minimum or maximum of the scale ( that is when the property CrossoverPosition equals ChartAxisPosition_MINIMUM or ChartAxisPosition_MAXIMUM)
+ the labels are placed outside the coordinate system. Otherwise the labels are placed adjacent to the axis on that side that belongs to the lower values on the crossing axis.
+ E.g. when the ChartAxisLabelPosition is set to NEAR_AXIS for an y axis the labels are placed adjacent to the y axis on that side that belongs to the lower x values.
+ */
+ NEAR_AXIS,
+
+
+ /** The labels are placed adjacent to the axis on the opposite side as for NEAR_AXIS.
+ */
+ NEAR_AXIS_OTHER_SIDE,
+
+
+ /** The labels are placed outside the coordinate region on that side where the crossing axis has its minimum value.
+ E.g. when this is set for an y axis the labels are placed outside the diagram on that side where to the x axis has its minimum value.
+ */
+ OUTSIDE_START,
+
+
+ /** The labels are placed outside the coordinate region on that side where the crossing axis has its maximum value.
+ E.g. when this is set for an y axis the labels are placed outside the diagram on that side where to the x axis has its maximum value.
+ */
+ OUTSIDE_END
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisMarkPosition.idl b/offapi/com/sun/star/chart/ChartAxisMarkPosition.idl
new file mode 100644
index 000000000..6b0a152bf
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisMarkPosition.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_chart_ChartAxisMarkPosition_idl__
+#define __com_sun_star_chart_ChartAxisMarkPosition_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Specifies the position of the axis interval marks.
+*/
+
+published enum ChartAxisMarkPosition
+{
+
+ /** The interval marks are drawn besides the axis labels.
+ */
+ AT_LABELS,
+
+
+ /** The interval marks are drawn at the axis line.
+ This makes a difference to "AT_LABELS" only when the labels are not placed near the axis (@see ChartAxisLabelPosition).
+ */
+ AT_AXIS,
+
+
+ /** Interval marks are drawn at the axis line and also besides the axis labels.
+ This makes a difference to "AT_LABELS" only when the labels are not placed near the axis (@see ChartAxisLabelPosition).
+ */
+ AT_LABELS_AND_AXIS
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisMarks.idl b/offapi/com/sun/star/chart/ChartAxisMarks.idl
new file mode 100644
index 000000000..374ea446f
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisMarks.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_chart_ChartAxisMarks_idl__
+#define __com_sun_star_chart_ChartAxisMarks_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** With these constants you can specify how the tick-marks of an axis
+ are displayed.
+
+ <p>You can combine <code>INNER</code> and <code>OUTER</code> with
+ an arithmetical <em>or</em>-operation to get tick-marks that
+ extend in both directions.</p>
+ */
+published constants ChartAxisMarks
+{
+
+ /** 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;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisPosition.idl b/offapi/com/sun/star/chart/ChartAxisPosition.idl
new file mode 100644
index 000000000..b9cdab0e9
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisPosition.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_chart_ChartAxisPosition_idl__
+#define __com_sun_star_chart_ChartAxisPosition_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Specifies the position of the axis on the scale of the crossing axis.
+When the property is set at a x-axis it indicates a position on the scale of the primary y-axis.
+When the property is set at a y-axis it indicates a position on the scale of the primary x-axis.
+*/
+
+published enum ChartAxisPosition
+{
+
+ /** Cross the other axes at zero. If zero is not contained in the current scale the value is used which is nearest to zero.
+ */
+ ZERO,
+
+
+ /** Cross the other axes at their minimum scale value.
+ */
+ START,
+
+
+ /** Cross the other axes at their maximum scale value.
+ */
+ END,
+
+
+ /** Cross the other axes at the value specified in the property CrossoverValue.
+ */
+ VALUE
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisType.idl b/offapi/com/sun/star/chart/ChartAxisType.idl
new file mode 100644
index 000000000..3dd3fe72a
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisType.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_chart_ChartAxisType_idl
+#define com_sun_star_chart_ChartAxisType_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart
+{
+/** @since OOo 3.4
+*/
+published constants ChartAxisType
+{
+ /** the type of the axis is chosen automatically dependent on the chart type, the dimension and the underlying data
+ */
+ const long AUTOMATIC = 0;
+
+ /** the axis represent discrete category texts if chart type and the dimension allows
+ */
+ const long CATEGORY = 1;
+
+ /** the axis shows dates if the given data and chart type and the dimension allows
+ */
+ const long DATE = 2;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisXSupplier.idl b/offapi/com/sun/star/chart/ChartAxisXSupplier.idl
new file mode 100644
index 000000000..d63cf3594
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisXSupplier.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_chart_ChartAxisXSupplier_idl__
+#define __com_sun_star_chart_ChartAxisXSupplier_idl__
+
+#include <com/sun/star/chart/XAxisXSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** has to be supported by charts providing the capabilities of a
+ horizontal axis, i.e., an <em>x</em>-axis.
+ */
+published service ChartAxisXSupplier
+{
+ /** offers access to the axis object, the title, and the grids
+ */
+ interface com::sun::star::chart::XAxisXSupplier;
+
+
+ /** This property determines if the x-axis is shown or hidden.@see ChartAxis
+ */
+ [property] boolean HasXAxis;
+
+
+ /** Determines if the description of the x-axis is
+ shown or hidden.
+ */
+ [property] boolean HasXAxisDescription;
+
+
+ /** Determines if the major grid of the x-axis is
+ shown or hidden.@see ChartGrid
+ */
+ [property] boolean HasXAxisGrid;
+
+
+ /** Determines if the minor grid of the x-axis is shown
+ or hidden.@see ChartGrid
+ */
+ [property] boolean HasXAxisHelpGrid;
+
+
+ /** Determines if the title of the x-axis is shown
+ or hidden.@see ChartTitle
+ */
+ [property] boolean HasXAxisTitle;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisYSupplier.idl b/offapi/com/sun/star/chart/ChartAxisYSupplier.idl
new file mode 100644
index 000000000..a9c5b86f0
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisYSupplier.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_chart_ChartAxisYSupplier_idl__
+#define __com_sun_star_chart_ChartAxisYSupplier_idl__
+
+#include <com/sun/star/chart/XAxisYSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** A helper service for the y-axis.
+ */
+published service ChartAxisYSupplier
+{
+ /** offers access to the axis object, the title, and the grids
+ */
+ interface com::sun::star::chart::XAxisYSupplier;
+
+
+ /** Determines if the y-axis is shown or hidden.@see ChartAxis
+ */
+ [property] boolean HasYAxis;
+
+
+ /** Determines if the description of the y-axis
+ is shown or hidden.
+ */
+ [property] boolean HasYAxisDescription;
+
+
+ /** Determines if the major grid of the y-axis is
+ shown or hidden.@see ChartGrid
+ */
+ [property] boolean HasYAxisGrid;
+
+
+ /** Determines if the minor grid of the y-axis is
+ shown or hidden.@see ChartGrid
+ */
+ [property] boolean HasYAxisHelpGrid;
+
+
+ /** Determines if the title of the y-axis is shown
+ or hidden.@see ChartTitle
+ */
+ [property] boolean HasYAxisTitle;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartAxisZSupplier.idl b/offapi/com/sun/star/chart/ChartAxisZSupplier.idl
new file mode 100644
index 000000000..aa36034eb
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartAxisZSupplier.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_chart_ChartAxisZSupplier_idl__
+#define __com_sun_star_chart_ChartAxisZSupplier_idl__
+
+#include <com/sun/star/chart/XAxisZSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** A helper service for chart documents which supply a z-axis.
+ */
+published service ChartAxisZSupplier
+{
+ /** offers access to the axis object, the title, and the grids
+ */
+ interface com::sun::star::chart::XAxisZSupplier;
+
+
+ /** Determines if the z-axis is shown or hidden.@see ChartAxis
+ */
+ [property] boolean HasZAxis;
+
+
+ /** Determines if the description of the z-axis
+ is shown or hidden.
+ */
+ [property] boolean HasZAxisDescription;
+
+
+ /** Determines if the major grid of the z-axis
+ is shown or hidden.@see ChartGrid
+ */
+ [property] boolean HasZAxisGrid;
+
+
+ /** Determines if the minor grid of the z-axis is shown
+ or hidden.@see ChartGrid
+ */
+ [property] boolean HasZAxisHelpGrid;
+
+
+ /** Determines if the title of the z-axis is shown
+ or hidden.@see ChartTitle
+ */
+ [property] boolean HasZAxisTitle;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartData.idl b/offapi/com/sun/star/chart/ChartData.idl
new file mode 100644
index 000000000..a43344ae4
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartData.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_chart_ChartData_idl__
+#define __com_sun_star_chart_ChartData_idl__
+
+#include <com/sun/star/chart/XChartData.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** must be supported by every component that wants to provide data
+ for a chart
+ */
+published service ChartData
+{
+ interface com::sun::star::chart::XChartData;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataArray.idl b/offapi/com/sun/star/chart/ChartDataArray.idl
new file mode 100644
index 000000000..9b6539220
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataArray.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_chart_ChartDataArray_idl__
+#define __com_sun_star_chart_ChartDataArray_idl__
+
+#include <com/sun/star/chart/ChartData.idl>
+
+#include <com/sun/star/chart/XChartDataArray.idl>
+
+#include <com/sun/star/chart/XChartData.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** must be supported by each data source for charts, where you want
+ to access the values directly.
+
+ <p>It contains the data values as well as the descriptions for
+ each row and column.</p>
+ */
+published service ChartDataArray
+{
+ service com::sun::star::chart::ChartData;
+ interface com::sun::star::chart::XChartDataArray;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataCaption.idl b/offapi/com/sun/star/chart/ChartDataCaption.idl
new file mode 100644
index 000000000..e61251549
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataCaption.idl
@@ -0,0 +1,92 @@
+/* -*- 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_chart_ChartDataCaption_idl__
+#define __com_sun_star_chart_ChartDataCaption_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** These values specify how the captions of data points are displayed.
+ */
+published constants ChartDataCaption
+{
+
+ /** No captions are displayed.
+ */
+ const long NONE = 0;
+
+
+ /** The caption contains the value of the data point in the number
+ format of the axis that is attached to the respective data
+ series.
+ */
+ const long VALUE = 1;
+
+
+ /** The caption contains the value of the data point in percent of
+ all data points of one 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>
+ */
+ const long PERCENT = 2;
+
+
+ /** The caption contains the category name of the category to
+ which a data point belongs.
+ */
+ const long TEXT = 4;
+
+
+ /** The number formatter is always used for displaying the value
+ as value. So this setting is deprecated.
+
+ @deprecated
+ */
+ const long FORMAT = 8;
+
+
+ /** The symbol of data column/row is additionally displayed in the caption.
+ */
+ const long SYMBOL = 16;
+
+
+ /** The caption contains a custom text, which belongs
+ to a data point label.
+
+ @since LibreOffice 7.1
+ */
+ const long CUSTOM = 32;
+
+ /** The name of the data series is additionally displayed in the caption.
+
+ @since LibreOffice 7.2
+ */
+ const long DATA_SERIES = 64;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataChangeEvent.idl b/offapi/com/sun/star/chart/ChartDataChangeEvent.idl
new file mode 100644
index 000000000..63b928b97
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataChangeEvent.idl
@@ -0,0 +1,67 @@
+/* -*- 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_chart_ChartDataChangeEvent_idl__
+#define __com_sun_star_chart_ChartDataChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+#include <com/sun/star/chart/ChartDataChangeType.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** describes a change that was applied to the data.
+ */
+published struct ChartDataChangeEvent: com::sun::star::lang::EventObject
+{
+
+ /** specifies the type of change to the data.
+ */
+ com::sun::star::chart::ChartDataChangeType Type;
+
+
+ /** specifies the column number in which the changes begin.
+ */
+ short StartColumn;
+
+
+ /** specifies the column number in which the changes end.
+ */
+ short EndColumn;
+
+
+ /** specifies the row number in which the changes begin.
+ */
+ short StartRow;
+
+
+ /** specifies the row number in which the changes end.
+ */
+ short EndRow;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataChangeType.idl b/offapi/com/sun/star/chart/ChartDataChangeType.idl
new file mode 100644
index 000000000..e4c7bb6c7
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataChangeType.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_chart_ChartDataChangeType_idl__
+#define __com_sun_star_chart_ChartDataChangeType_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies the type of change that was applied to the data.
+ */
+published enum ChartDataChangeType
+{
+
+ /** Major changes were applied to the data.
+ */
+ ALL,
+
+
+ /** The range of columns and rows, given in the
+ ChartDataChangeEvent, has changed.
+ */
+ DATA_RANGE,
+
+
+ /** The column given in the ChartDataChangeEvent, was
+ inserted.
+ */
+ COLUMN_INSERTED,
+
+
+ /** The row given in the ChartDataChangeEvent, was
+ inserted.
+ */
+ ROW_INSERTED,
+
+
+ /** The column given in the ChartDataChangeEvent, was
+ deleted.
+ */
+ COLUMN_DELETED,
+
+
+ /** The row given in the ChartDataChangeEvent, was
+ deleted.
+ */
+ ROW_DELETED
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataPoint.idl b/offapi/com/sun/star/chart/ChartDataPoint.idl
new file mode 100644
index 000000000..5ba0ca277
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataPoint.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/.
+ *
+ * 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_chart_ChartDataPoint_idl__
+#define __com_sun_star_chart_ChartDataPoint_idl__
+
+#include <com/sun/star/chart/ChartDataValue.idl>
+
+
+module com { module sun { module star { module chart {
+
+/** @deprecated
+*/
+published typedef sequence<ChartDataValue> ChartDataPoint;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataPointProperties.idl b/offapi/com/sun/star/chart/ChartDataPointProperties.idl
new file mode 100644
index 000000000..f80574ff1
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataPointProperties.idl
@@ -0,0 +1,161 @@
+/* -*- 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_chart_ChartDataPointProperties_idl__
+#define __com_sun_star_chart_ChartDataPointProperties_idl__
+
+#include <com/sun/star/drawing/FillProperties.idl>
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/style/CharacterProperties.idl>
+
+#include <com/sun/star/chart/Chart3DBarProperties.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies all the properties for the graphic object of
+ a data point (e.g., a single bar in a bar chart).
+
+ <p>Text properties correlate to the data description of the data
+ point. There is a similar service for a group of graphic elements
+ called ChartDataRowProperties for the properties of
+ whole data rows.</p>
+
+ @see ChartDataRowProperties
+ */
+published service ChartDataPointProperties
+{
+ /** This service has to be supported for data points that can be
+ filled.
+ */
+ [optional] service com::sun::star::drawing::FillProperties;
+
+ service com::sun::star::drawing::LineProperties;
+
+ /** These properties affect the characters of data captions if
+ those are displayed.
+ */
+ service com::sun::star::style::CharacterProperties;
+
+ /** If ChartDataPointProperties may be stored as XML
+ element, this service should be supported in order to preserve
+ unparsed XML attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+
+ /** is only available if the chart is of type
+ BarDiagram and Dim3DDiagram and the
+ property ChartDataPointProperties::Dim3D is
+ set to `TRUE`.
+
+ @see BarDiagram
+ @see Dim3DDiagram@see BarDiagram
+ @see Dim3DDiagram
+ */
+ [optional] service com::sun::star::chart::Chart3DBarProperties;
+
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies how the captions of data points are displayed.@see ChartDataCaption
+ */
+ [property] long DataCaption;
+
+
+
+ /** specifies a string that is used to separate the parts of a data label (caption)
+ */
+ [optional, property] string LabelSeparator;
+
+
+ /** 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 DataLabelPlacement
+ */
+ [optional, property] long LabelPlacement;
+
+
+ /** specifies the type of symbols if the current chart type
+ supports the usage of symbols.
+
+ @see ChartSymbolType
+ */
+ [optional, property] long SymbolType;
+
+
+ /** In charts that support symbols, you can set this property to
+ any valid URL that points to a graphic file. This graphic is
+ then used as symbol for each data point.
+
+ <p>When you query this value you get an internal URL of the
+ embedded graphic.</p>
+
+ @deprecated as of Libreoffice 6.1
+
+ @see ChartSymbolType
+ */
+ [optional, property] string SymbolBitmapURL;
+
+ /** the offset by which pie segments in a PieDiagram
+ are dragged outside from the center. This value is given in
+ percent of the radius.
+ */
+ [optional, property] long SegmentOffset;
+
+ /** specifies if the text of a data label (caption) must be wrapped
+
+ @since LibreOffice 5.1
+ */
+ [optional, property] boolean TextWordWrap;
+
+ /** In charts that support symbols, you can set this property to
+ a graphic object. This graphic is then used as symbol for each
+ data point.
+
+ @since LibreOffice 6.1
+
+ @see ChartSymbolType
+ */
+ [optional, property] com::sun::star::graphic::XGraphic SymbolBitmap;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataRow.idl b/offapi/com/sun/star/chart/ChartDataRow.idl
new file mode 100644
index 000000000..9e9031d8e
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataRow.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_chart_ChartDataRow_idl__
+#define __com_sun_star_chart_ChartDataRow_idl__
+
+#include <com/sun/star/chart/ChartDataValue.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** describes a single data row, specified by its name and
+ a sequence of data points.
+
+ <p>This struct is currently used nowhere.</p>
+
+ @deprecated
+ */
+published struct ChartDataRow
+{
+ /** The name of the data row.
+ */
+ string Name;
+
+ /** The points contained in this data row.
+ */
+ sequence< sequence<ChartDataValue> > Points;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataRowProperties.idl b/offapi/com/sun/star/chart/ChartDataRowProperties.idl
new file mode 100644
index 000000000..332094d6b
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataRowProperties.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_chart_ChartDataRowProperties_idl__
+#define __com_sun_star_chart_ChartDataRowProperties_idl__
+
+#include <com/sun/star/chart/ChartDataPointProperties.idl>
+
+#include <com/sun/star/chart/ChartStatistics.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies the properties for a group of graphic elements which
+ belong to a data row (also known as data series).
+
+ <p>For this service, the properties supported by
+ ChartDataPointProperties are applied to all data
+ point elements contained in this group. They serve as a template;
+ thus, when changing a data point property afterwards</p>
+
+ @see ChartDataPointProperties
+ */
+published service ChartDataRowProperties
+{
+ service com::sun::star::chart::ChartDataPointProperties;
+ /** Statistical properties are not available for all types of
+ diagrams.
+ */
+ [optional] service com::sun::star::chart::ChartStatistics;
+
+ /** If ChartDataRowProperties may be stored as XML
+ file, this service should be supported in order to preserve
+ unparsed XML attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** determines to which axis the data row is assigned.
+
+ <p>The axis must be a primary or secondary y-axis</p>
+
+ @see ChartAxisAssign
+ @see ChartAxisYSupplier
+ @see ChartTwoAxisYSupplier
+ */
+ [property] long Axis;
+
+
+ /** holds the properties of the regression line, if such one is
+ enabled.
+
+ @see ChartLine
+ @see ChartStatistics
+ */
+ [optional, readonly, property] com::sun::star::beans::XPropertySet DataRegressionProperties;
+
+
+ /** holds the properties of the error markers, if those are
+ enabled.
+
+ @see ChartLine
+ @see ChartStatistics
+ */
+ [optional, readonly, property] com::sun::star::beans::XPropertySet DataErrorProperties;
+
+
+ /** holds the properties of the average line, if such one is
+ enabled.
+
+ @see ChartLine
+ @see ChartStatistics
+ */
+ [optional, readonly, property] com::sun::star::beans::XPropertySet DataMeanValueProperties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataRowSource.idl b/offapi/com/sun/star/chart/ChartDataRowSource.idl
new file mode 100644
index 000000000..db58691b2
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataRowSource.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_chart_ChartDataRowSource_idl__
+#define __com_sun_star_chart_ChartDataRowSource_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies if the data rows (aka data series) displayed in the
+ chart, take their values from the row or the column in the underlying
+ data source (ChartDataArray).
+ */
+published enum ChartDataRowSource
+{
+
+ /** values displayed as data rows are taken from the rows of the data source.
+ */
+ ROWS,
+
+
+ /** values displayed as data rows are taken from the columns of the data source.
+ */
+ COLUMNS
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDataValue.idl b/offapi/com/sun/star/chart/ChartDataValue.idl
new file mode 100644
index 000000000..023b0e7a6
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDataValue.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_chart_ChartDataValue_idl__
+#define __com_sun_star_chart_ChartDataValue_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** describes a single data value, including the error
+
+ <p>This struct is currently used nowhere.</p>
+
+ @deprecated
+ */
+published struct ChartDataValue
+{
+ /** value by itself.
+ */
+ double Value;
+
+
+ /** highest possible error value.
+ */
+ double HighError;
+
+
+ /** lowest possible error value.
+ */
+ double LowError;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartDocument.idl b/offapi/com/sun/star/chart/ChartDocument.idl
new file mode 100644
index 000000000..0fe548cb1
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartDocument.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_chart_ChartDocument_idl__
+#define __com_sun_star_chart_ChartDocument_idl__
+
+#include <com/sun/star/chart/XChartDocument.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#include <com/sun/star/drawing/XDrawPageSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** is the service for a chart document.
+
+ <p>A chart document consists of a reference to the data source,
+ the diagram and some additional elements like a main title, a
+ sub-title or a legend.
+
+ </p>@see Diagram
+ @see ChartLegend
+ @see ChartTitle
+ @see ChartDataArray
+ */
+published service ChartDocument
+{
+ /** If a ChartDocument may be stored as XML file,
+ this service should be supported in order to preserve unparsed
+ XML attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service ::com::sun::star::xml::UserDefinedAttributesSupplier;
+
+ interface ::com::sun::star::chart::XChartDocument;
+ interface ::com::sun::star::beans::XPropertySet;
+
+ [optional] interface ::com::sun::star::drawing::XDrawPageSupplier;
+
+
+ /** determines if the main title is shown or hidden.
+ */
+ [property] boolean HasMainTitle;
+
+
+ /** determines if the subtitle is shown or hidden.
+ */
+ [property] boolean HasSubTitle;
+
+
+ /** determines if the legend is shown or hidden.
+ */
+ [property] boolean HasLegend;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartErrorCategory.idl b/offapi/com/sun/star/chart/ChartErrorCategory.idl
new file mode 100644
index 000000000..1a6420f6e
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartErrorCategory.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_chart_ChartErrorCategory_idl__
+#define __com_sun_star_chart_ChartErrorCategory_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies the category of error indicators.
+ */
+published enum ChartErrorCategory
+{
+
+ /** error indicators are not displayed.
+ */
+ NONE,
+
+
+ /** displays error indicators for the variance of the data row.
+ */
+ VARIANCE,
+
+
+ /** displays error indicators for the standard deviation (square
+ root of variance) of the data row.
+ */
+ STANDARD_DEVIATION,
+
+
+ /** The length of the error indicators is calculated for each data
+ point by taking the percentage given as
+ ChartStatistics::PercentageError of its
+ value.
+
+ @see ChartStatistics
+ */
+ PERCENT,
+
+
+ /** The length of the error indicators for all data points is
+ calculated by taking the percentage given as
+ ChartStatistics::ErrorMargin of the largest
+ data point value.
+
+ @see ChartStatistics
+ */
+ ERROR_MARGIN,
+
+
+ /** displays the same lower and upper error indicators for all
+ data points.
+
+ <p>The values for these are given as absolute numbers in
+ ChartStatistics::ConstantErrorLow and
+ ChartStatistics::ConstantErrorHigh</p>
+
+ @see ChartStatistics
+ */
+ CONSTANT_VALUE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartErrorIndicatorType.idl b/offapi/com/sun/star/chart/ChartErrorIndicatorType.idl
new file mode 100644
index 000000000..12503180a
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartErrorIndicatorType.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_chart_ChartErrorIndicatorType_idl__
+#define __com_sun_star_chart_ChartErrorIndicatorType_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies how the error is indicated.
+ */
+published enum ChartErrorIndicatorType
+{
+
+ /** displays no error indicators.
+ */
+ NONE,
+
+
+ /** displays both the upper and lower values.
+ */
+ TOP_AND_BOTTOM,
+
+
+ /** displays only the upper value.
+ */
+ UPPER,
+
+
+ /** displays only the lower value.
+ */
+ LOWER
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartGrid.idl b/offapi/com/sun/star/chart/ChartGrid.idl
new file mode 100644
index 000000000..238c85f23
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartGrid.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_chart_ChartGrid_idl__
+#define __com_sun_star_chart_ChartGrid_idl__
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies the grid of the diagram in a chart.
+
+
+
+ <p>The distance between the grid lines depends on the distance of the help
+ or main tick marks, which may be set in ChartAxis.</p>@see ChartAxis
+ */
+published service ChartGrid
+{
+ service com::sun::star::drawing::LineProperties;
+
+ /** If a ChartGrid may be stored as XML element, this
+ service should be supported in order to preserve unparsed XML
+ attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+ interface com::sun::star::beans::XPropertySet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartLegend.idl b/offapi/com/sun/star/chart/ChartLegend.idl
new file mode 100644
index 000000000..b6da8e687
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartLegend.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_chart_ChartLegend_idl__
+#define __com_sun_star_chart_ChartLegend_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+
+#include <com/sun/star/style/CharacterProperties.idl>
+
+#include <com/sun/star/chart/ChartLegendPosition.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies the legend of a chart.
+
+
+
+ <p>The text/font properties which are specified in the service
+ com::sun::star::drawing::Shape correlate to all text
+ objects inside the legend.</p>
+ */
+published service ChartLegend
+{
+ service com::sun::star::drawing::Shape;
+
+
+ /** If this property is `TRUE` the position is calculated by the application automatically.
+ Setting this property to false will have no effect. Instead use the interface com::sun::star::drawing::XShape
+ to set a concrete position.
+ */
+ [optional, property] boolean AutomaticPosition;
+
+
+ service com::sun::star::style::CharacterProperties;
+
+
+ /** If a ChartLegend may be stored as XML file,
+ this service should be supported in order to preserve unparsed
+ XML attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+
+ /** determines the alignment of the legend relative
+ to the diagram.
+ */
+ [property] com::sun::star::chart::ChartLegendPosition Alignment;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartLegendExpansion.idl b/offapi/com/sun/star/chart/ChartLegendExpansion.idl
new file mode 100644
index 000000000..789da37c7
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartLegendExpansion.idl
@@ -0,0 +1,65 @@
+/* -*- 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_chart_ChartLegendExpansion_idl
+#define com_sun_star_chart_ChartLegendExpansion_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart
+{
+
+/** Specifies sizing aspects of the legend
+ */
+enum ChartLegendExpansion
+{
+ /** The legend entries are arranged in a single row if possible. If not enough space is available further rows are added.
+
+ <p>This is usually used for legends that are displayed at the
+ top or bottom of the page.</p>
+ */
+ WIDE,
+
+ /** The legend entries are stacked in a single column if possible. If not enough space is available further columns are added.
+
+ <p>This is usually used for legends that are displayed on the
+ left or right hand side of the page.</p>
+ */
+ HIGH,
+
+ /** The legend entries are arranged in a way that the aspect ratio of the resulting legend is as near to 1 as possible.
+ */
+ BALANCED,
+
+ /** The size of the legend is given explicitly
+ */
+ CUSTOM
+};
+
+} ; // chart
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartLegendPosition.idl b/offapi/com/sun/star/chart/ChartLegendPosition.idl
new file mode 100644
index 000000000..19f53a780
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartLegendPosition.idl
@@ -0,0 +1,79 @@
+/* -*- 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_chart_ChartLegendPosition_idl__
+#define __com_sun_star_chart_ChartLegendPosition_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies one of the default positions of the legend in relation
+ to the diagram.
+ */
+published enum ChartLegendPosition
+{
+
+ /** no chart legend is displayed.
+
+ <p>To disable the legend you should set the property
+ ChartDocument::HasLegend to `FALSE` instead
+ of setting this value.</p>
+ */
+ NONE,
+
+
+ /** displays the chart legend on the left side of the diagram.
+
+ <p>The second entry in the legend is placed below the first
+ one.</p>
+ */
+ LEFT,
+
+
+ /** displays the chart legend above the diagram.
+
+ <p>The second entry in the legend is placed on the right hand
+ side of the first one.</p>
+ */
+ TOP,
+
+
+ /** displays the chart legend on the right side of the diagram.
+
+ <p>The second entry in the legend is placed below the first
+ one.</p>
+ */
+ RIGHT,
+
+
+ /** displays the chart legend beneath the diagram.
+
+ <p>The second entry in the legend is placed on the right hand
+ side of the first one.</p>
+ */
+ BOTTOM
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartLine.idl b/offapi/com/sun/star/chart/ChartLine.idl
new file mode 100644
index 000000000..c7e16a738
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartLine.idl
@@ -0,0 +1,44 @@
+/* -*- 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_chart_ChartLine_idl__
+#define __com_sun_star_chart_ChartLine_idl__
+
+#include <com/sun/star/drawing/LineProperties.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies line elements in a chart (regression lines, etc.).
+ */
+published service ChartLine
+{
+ service com::sun::star::drawing::LineProperties;
+ interface com::sun::star::beans::XPropertySet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartPieSegmentProperties.idl b/offapi/com/sun/star/chart/ChartPieSegmentProperties.idl
new file mode 100644
index 000000000..c20c65271
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartPieSegmentProperties.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_chart_ChartPieSegmentProperties_idl__
+#define __com_sun_star_chart_ChartPieSegmentProperties_idl__
+
+#include <com/sun/star/chart/ChartDataPointProperties.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies all the properties for the graphic object of a
+ pie segment.@see PieDiagram
+ */
+published service ChartPieSegmentProperties
+{
+ service com::sun::star::chart::ChartDataPointProperties;
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** reflects the offset of a pie segment in percent of the radius.
+
+
+
+ <p>The default value for all the segments of a PieDiagram
+ is 0. If you change this value from 0 to 100 the segment is pulled out
+ from the center by its radius.
+
+ </p>
+ <p>Currently this property is supported by two dimensional pie
+ diagrams only.</p>
+ */
+ [property] long SegmentOffset;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartRegressionCurveType.idl b/offapi/com/sun/star/chart/ChartRegressionCurveType.idl
new file mode 100644
index 000000000..61aaf6580
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartRegressionCurveType.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_chart_ChartRegressionCurveType_idl__
+#define __com_sun_star_chart_ChartRegressionCurveType_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies the type of the regression curve to be displayed.
+ */
+published enum ChartRegressionCurveType
+{
+
+ /** displays no regression curve.
+ */
+ NONE,
+
+
+ /** displays a linear regression curve.
+
+ <p>The values of the series are approximated using the model
+ <i>y</i> = <i>A</i>&sdot;<i>x</i> + <i>B</i>.</p>
+ */
+ LINEAR,
+
+
+ /** displays a linear logarithmic regression curve.
+
+ <p>The values of the series are approximated using the model
+ <i>y</i> = <i>A</i>&sdot;log(<i>x</i>) + <i>B</i>.</p>
+ */
+ LOGARITHM,
+
+
+ /** displays an exponential regression curve.
+
+ <p>The values of the series are approximated using the model
+ <i>y</i> = <i>A</i>&sdot;e<sup><i>B</i>&sdot;<i>x</i></sup>.</p>
+
+ */
+ EXPONENTIAL,
+
+
+ /** displays a polynomial regression curve.
+ */
+ POLYNOMIAL,
+
+ /** displays a regression curve using a power function.
+
+ <p>The values of the series are approximated using the model
+ <i>y</i> = <i>A&sdot;<i>x</i><sup>B</sup></i>.</p>
+ */
+ POWER
+
+ /** displays a moving average regression curve.
+ */
+ //MOVING_AVERAGE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartSeriesAddress.idl b/offapi/com/sun/star/chart/ChartSeriesAddress.idl
new file mode 100644
index 000000000..665f10f59
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartSeriesAddress.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_chart_ChartSeriesAddress_idl__
+#define __com_sun_star_chart_ChartSeriesAddress_idl__
+
+
+ module com { module sun { module star { module chart {
+
+
+/** This structure describes a single data row, specified by its name
+ and a sequence of data points.
+
+ <p>The cell addresses are in the format of the application that
+ contains this chart.</p>
+ */
+published struct ChartSeriesAddress
+{
+ /** contains the cell range address of the data for this series.
+ */
+ string DataRangeAddress;
+
+
+ /** contains the cell address of label (i.e. name) of this series.
+ */
+ string LabelAddress;
+
+
+ /** contains cell addresses for each domain of this series.
+
+ <p>For XY (scatter) diagrams at least one series has a
+ domain. Most of the other chart types use an empty sequence
+ here.</p>
+ */
+ sequence< string > DomainRangeAddresses;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartSolidType.idl b/offapi/com/sun/star/chart/ChartSolidType.idl
new file mode 100644
index 000000000..c174e20b9
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartSolidType.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_chart_ChartSolidType_idl__
+#define __com_sun_star_chart_ChartSolidType_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** These values specify the type of solid shapes for data points of
+ 3D bar charts.
+ */
+published constants ChartSolidType
+{
+
+ /** extruded rectangle, i.e., a cuboid
+ */
+ const long RECTANGULAR_SOLID = 0;
+
+
+ /** cylinder with a circle as base
+ */
+ const long CYLINDER = 1;
+
+
+ /** cone with a circle as base
+ */
+ const long CONE = 2;
+
+
+ /** pyramidal with a square as base
+ */
+ const long PYRAMID = 3;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartStatistics.idl b/offapi/com/sun/star/chart/ChartStatistics.idl
new file mode 100644
index 000000000..73c856f70
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartStatistics.idl
@@ -0,0 +1,154 @@
+/* -*- 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_chart_ChartStatistics_idl__
+#define __com_sun_star_chart_ChartStatistics_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/chart/ChartErrorCategory.idl>
+#include <com/sun/star/chart/ChartErrorIndicatorType.idl>
+#include <com/sun/star/chart/ChartRegressionCurveType.idl>
+#include <com/sun/star/chart/ErrorBarStyle.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** offers statistical properties for the data in the chart. It is
+ available for a single data row and for the whole diagram.
+ */
+published service ChartStatistics
+{
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies the lower limit of the error range of a
+ data row.
+
+ <p>this setting is effective if the
+ ChartStatistics::ErrorCategory is set to
+ ChartErrorCategory::CONSTANT_VALUE.</p>
+
+ @see ConstantErrorHigh
+ @see ErrorCategory
+ */
+ [property] double ConstantErrorLow;
+
+
+ /** specifies the upper limit of the error range of a
+ data row.
+
+ <p>this setting is effective if the
+ ChartStatistics::ErrorCategory is set to
+ ChartErrorCategory::CONSTANT_VALUE.</p>
+
+ @see ConstantErrorLow
+ @see ErrorCategory
+ */
+ [property] double ConstantErrorHigh;
+
+
+ /** determines if the mean value for a data row is
+ displayed as a line.
+ */
+ [property] boolean MeanValue;
+
+
+ /** determines the type of error to indicate.
+
+ @deprecated
+
+ @see ChartErrorCategory
+ @see PercentageError
+ @see ErrorMargin
+ @see ConstantErrorLow
+ @see ConstantErrorHigh
+ @see ErrorIndicator
+ */
+ [property] com::sun::star::chart::ChartErrorCategory ErrorCategory;
+
+ /** determines the style of the error bars. Use this instead of
+ ErrorCategory
+
+ @see ErrorBarStyle
+ */
+ [optional, property] long ErrorBarStyle;
+
+
+ /** specifies the percentage that is used to display error bars.
+
+ <p>The length of the error indicators is calculated for each
+ data point by taking the given percentage of its value.</p>
+
+ <p>this setting is effective if the
+ ChartStatistics::ErrorCategory is set to
+ ChartErrorCategory::PERCENT.</p>
+
+ @see ErrorCategory
+ */
+ [property] double PercentageError;
+
+
+ /** specifies the percentage for the margin of errors.
+
+ <p>The length of the error indicators is calculated by taking
+ the percentage given of the largest data point value.</p>
+
+ <p>this setting is effective if the
+ ChartStatistics::ErrorCategory is set to
+ ChartErrorCategory::ERROR_MARGIN.</p>
+
+ @see ErrorCategory
+ */
+ [property] double ErrorMargin;
+
+
+ /** determines how the error is indicated.
+
+ <p>You can enable indicators pointing up, down or both.</p>
+
+ @see ErrorCategory
+ */
+ [property] com::sun::star::chart::ChartErrorIndicatorType ErrorIndicator;
+
+
+ /** determines a type of regression for the data row values.
+
+ @see ChartRegressionCurveType
+ */
+ [property] com::sun::star::chart::ChartRegressionCurveType RegressionCurves;
+
+ /** contains a cell range string for positive error bars. This
+ property is used when the ErrorBarCategory is set
+ to ErrorBarCategory::FROM_DATA.
+ */
+ [optional, property] string ErrorBarRangePositive;
+
+ /** contains a cell range string for negative error bars. This
+ property is used when the ErrorBarCategory is set
+ to ErrorBarCategory::FROM_DATA.
+ */
+ [optional, property] string ErrorBarRangeNegative;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartSymbolType.idl b/offapi/com/sun/star/chart/ChartSymbolType.idl
new file mode 100644
index 000000000..233562803
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartSymbolType.idl
@@ -0,0 +1,119 @@
+/* -*- 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_chart_ChartSymbolType_idl__
+#define __com_sun_star_chart_ChartSymbolType_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** These values specify the type of the symbol used for data points.
+
+ <p>This only applies to diagrams that use symbols like line
+ diagrams.</p>
+
+ <p>The default symbols are currently:
+ <table border >
+ <tr><td>Symbol 0</td><td>a square</td></tr>
+ <tr><td>Symbol 1</td><td>a diamond</td></tr>
+ <tr><td>Symbol 2</td><td>a triangle pointing down</td></tr>
+ <tr><td>Symbol 3</td><td>a triangle pointing up</td></tr>
+ <tr><td>Symbol 4</td><td>a triangle pointing right</td></tr>
+ <tr><td>Symbol 5</td><td>a triangle pointing left</td></tr>
+ <tr><td>Symbol 6</td><td>a bow tie</td></tr>
+ <tr><td>Symbol 7</td><td>a rotated bow tie</td></tr>
+ </table>
+ </p>
+
+ @see LineDiagram
+ @see ChartDataPointProperties
+*/
+published constants ChartSymbolType
+{
+
+ /** No symbol is used.
+ */
+ const long NONE = -3;
+
+
+ /** The symbol is selected automatically. The size of symbol will
+ be dynamic and the type depends on the data row number.
+ */
+ const long AUTO = -2;
+
+
+ /** Take a Bitmap from a URL and use this as symbol.
+
+ <p>The bitmap given by the URL set in the property
+ ChartDataPointProperties::SymbolBitmapURL is
+ copied so that the graphic is embedded.</p>
+
+ @see ChartDataPointProperties
+ */
+ const long BITMAPURL = -1;
+
+
+ /** The default symbol for row 0 is used.
+ */
+ const long SYMBOL0 = 0;
+
+
+ /** The default symbol for row 1 is used.
+ */
+ const long SYMBOL1 = 1;
+
+
+ /** The default symbol for row 2 is used.
+ */
+ const long SYMBOL2 = 2;
+
+
+ /** The default symbol for row 3 is used.
+ */
+ const long SYMBOL3 = 3;
+
+
+ /** The default symbol for row 4 is used.
+ */
+ const long SYMBOL4 = 4;
+
+
+ /** The default symbol for row 5 is used.
+ */
+ const long SYMBOL5 = 5;
+
+
+ /** The default symbol for row 6 is used.
+ */
+ const long SYMBOL6 = 6;
+
+
+ /** The default symbol for row 7 is used.
+ */
+ const long SYMBOL7 = 7;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartTableAddressSupplier.idl b/offapi/com/sun/star/chart/ChartTableAddressSupplier.idl
new file mode 100644
index 000000000..990d381ea
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartTableAddressSupplier.idl
@@ -0,0 +1,65 @@
+/* -*- 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_chart_ChartTableAddressSupplier_idl__
+#define __com_sun_star_chart_ChartTableAddressSupplier_idl__
+
+#include <com/sun/star/chart/ChartSeriesAddress.idl>
+
+
+module com { module sun { module star { module chart {
+
+/** This is a helper service for access to table Address to
+ cell ranges of the container document of a chart.
+
+ The cell addresses are in the format of the application that
+ contains this chart.
+*/
+published service ChartTableAddressSupplier
+{
+ /** contains the address to the cells containing
+ the names of the categories.
+
+ Note: Each value of a data series belongs exactly to one category.
+ */
+ [property] string CategoriesRangeAddress;
+
+ /** contains the addresses to the elements of a series.
+ This sequence should contain one element for each series in the chart.
+
+ @see ChartSeriesAddress
+ */
+ [property] sequence< com::sun::star::chart::ChartSeriesAddress > SeriesAddresses;
+
+ /** contains the address to the main title.
+ */
+ [optional, property] string MainTitleAddress;
+
+ /** contains the address to the sub title.
+
+ <!-- Dennis: Does "Address" have a capital "A" or lowercase? -->
+ <!-- JRH: changed to lowercase, consistent with the others -->*/
+ [optional, property] string SubTitleAddress;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartTitle.idl b/offapi/com/sun/star/chart/ChartTitle.idl
new file mode 100644
index 000000000..b806b32c7
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartTitle.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_chart_ChartTitle_idl__
+#define __com_sun_star_chart_ChartTitle_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies titles in a chart.
+
+ <p>In a chart there may be the following titles: the main title,
+ the sub title, and axis titles of the x- and y-axis.</p>
+ */
+published service ChartTitle
+{
+ service com::sun::star::drawing::Shape;
+
+
+ /** If this property is `TRUE` the position is calculated by the application automatically.
+ Setting this property to false will have no effect. Instead use the interface com::sun::star::drawing::XShape
+ to set a concrete position.
+ */
+ [optional, property] boolean AutomaticPosition;
+
+
+ /** If a ChartTitle may be stored as XML element,
+ this service should be supported in order to preserve unparsed
+ XML attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+
+ /** specifies the rotation of the shape in 100th of degrees.
+
+ <p>Especially in three-dimensional charts, this property comes
+ in handy if you want to align the axis titles with the axis,
+ which are usually not vertical or horizontal in the
+ two-dimensional projection.</p>
+ */
+ [property] long TextRotation;
+
+
+ /** contains the text of the title.
+
+ <p>Note that you cannot change attributes of parts of a
+ title, e.g., put one word in bold characters. All formatting
+ affects the entire string.</p>
+ */
+ [property] string String;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl b/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl
new file mode 100644
index 000000000..f33e0eddd
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.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_chart_ChartTwoAxisXSupplier_idl__
+#define __com_sun_star_chart_ChartTwoAxisXSupplier_idl__
+
+#include <com/sun/star/chart/XTwoAxisXSupplier.idl>
+
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** a helper service for chart documents which supply
+ primary and secondary x-axes.
+ */
+published service ChartTwoAxisXSupplier
+{
+ /** offers access to the axis object
+ */
+ interface com::sun::star::chart::XTwoAxisXSupplier;
+
+ service com::sun::star::chart::ChartAxisXSupplier;
+
+
+ /** determines if the secondary x-axis is shown or hidden.
+
+ @see ChartAxis
+ */
+ [property] boolean HasSecondaryXAxis;
+
+
+ /** determines for the secondary x-axis
+ if the labels at the tick marks are shown or hidden.
+ */
+ [property] boolean HasSecondaryXAxisDescription;
+
+
+ /** determines if the title of the secondary X-axis is shown or hidden.
+
+ @see ChartTitle
+
+ @since OOo 3.0
+ */
+ [optional, property] boolean HasSecondaryXAxisTitle;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl b/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl
new file mode 100644
index 000000000..a78ece2fc
--- /dev/null
+++ b/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.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_chart_ChartTwoAxisYSupplier_idl__
+#define __com_sun_star_chart_ChartTwoAxisYSupplier_idl__
+
+#include <com/sun/star/chart/XTwoAxisYSupplier.idl>
+
+#include <com/sun/star/chart/ChartAxisYSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** a helper service for chart documents which supply
+ primary and secondary y-axes.
+ */
+published service ChartTwoAxisYSupplier
+{
+ /** offers access to the axis object
+ */
+ interface com::sun::star::chart::XTwoAxisYSupplier;
+
+ service com::sun::star::chart::ChartAxisYSupplier;
+
+
+ /** determines if the secondary y-axis is shown or
+ hidden.
+
+ @see ChartAxis
+ */
+ [property] boolean HasSecondaryYAxis;
+
+
+ /** determines for the secondary y-axis
+ if the labels at the tick marks are shown or hidden.
+ */
+ [property] boolean HasSecondaryYAxisDescription;
+
+
+ /** determines if the title of the secondary y-axis is shown or hidden.
+
+ @see ChartTitle
+
+ @since OOo 3.0
+ */
+ [optional, property] boolean HasSecondaryYAxisTitle;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/DataLabelPlacement.idl b/offapi/com/sun/star/chart/DataLabelPlacement.idl
new file mode 100644
index 000000000..f8e50effe
--- /dev/null
+++ b/offapi/com/sun/star/chart/DataLabelPlacement.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_chart_DataLabelPlacement_idl__
+#define __com_sun_star_chart_DataLabelPlacement_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** These values specify where the captions/labels of data points are displayed.
+ */
+published constants DataLabelPlacement
+{
+ const long AVOID_OVERLAP = 0;
+ const long CENTER = 1;
+ const long TOP = 2;
+ const long TOP_LEFT = 3;
+ const long LEFT = 4;
+ const long BOTTOM_LEFT = 5;
+ const long BOTTOM = 6;
+ const long BOTTOM_RIGHT = 7;
+ const long RIGHT = 8;
+ const long TOP_RIGHT = 9;
+ const long INSIDE = 10;
+ const long OUTSIDE = 11;
+ const long NEAR_ORIGIN = 12;
+ /** @since LibreOffice 7.0 */ const long CUSTOM = 13;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/Diagram.idl b/offapi/com/sun/star/chart/Diagram.idl
new file mode 100644
index 000000000..023517a87
--- /dev/null
+++ b/offapi/com/sun/star/chart/Diagram.idl
@@ -0,0 +1,123 @@
+/* -*- 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_chart_Diagram_idl__
+#define __com_sun_star_chart_Diagram_idl__
+
+#include <com/sun/star/chart/XDiagram.idl>
+#include <com/sun/star/chart/XAxisSupplier.idl>
+#include <com/sun/star/chart/XDiagramPositioning.idl>
+
+#include <com/sun/star/chart/XSecondAxisTitleSupplier.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/chart/ChartDataRowSource.idl>
+
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** the base service for the diagram of the chart document.
+
+ <p>The diagram is the object that contains the actual plot.</p>
+
+ <p>Different Diagram Types, e.g., PieDiagram or
+ LineDiagram, can be instantiated by the
+ com::sun::star::lang::XMultiServiceFactory of
+ the XChartDocument.</p>
+
+ */
+published service Diagram
+{
+
+ interface com::sun::star::chart::XDiagram;
+
+ /** Provides easier access to the different axes and their sub elements.
+ @since OOo 3.4
+ */
+ [optional] interface com::sun::star::chart::XAxisSupplier;
+
+ /** Provides access to the titles of the secondary X axis and Y axis.
+ @since OOo 3.0
+ */
+ [optional] interface com::sun::star::chart::XSecondAxisTitleSupplier;
+
+ /**
+ @since OOo 3.3
+ */
+ [optional] interface com::sun::star::chart::XDiagramPositioning;
+
+
+ /** If this property is `TRUE` the position is calculated by the application automatically.
+ Setting this property to false will have no effect. Instead use the interface com::sun::star::drawing::XShape
+ to set a concrete position (note com::sun::star::chart::XDiagram is derived from com::sun::star::drawing::XShape).
+ */
+ [optional, property] boolean AutomaticPosition;
+
+
+ /** If this property is `TRUE` the size is calculated by the application automatically.
+ Setting this property to false will have no effect. Instead use the interface com::sun::star::drawing::XShape
+ to set a concrete size (note com::sun::star::chart::XDiagram is derived from com::sun::star::drawing::XShape).
+ */
+ [optional, property] boolean AutomaticSize;
+
+
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** If a Diagram may be stored as XML file, this
+ service should be supported in order to preserve unparsed XML
+ attributes.
+
+ @since OOo 1.1.2
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+
+ /** determines if the data for a data row is contained in the
+ columns or in the rows of the data array.
+
+ @see ChartDataRowSource
+ @see ChartDataArray
+ */
+ [property] com::sun::star::chart::ChartDataRowSource DataRowSource;
+
+
+ /** specifies how the caption of data points is displayed.
+
+ @see ChartDataCaption
+ */
+ [property] long DataCaption;
+
+
+ /** specifies how empty or invalid cells in the provided data should be handled when displayed
+
+ @see MissingValueTreatment
+ */
+ [optional, property] long MissingValueTreatment;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/Dim3DDiagram.idl b/offapi/com/sun/star/chart/Dim3DDiagram.idl
new file mode 100644
index 000000000..a6ef1ae06
--- /dev/null
+++ b/offapi/com/sun/star/chart/Dim3DDiagram.idl
@@ -0,0 +1,70 @@
+/* -*- 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_chart_Dim3DDiagram_idl__
+#define __com_sun_star_chart_Dim3DDiagram_idl__
+
+#include <com/sun/star/chart/X3DDisplay.idl>
+#include <com/sun/star/chart/X3DDefaultSetter.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** is a service for diagrams that support the capability to render
+ themselves as three-dimensional diagrams as well as
+ two-dimensional ones.
+ */
+published service Dim3DDiagram
+{
+ /** gives access to the properties of the wall and floor objects
+ of the three-dimensional cuboid that contains the actual
+ diagram.
+ */
+ interface com::sun::star::chart::X3DDisplay;
+
+ /** makes it easy to set suitable defaults for illumination and rotation for 3D charts
+ */
+ [optional] interface ::com::sun::star::chart::X3DDefaultSetter;
+
+
+ /** If set to `TRUE`, the chart becomes a three-dimensional
+ chart. Otherwise it is two-dimensional.
+ */
+ [property] boolean Dim3D;
+
+ /** 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;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/DonutDiagram.idl b/offapi/com/sun/star/chart/DonutDiagram.idl
new file mode 100644
index 000000000..7275b49ca
--- /dev/null
+++ b/offapi/com/sun/star/chart/DonutDiagram.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_chart_DonutDiagram_idl__
+#define __com_sun_star_chart_DonutDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** a service for donut diagrams.
+
+ <p>Donut diagrams are also known as ring diagrams.</p>
+*/
+published service DonutDiagram
+{
+ service com::sun::star::chart::Diagram;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/ErrorBarStyle.idl b/offapi/com/sun/star/chart/ErrorBarStyle.idl
new file mode 100644
index 000000000..adce5e590
--- /dev/null
+++ b/offapi/com/sun/star/chart/ErrorBarStyle.idl
@@ -0,0 +1,91 @@
+/* -*- 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_chart_ErrorBarStyle_idl
+#define com_sun_star_chart_ErrorBarStyle_idl
+
+module com { module sun { module star { module chart {
+
+/** specifies the style of error indicators.
+ */
+published constants ErrorBarStyle
+{
+ /** error indicators are not displayed.
+ */
+ const long NONE = 0;
+
+ /** displays error indicators for the variance of the data.
+ */
+ const long VARIANCE = 1;
+
+ /** displays error indicators for the standard deviation (square
+ root of variance) of the data.
+ */
+ const long STANDARD_DEVIATION = 2;
+
+ /** the error indicators for all data points have the same
+ absolute value as length for either direction.
+
+ <p>The values for these are given as absolute numbers in
+ ChartStatistics::ConstantErrorLow and
+ ChartStatistics::ConstantErrorHigh</p>
+
+ @see ChartStatistics
+ */
+ const long ABSOLUTE = 3;
+
+ /** The length of the error indicators is calculated for each data
+ point by taking the percentage given as
+ ChartStatistics::PercentageError of its
+ value.
+
+ @see ChartStatistics
+ */
+ const long RELATIVE = 4;
+
+ /** The length of the error indicators for all data points is
+ calculated by taking the percentage given as
+ ChartStatistics::ErrorMargin of the largest
+ data point value.
+
+ @see ChartStatistics
+ */
+ const long ERROR_MARGIN = 5;
+
+ /** displays error indicators for the standard error, also known
+ as the standard deviation of the mean (SDOM).
+ */
+ const long STANDARD_ERROR = 6;
+
+ /** Uses values given by cell ranges of the container document.
+
+ <p>The values for the cell ranges are given in the properties
+ ChartStatistics::ErrorBarRangePositive for
+ positive indicators and
+ ChartStatistics::ErrorBarRangeNegative for
+ negative indicators.</p>
+ */
+ const long FROM_DATA = 7;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/FilledNetDiagram.idl b/offapi/com/sun/star/chart/FilledNetDiagram.idl
new file mode 100644
index 000000000..22a867d0d
--- /dev/null
+++ b/offapi/com/sun/star/chart/FilledNetDiagram.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_chart_FilledNetDiagram_idl__
+#define __com_sun_star_chart_FilledNetDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/StackableDiagram.idl>
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+
+#include <com/sun/star/chart/ChartAxisYSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies filled net diagrams. @since OOo 3.2
+
+ <p>Net diagrams are also known as radar diagrams.</p>
+ */
+published service FilledNetDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::ChartAxisXSupplier;
+ service com::sun::star::chart::ChartAxisYSupplier;
+ service com::sun::star::chart::StackableDiagram;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/LineDiagram.idl b/offapi/com/sun/star/chart/LineDiagram.idl
new file mode 100644
index 000000000..5fcb2d156
--- /dev/null
+++ b/offapi/com/sun/star/chart/LineDiagram.idl
@@ -0,0 +1,143 @@
+/* -*- 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_chart_LineDiagram_idl__
+#define __com_sun_star_chart_LineDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/ChartStatistics.idl>
+
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+
+#include <com/sun/star/chart/ChartAxisZSupplier.idl>
+
+#include <com/sun/star/chart/Dim3DDiagram.idl>
+
+#include <com/sun/star/chart/StackableDiagram.idl>
+#include <com/sun/star/awt/Size.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies line, spline and symbol diagrams.
+ */
+published service LineDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::ChartStatistics;
+ service com::sun::star::chart::ChartAxisXSupplier;
+ service com::sun::star::chart::ChartTwoAxisYSupplier;
+ service com::sun::star::chart::ChartAxisZSupplier;
+ service com::sun::star::chart::Dim3DDiagram;
+ service com::sun::star::chart::StackableDiagram;
+
+
+ /** determines which type of symbols are displayed.
+
+ <p>In this interface, only the two values
+ ChartSymbolType::NONE and
+ ChartSymbolType::AUTO are supported. Later
+ versions may support the selection of the symbols shape.</p>
+
+ <p>If you set this property to
+ ChartSymbolType::AUTO, you can change the
+ symbol shape for objects supporting the service
+ ChartDataPointProperties or
+ ChartDataRowProperties.</p>
+
+ @see ChartDataPointProperties
+ @see ChartDataRowProperties
+ */
+ [property] long SymbolType;
+
+
+ /** specifies the size of symbols in 1/100th of a millimeter.
+ */
+ [optional, property] com::sun::star::awt::Size SymbolSize;
+
+
+ /** Set this property to any valid URL that points to a graphic
+ file. This graphic is then used as symbol for all series.
+
+ <p>When you query this value you get an internal URL of the
+ embedded graphic.</p>
+
+ @deprecated
+ @see ChartSymbolType
+ */
+ [optional, property] string SymbolBitmapURL;
+
+
+ /** determines if the chart type has lines connecting the data
+ points or contains just symbols.
+ */
+ [property] boolean Lines;
+
+
+ /** determines if the chart is a spline-chart type and specifies
+ the type of splines.
+
+ @see CurveStyle
+ <p>You can set the following values:
+ <table border>
+ <tr><td>0</td><td>lines are used instead of splines</td></tr>
+ <tr><td>1</td><td>use cubic splines</td></tr>
+ <tr><td>2</td><td>use B-splines</td></tr>
+ <tr><td>3</td><td>use stepped line with step start</td></tr>
+ <tr><td>4</td><td>use stepped line with step end</td></tr>
+ <tr><td>5</td><td>use stepped line with step center x</td></tr>
+ <tr><td>6</td><td>use stepped line with step center y</td></tr>
+ </table>
+ </p>
+ */
+ [property] long SplineType;
+
+
+ /** specifies the power of the polynomials used for spline
+ calculation
+
+ This property is only valid for B-splines
+ */
+ [optional, property] long SplineOrder;
+
+
+ /** determines the number of sampling points of a spline
+ */
+ [optional, property] long SplineResolution;
+
+ /** Set this property to a graphic object which is then used as
+ symbol for all series.
+
+ @since LibreOffice 6.1
+
+ @deprecated - added for backwards compatibility
+ @see ChartSymbolType
+ */
+ [optional, property] com::sun::star::graphic::XGraphic SymbolBitmap;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/MissingValueTreatment.idl b/offapi/com/sun/star/chart/MissingValueTreatment.idl
new file mode 100644
index 000000000..19509aa6e
--- /dev/null
+++ b/offapi/com/sun/star/chart/MissingValueTreatment.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_chart_MissingValueTreatment_idl__
+#define __com_sun_star_chart_MissingValueTreatment_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** This specifies how empty or invalid cells in the provided data should be handled when plotted.
+ */
+published constants MissingValueTreatment
+{
+ const long LEAVE_GAP = 0;
+ const long USE_ZERO = 1;
+ const long CONTINUE = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/NetDiagram.idl b/offapi/com/sun/star/chart/NetDiagram.idl
new file mode 100644
index 000000000..07d997502
--- /dev/null
+++ b/offapi/com/sun/star/chart/NetDiagram.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_chart_NetDiagram_idl__
+#define __com_sun_star_chart_NetDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/StackableDiagram.idl>
+
+#include <com/sun/star/chart/ChartAxisYSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies net diagrams.
+
+ <p>Net diagrams are also known as radar diagrams.</p>
+ */
+published service NetDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::StackableDiagram;
+ service com::sun::star::chart::ChartAxisYSupplier;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/PieDiagram.idl b/offapi/com/sun/star/chart/PieDiagram.idl
new file mode 100644
index 000000000..5293da11e
--- /dev/null
+++ b/offapi/com/sun/star/chart/PieDiagram.idl
@@ -0,0 +1,44 @@
+/* -*- 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_chart_PieDiagram_idl__
+#define __com_sun_star_chart_PieDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/Dim3DDiagram.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** a service for pie diagrams.
+ */
+published service PieDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::Dim3DDiagram;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/StackableDiagram.idl b/offapi/com/sun/star/chart/StackableDiagram.idl
new file mode 100644
index 000000000..f940c1d8a
--- /dev/null
+++ b/offapi/com/sun/star/chart/StackableDiagram.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_chart_StackableDiagram_idl__
+#define __com_sun_star_chart_StackableDiagram_idl__
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/**
+
+a helper service for stackable chart types (e.g., charts in
+ which the data rows may be displayed stacked on each other or in
+ percent relation).
+ */
+published service StackableDiagram
+{
+
+ /** If `TRUE`, the series of the diagram are stacked and each
+ category sums up to 100%.
+ */
+ [property] boolean Percent;
+
+
+ /** If `TRUE`, the series of the diagram are stacked.
+
+ <p>If you have a stacked bar chart, you can easily determine
+ the sum of data in each category, by taking the top of the
+ topmost bar.</p>
+ */
+ [property] boolean Stacked;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/StockDiagram.idl b/offapi/com/sun/star/chart/StockDiagram.idl
new file mode 100644
index 000000000..abeef4fe1
--- /dev/null
+++ b/offapi/com/sun/star/chart/StockDiagram.idl
@@ -0,0 +1,130 @@
+/* -*- 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_chart_StockDiagram_idl__
+#define __com_sun_star_chart_StockDiagram_idl__
+
+#include <com/sun/star/chart/XStatisticDisplay.idl>
+
+#include <com/sun/star/chart/ChartStatistics.idl>
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** specifies a diagram which can be used for presenting stock quotes.
+
+ <p>Note that the data must have a specific structure for stock
+ diagrams. Let us assume that data is interpreted, such that
+ series are taken from columns (see property
+ Diagram::DataRowSource). Then you need tables of
+ the following structures for different types:</p>
+
+ <p><strong>
+ StockDiagram::Volume is `FALSE`<br>
+ StockDiagram::UpDown is `FALSE`
+ </strong>
+ <table border>
+ <tr><td>Low</td><td>High</td><td>Close</td></tr>
+ <tr><td>...</td><td>...</td><td>...</td></tr>
+ </table></p>
+
+ <p><strong>
+ StockDiagram::Volume is `TRUE`<br>
+ StockDiagram::UpDown is `FALSE`
+ </strong>
+ <table border>
+ <tr><td><strong>Volume</strong></td><td>Low</td><td>High</td><td>Close</td></tr>
+ <tr><td>...</td><td>...</td><td>...</td><td>...</td></tr>
+ </table></p>
+
+ <p><strong>
+ StockDiagram::Volume is `FALSE`<br>
+ StockDiagram::UpDown is `TRUE`
+ </strong>
+ <table border>
+ <tr><td><strong>Open</strong></td><td>Low</td><td>High</td><td>Close</td></tr>
+ <tr><td>...</td><td>...</td><td>...</td><td>...</td></tr>
+ </table></p>
+
+ <p><strong>
+ StockDiagram::Volume is `TRUE`<br>
+ StockDiagram::UpDown is `TRUE`
+ </strong>
+ <table border>
+ <tr><td><strong>Volume</strong></td><td><strong>Open</strong></td><td>Low</td><td>High</td><td>Close</td></tr>
+ <tr><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td></tr>
+ </table></p>
+*/
+published service StockDiagram
+{
+ interface com::sun::star::chart::XStatisticDisplay;
+ service com::sun::star::chart::ChartStatistics;
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::ChartAxisXSupplier;
+ service com::sun::star::chart::ChartTwoAxisYSupplier;
+
+
+ /** indicates if a stock chart contains data representing the
+ volume of stocks.
+
+ <p>The values of the volume are represented as columns like
+ those of a BarDiagram.</p>
+
+ <p>If this property is set to `TRUE`, the values of the first
+ series of the chart data are interpreted as volume.</p>
+ */
+ [property] boolean Volume;
+
+
+ /** indicates if a stock chart contains data representing the
+ value of stocks on the opening and closing date.
+
+ <p>The difference will be indicated by bars. The color
+ of the bar will be significant for positive or negative
+ differences between open and closed data.</p>
+
+ <p>If this property is `FALSE`, the values of the first
+ series (or second if StockDiagram::Volume is
+ `TRUE`) of the chart data are interpreted as the day's lowest
+ value. The next series is interpreted as the day's highest
+ value, and the last series is interpreted as the closing
+ value.</p>
+
+ <p>If this property is set to `TRUE`, one additional series
+ is needed with the opening value of the stocks. It is assumed
+ as the series before the series with the day's lowest
+ value.</p>
+ */
+ [property] boolean UpDown;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/TimeIncrement.idl b/offapi/com/sun/star/chart/TimeIncrement.idl
new file mode 100644
index 000000000..acf05038a
--- /dev/null
+++ b/offapi/com/sun/star/chart/TimeIncrement.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_chart_TimeIncrement_idl
+#define com_sun_star_chart_TimeIncrement_idl
+
+#include <com/sun/star/chart/TimeInterval.idl>
+
+
+module com { module sun { module star { module chart {
+
+
+/** A TimeIncrement describes how tickmarks are positioned on the scale of a date-time axis.
+@since OOo 3.4
+*/
+published struct TimeIncrement
+{
+ /** if the any contains a struct of type ::com::sun::star::chart::TimeInterval
+ this is used as a fixed distance value for the major tickmarks. Otherwise, if the any is empty or contains an
+ incompatible type, the distance between major tickmarks is calculated automatically by the application.
+ */
+ any MajorTimeInterval;
+
+ /** if the any contains a struct of type ::com::sun::star::chart::TimeInterval
+ this is used as a fixed distance value for the minor tickmarks. Otherwise, if the any is empty or contains an
+ incompatible type, the distance between minor tickmarks is calculated automatically by the application.
+ */
+ any MinorTimeInterval;
+
+ /** if the any contains a constant of type ::com::sun::star::chart::TimeUnit
+ this is the smallest time unit that is displayed on the date-time axis.
+ Otherwise, if the any is empty or contains an incompatible type,
+ the resolution is chosen automatically by the application.
+ */
+ any TimeResolution;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/TimeInterval.idl b/offapi/com/sun/star/chart/TimeInterval.idl
new file mode 100644
index 000000000..28ef553ca
--- /dev/null
+++ b/offapi/com/sun/star/chart/TimeInterval.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_chart_TimeInterval_idl
+#define com_sun_star_chart_TimeInterval_idl
+
+#include <com/sun/star/chart/TimeUnit.idl>
+
+
+module com { module sun { module star { module chart {
+
+
+/** Describes an interval on a date-axis
+@since OOo 3.4
+*/
+published struct TimeInterval
+{
+ /** specifies the number of units
+ */
+ long Number;
+
+ /** specifies a unit for the interval
+ <p>is a value out of the constant group ::com::sun::star::chart::TimeUnit.</p>
+ */
+ long TimeUnit;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/TimeUnit.idl b/offapi/com/sun/star/chart/TimeUnit.idl
new file mode 100644
index 000000000..a0d359c69
--- /dev/null
+++ b/offapi/com/sun/star/chart/TimeUnit.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_chart_TimeUnit_idl__
+#define __com_sun_star_chart_TimeUnit_idl__
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Specifies a unit for intervals on a date-time axis
+@since OOo 3.4
+ */
+published constants TimeUnit
+{
+ const long DAY = 0;
+ const long MONTH = 1;
+ const long YEAR = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/X3DDefaultSetter.idl b/offapi/com/sun/star/chart/X3DDefaultSetter.idl
new file mode 100644
index 000000000..7ab263712
--- /dev/null
+++ b/offapi/com/sun/star/chart/X3DDefaultSetter.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_chart_X3DDefaultSetter_idl__
+#define __com_sun_star_chart_X3DDefaultSetter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** makes it easy to set suitable defaults for illumination and rotation for 3D charts
+
+ @see Dim3DDiagram
+ */
+published interface X3DDefaultSetter : com::sun::star::uno::XInterface
+{
+ /** The result may depend on the current chart type and the current shade mode.
+ */
+ void set3DSettingsToDefault();
+
+ /** sets a suitable default for the rotation of the current 3D chart.
+ The result may depend on the current chart type.
+ */
+ void setDefaultRotation();
+
+ /** set suitable defaults for the illumination of the current 3D chart.
+ The result may dependent on other 3D settings as rotation or shade mode. It may depend on the current chart type also.
+ */
+ void setDefaultIllumination();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/X3DDisplay.idl b/offapi/com/sun/star/chart/X3DDisplay.idl
new file mode 100644
index 000000000..1048951a1
--- /dev/null
+++ b/offapi/com/sun/star/chart/X3DDisplay.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_chart_X3DDisplay_idl__
+#define __com_sun_star_chart_X3DDisplay_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to 3D elements of a three-dimensional chart.
+
+ @see Dim3DDiagram
+ */
+published interface X3DDisplay: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the properties of the diagram wall(s).
+
+ <p>This specifies the properties of the two side walls of the
+ chart scene.</p>
+
+ <p>Note that this property is also valid for two-dimensional
+ diagrams. There the properties returned here affect the
+ background rectangle of the diagram.</p>
+
+ @see ChartArea
+ */
+ com::sun::star::beans::XPropertySet getWall();
+
+
+ /** @returns
+ the properties of the floor.
+
+ <p>This is only valid for three-dimensional diagrams.</p>
+
+ @see ChartArea
+ */
+ com::sun::star::beans::XPropertySet getFloor();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XAxis.idl b/offapi/com/sun/star/chart/XAxis.idl
new file mode 100644
index 000000000..adb973a05
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxis.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_chart_XAxis_idl
+#define com_sun_star_chart_XAxis_idl
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+module com { module sun { module star { module chart {
+
+/** Allows easier access to the different subelements of an axis.
+@since OOo 3.4
+*/
+
+interface XAxis : ::com::sun::star::uno::XInterface
+{
+ /** @returns
+ the title of the axis. The returned object supports the properties described in service ChartTitle.
+ */
+ com::sun::star::beans::XPropertySet getAxisTitle();
+
+ /** @returns
+ the properties of the major grid of the axis. The returned object supports service ChartGrid.
+ */
+ com::sun::star::beans::XPropertySet getMajorGrid();
+
+ /** @returns
+ the properties of the minor grid of the axis. The returned object supports service ChartGrid.
+ */
+ com::sun::star::beans::XPropertySet getMinorGrid();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XAxisSupplier.idl b/offapi/com/sun/star/chart/XAxisSupplier.idl
new file mode 100644
index 000000000..c7858f401
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxisSupplier.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_chart_XAxisSupplier_idl
+#define com_sun_star_chart_XAxisSupplier_idl
+
+#include <com/sun/star/chart/XAxis.idl>
+
+module com { module sun { module star { module chart {
+
+/** Easier access to the different axes within a chart.
+@since OOo 3.4
+*/
+
+interface XAxisSupplier : ::com::sun::star::uno::XInterface
+{
+ /** @returns
+ the primary axis of the specified dimension. The returned object supports service ChartAxis.
+
+ @param nDimensionIndex
+ Parameter nDimensionIndex says whether it is a x, y or z-axis (0 for x).
+ */
+ com::sun::star::chart::XAxis getAxis( [in] long nDimensionIndex );
+
+ /** @returns
+ the secondary axis of the specified dimension. The returned object supports service ChartAxis.
+
+ @param nDimensionIndex
+ Parameter nDimensionIndex says whether it is a x, y or z-axis (0 for x).
+ */
+ com::sun::star::chart::XAxis getSecondaryAxis( [in] long nDimensionIndex );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XAxisXSupplier.idl b/offapi/com/sun/star/chart/XAxisXSupplier.idl
new file mode 100644
index 000000000..113c409a4
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxisXSupplier.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_chart_XAxisXSupplier_idl__
+#define __com_sun_star_chart_XAxisXSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to the <i>x</i>-axis of a chart.
+
+ <p>Note that not all diagrams are capable of displaying an
+ <i>x</i>-axis, e.g., the PieDiagram.</p>
+
+ @see XDiagram
+ */
+published interface XAxisXSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the <i>x</i>-axis title shape.
+
+ @see ChartTitle
+ */
+ com::sun::star::drawing::XShape getXAxisTitle();
+
+
+ /** @returns
+ the properties of the <i>x</i>-axis of the diagram.
+
+ <p>The returned property set contains scaling properties as
+ well as formatting properties.</p>
+
+ @see ChartAxis
+ */
+ com::sun::star::beans::XPropertySet getXAxis();
+
+
+ /** @returns
+ the properties of the main grid (major grid) of the
+ <i>x</i>-axis of the diagram.
+
+ @see ChartGrid
+ */
+ com::sun::star::beans::XPropertySet getXMainGrid();
+
+
+ /** @returns
+ the properties of the help grid (minor grid) of the
+ <i>x</i>-axis of the diagram.
+
+ @see ChartGrid
+ */
+ com::sun::star::beans::XPropertySet getXHelpGrid();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XAxisYSupplier.idl b/offapi/com/sun/star/chart/XAxisYSupplier.idl
new file mode 100644
index 000000000..9e2e14ff5
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxisYSupplier.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_chart_XAxisYSupplier_idl__
+#define __com_sun_star_chart_XAxisYSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to the <i>y</i>-axis of a chart.
+
+ <p>Note that not all diagrams are capable of displaying a
+ <i>y</i>-axis, e.g., the PieDiagram.</p>
+
+ @see XDiagram
+ */
+published interface XAxisYSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the <i>y</i>-axis title shape.
+
+ @see ChartTitle
+ */
+ com::sun::star::drawing::XShape getYAxisTitle();
+
+
+ /** @returns
+ the properties of the <i>y</i>-axis of the diagram.
+
+ <p>The returned property set contains scaling properties as
+ well as formatting properties.</p>
+
+ @see ChartAxis
+ */
+ com::sun::star::beans::XPropertySet getYAxis();
+
+
+ /** @returns
+ the properties of the help grid (minor grid) of the
+ <i>y</i>-axis of the diagram.
+
+ @see ChartGrid
+ */
+ com::sun::star::beans::XPropertySet getYHelpGrid();
+
+
+ /** @returns
+ the properties of the main grid (major grid) of the
+ <i>y</i>-axis of the diagram.
+
+ @see ChartGrid
+ */
+ com::sun::star::beans::XPropertySet getYMainGrid();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XAxisZSupplier.idl b/offapi/com/sun/star/chart/XAxisZSupplier.idl
new file mode 100644
index 000000000..edd9f5db0
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxisZSupplier.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_chart_XAxisZSupplier_idl__
+#define __com_sun_star_chart_XAxisZSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to the <i>z</i>-axis of a chart.
+
+ @see XDiagram
+ */
+published interface XAxisZSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the <i>z</i>-axis title shape.
+
+ @see ChartTitle
+ */
+ com::sun::star::drawing::XShape getZAxisTitle();
+
+
+ /** @returns
+ the properties of the main grid (major grid) of the
+ <i>z</i>-axis of the diagram.
+
+ @see ChartGrid
+ */
+ com::sun::star::beans::XPropertySet getZMainGrid();
+
+
+ /** @returns
+ the properties of the help grid (minor grid) of the
+ <i>z</i>-axis of the diagram.
+
+ @see ChartGrid
+ */
+ com::sun::star::beans::XPropertySet getZHelpGrid();
+
+
+ /** @returns
+ the properties of the <i>z</i>-axis of the diagram.
+
+ <p>The returned property set contains scaling properties as
+ well as formatting properties.</p>
+
+ @see ChartAxis
+ */
+ com::sun::star::beans::XPropertySet getZAxis();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XChartData.idl b/offapi/com/sun/star/chart/XChartData.idl
new file mode 100644
index 000000000..0ce2e1002
--- /dev/null
+++ b/offapi/com/sun/star/chart/XChartData.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_chart_XChartData_idl__
+#define __com_sun_star_chart_XChartData_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/chart/XChartDataChangeEventListener.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** manages the data of the chart.
+
+ @see XChartDocument
+ */
+published interface XChartData: com::sun::star::uno::XInterface
+{
+
+ /** allows a component supporting the
+ XChartDataChangeEventListener interface to
+ register as listener. The component will be notified with a
+ ChartDataChangeEvent every time the chart's data
+ changes.</p>
+
+ @param aListener
+ the component that is to be added as listener
+
+ @see XChartDataChangeEventListener
+ @see ChartDataChangeEvent
+ */
+ void addChartDataChangeEventListener( [in] com::sun::star::chart::XChartDataChangeEventListener aListener );
+
+
+ /** removes a previously registered listener.
+
+ @param aListener
+ the component that is to be removed
+ */
+ void removeChartDataChangeEventListener( [in] com::sun::star::chart::XChartDataChangeEventListener aListener );
+
+
+ /** @returns
+ the value which is to be used as an indicator for a
+ missing value in the data.
+
+ <p>In IEEE arithmetic format it is one of the NaN values, so
+ there are no conflicts with existing numeric values.</p>
+ */
+ double getNotANumber();
+
+
+ /** checks whether the value given is equal to the indicator value
+ for a missing value.
+
+ <p>In IEEE arithmetic format it is one of the NaN values, so
+ there are no conflicts with existing numeric values.</p>
+
+ <p>Always use this method to check, if a value is <em>not a
+ number</em>. If you compare the value returned by
+ XChartData::getNotANumber() to another double
+ value using the = operator, you may not get the desired
+ result!</p>
+
+ @returns
+ `TRUE` if the number given is interpreted by the chart as
+ a missing value.
+
+ @param nNumber
+ the number that you want to check for validity.
+ */
+ boolean isNotANumber( [in] double nNumber );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XChartDataArray.idl b/offapi/com/sun/star/chart/XChartDataArray.idl
new file mode 100644
index 000000000..9764c85bd
--- /dev/null
+++ b/offapi/com/sun/star/chart/XChartDataArray.idl
@@ -0,0 +1,97 @@
+/* -*- 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_chart_XChartDataArray_idl__
+#define __com_sun_star_chart_XChartDataArray_idl__
+
+#include <com/sun/star/chart/XChartData.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to data represented as an array of rows.
+
+ <p>Can be obtained from interface XChartDocument via method getData().</p>
+
+ <p>If used for an XYDiagram, the row number 0
+ represents the <i>x</i>-values.</p>
+ */
+published interface XChartDataArray: XChartData
+{
+
+ /** retrieves the numerical data as a nested sequence of values.
+
+ @returns
+ the values as a sequence of sequences. The inner sequence
+ represents rows.
+ */
+ sequence< sequence< double > > getData();
+
+
+ /** sets the chart data as an array of numbers.
+
+ @param aData
+ the values as a sequence of sequences. The inner sequence
+ represents rows.
+ */
+ void setData( [in] sequence< sequence< double > > aData );
+
+
+ /** retrieves the description texts for all rows.
+
+ @returns
+ a sequence of strings, each representing the description
+ of a row.
+ */
+ sequence< string > getRowDescriptions();
+
+
+ /** sets the description texts for all rows.
+
+ @param aRowDescriptions
+ a sequence of strings which represent a description for
+ each row.
+ */
+ void setRowDescriptions( [in] sequence< string > aRowDescriptions );
+
+
+ /** retrieves the description texts for all columns.
+
+ @returns
+ a sequence of strings, each representing the description
+ of a column.
+ */
+ sequence< string > getColumnDescriptions();
+
+
+ /** sets the description texts for all columns.
+
+ @param aColumnDescriptions
+ a sequence of strings which represent a description for
+ each column.
+ */
+ void setColumnDescriptions( [in] sequence< string > aColumnDescriptions );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XChartDataChangeEventListener.idl b/offapi/com/sun/star/chart/XChartDataChangeEventListener.idl
new file mode 100644
index 000000000..d1899ca3f
--- /dev/null
+++ b/offapi/com/sun/star/chart/XChartDataChangeEventListener.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_chart_XChartDataChangeEventListener_idl__
+#define __com_sun_star_chart_XChartDataChangeEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/chart/ChartDataChangeEvent.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** makes it possible to receive events when chart data changes.
+ */
+published interface XChartDataChangeEventListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called whenever chart data changes in value or structure.
+
+ <p>This interface must be implemented by components that wish
+ to get notified of changes in chart data. They can be
+ registered at an XChartData component.</p>
+
+ @param aEvent
+ the event that gives further information on what changed.
+
+ @see ChartDataChangeEvent
+ @see XChartData
+ */
+ void chartDataChanged( [in] com::sun::star::chart::ChartDataChangeEvent aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XChartDocument.idl b/offapi/com/sun/star/chart/XChartDocument.idl
new file mode 100644
index 000000000..c29cc1722
--- /dev/null
+++ b/offapi/com/sun/star/chart/XChartDocument.idl
@@ -0,0 +1,160 @@
+/* -*- 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_chart_XChartDocument_idl__
+#define __com_sun_star_chart_XChartDocument_idl__
+
+#include <com/sun/star/frame/XModel.idl>
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/chart/XDiagram.idl>
+
+#include <com/sun/star/chart/XChartData.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** manages the chart document.
+
+ @see XDiagram
+ @see XChartData
+ */
+published interface XChartDocument: com::sun::star::frame::XModel
+{
+
+ /** @returns
+ the shape of the main title of the chart document.
+
+ @see ChartTitle
+ */
+ com::sun::star::drawing::XShape getTitle();
+
+
+ /** @returns
+ the shape of the subtitle of the chart document.
+
+ <p>Usually the subtitle is smaller than the main title by
+ default. And it is most commonly placed below the main title
+ by default.</p>
+
+ @see ChartTitle
+ */
+ com::sun::star::drawing::XShape getSubTitle();
+
+
+ /** @returns
+ the shape of the legend of the chart document.
+
+ @see ChartLegend
+ */
+ com::sun::star::drawing::XShape getLegend();
+
+
+ /** @returns
+ 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 the
+ diagram, in which the actual data is represented, you have to
+ change the chart wall which you get from the
+ X3DDisplay.</p>
+
+ @see ChartArea
+ @see X3DDisplay
+ */
+ com::sun::star::beans::XPropertySet getArea();
+
+
+ /** @returns
+ the diagram of the chart document.
+
+ @see Diagram
+ */
+ com::sun::star::chart::XDiagram getDiagram();
+
+
+ /** sets the diagram for the chart document.
+
+ <p>Setting a new diagram implicitly disposes the previous
+ diagram.</p>
+
+ @param xDiagram
+ the new diagram that should be set for the chart. To
+ create such a diagram component, you can use the
+ com::sun::star::lang::XMultiServiceFactory,
+ which should be implemented by an
+ XChartDocument.
+ */
+ void setDiagram( [in] com::sun::star::chart::XDiagram xDiagram );
+
+
+ /** @returns
+ the data of the chart.
+
+ <p>The returned object supports interface XChartDataArray
+ which can be used to access the concrete data.</p>
+
+ <p>Since OOo 3.3 the returned object also supports interface XComplexDescriptionAccess
+ which can be used to access complex hierarchical axis descriptions.</p>
+
+ <p>Since OOo 3.4 the returned object also supports interface XDateCategories.</p>
+
+ @see XChartData
+ @see XChartDataArray
+ @see XComplexDescriptionAccess
+ @see XDateCategories
+ */
+ com::sun::star::chart::XChartData getData();
+
+
+ /** attaches data to the chart.
+
+ <p>The given object needs to support interface XChartDataArray.</p>
+
+ <p>Since OOo 3.3 if the given object might support interface XComplexDescriptionAccess
+ which allows to set complex hierarchical axis descriptions.</p>
+
+ <p>Since OOo 3.4 if the given object might support interface XDateCategories
+ which allows to set date values as x values for category charts.</p>
+
+ <p>The given data is copied before it is applied to the chart.
+ So changing xData after this call will have no effect on the chart.</p>
+
+ @see XChartData
+ @see XChartDataArray
+ @see XComplexDescriptionAccess
+ @see XDateCategories
+
+ @param xData
+ the object that provides the new data.
+ */
+ void attachData( [in] com::sun::star::chart::XChartData xData );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XComplexDescriptionAccess.idl b/offapi/com/sun/star/chart/XComplexDescriptionAccess.idl
new file mode 100644
index 000000000..80c33ba6d
--- /dev/null
+++ b/offapi/com/sun/star/chart/XComplexDescriptionAccess.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_chart_XComplexDescriptionAccess_idl__
+#define __com_sun_star_chart_XComplexDescriptionAccess_idl__
+
+#include <com/sun/star/chart/XChartDataArray.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Offers access to complex column and row descriptions.
+
+<p>Can be obtained from interface XChartDocument via method getData().</p>
+
+@since OOo 3.3
+*/
+
+published interface XComplexDescriptionAccess : XChartDataArray
+{
+
+ /** retrieves the description texts for all rows.
+
+ @returns
+ a sequence of sequences of strings representing the descriptions
+ of all rows. The outer index represents different rows.
+ The inner index represents the different levels (usually there is only one).
+ */
+ sequence< sequence< string > > getComplexRowDescriptions();
+
+
+ /** sets the description texts for all rows.
+
+ @param rRowDescriptions
+ a sequence of sequences of strings representing the descriptions of all
+ rows. The outer index represents different rows.
+ The inner index represents the different levels (usually there is only one).
+ */
+ void setComplexRowDescriptions( [in] sequence< sequence< string > > rRowDescriptions );
+
+
+ /** retrieves the description texts for all columns.
+
+ @returns
+ a sequence of sequences of strings representing the descriptions
+ of all columns. The outer index represents different columns.
+ The inner index represents the different levels (usually there is only one).
+ */
+ sequence< sequence< string > > getComplexColumnDescriptions();
+
+
+ /** sets the description texts for all columns.
+
+ @param rColumnDescriptions
+ a sequence of sequences of strings 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).
+ */
+ void setComplexColumnDescriptions( [in] sequence< sequence< string > > rColumnDescriptions );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XDateCategories.idl b/offapi/com/sun/star/chart/XDateCategories.idl
new file mode 100644
index 000000000..fa81062aa
--- /dev/null
+++ b/offapi/com/sun/star/chart/XDateCategories.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_chart_XDateCategories_idl__
+#define __com_sun_star_chart_XDateCategories_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** Allows to set date values as categories.
+
+<p>Can be obtained from interface XChartDocument via method getData().</p>
+
+@since OOo 3.4
+*/
+
+published interface XDateCategories
+{
+
+ /** sets dates as categories
+
+ @param rDates
+ a sequence of sequences of doubles representing dates.
+ */
+ void setDateCategories( [in] sequence< double > rDates );
+
+
+ /** retrieves the date values if the category x-axis id a date axis
+
+ @returns
+ a sequence of doubles representing dates.
+ */
+ sequence< double > getDateCategories();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XDiagram.idl b/offapi/com/sun/star/chart/XDiagram.idl
new file mode 100644
index 000000000..998fff50b
--- /dev/null
+++ b/offapi/com/sun/star/chart/XDiagram.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_chart_XDiagram_idl__
+#define __com_sun_star_chart_XDiagram_idl__
+
+#include <com/sun/star/drawing/XShape.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** manages the diagram of the chart document.
+
+ @see XChartDocument
+ */
+published interface XDiagram: com::sun::star::drawing::XShape
+{
+
+ /** @returns
+ a string representing the diagram type. This string
+ contains the fully qualified name of the corresponding
+ service.
+ */
+ string getDiagramType();
+
+
+ /** @returns
+ the properties of the specified data row (series).
+
+ @param nRow
+ the index of the series (0-based)
+
+ @see ChartDataRowProperties
+ */
+ com::sun::star::beans::XPropertySet getDataRowProperties( [in] long nRow )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+
+ /** @returns
+ the properties of the specified data point.
+
+ @param nCol
+ the index of the data point of a series (0-based).
+ @param nRow
+ the index of a series (0-based).
+
+ @see ChartDataPointProperties
+ */
+ com::sun::star::beans::XPropertySet getDataPointProperties( [in] long nCol,
+ [in] long nRow )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XDiagramPositioning.idl b/offapi/com/sun/star/chart/XDiagramPositioning.idl
new file mode 100644
index 000000000..401b0ab53
--- /dev/null
+++ b/offapi/com/sun/star/chart/XDiagramPositioning.idl
@@ -0,0 +1,91 @@
+/* -*- 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_chart_XDiagramPositioning_idl__
+#define __com_sun_star_chart_XDiagramPositioning_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+
+
+ module com { module sun { module star { module chart {
+
+
+/** allow for different positioning options for a diagram
+
+ @see Diagram
+ */
+interface XDiagramPositioning : com::sun::star::uno::XInterface
+{
+ /** the diagram will be placed automatically
+ */
+ void setAutomaticDiagramPositioning();
+
+ /** @returns whether the diagram is placed automatically
+ */
+ boolean isAutomaticDiagramPositioning();
+
+ /** place the inner diagram part excluding any axes, labels and titles
+ @param PositionRect
+ specifies the position and size in 100/th mm
+ */
+ void setDiagramPositionExcludingAxes( [in] com::sun::star::awt::Rectangle PositionRect );
+
+ /** @returns true in case the diagram position was set with method setDiagramPositionExcludingAxes
+ */
+ boolean isExcludingDiagramPositioning();
+
+ /** @returns the position rectangle of the inner diagram part excluding any axes, labels and titles.
+ Position and size are given in 100/th mm.
+ It might be necessary to calculate the positioning so this method can be expensive and the result may depend on different other settings.
+ */
+ com::sun::star::awt::Rectangle calculateDiagramPositionExcludingAxes();
+
+
+ /** place the outer diagram part including the axes and axes labels, but excluding the axes titles.
+ @param PositionRect
+ specifies the position and size in 100/th mm
+ */
+ void setDiagramPositionIncludingAxes( [in] com::sun::star::awt::Rectangle PositionRect );
+
+ /** @returns the position rectangle of the diagram including the axes and axes labels, but excluding the axes titles.
+ Position and size are given in 100/th mm.
+ It might be necessary to calculate the positioning so this method can be expensive and the result may depend on different other settings.
+ */
+ com::sun::star::awt::Rectangle calculateDiagramPositionIncludingAxes();
+
+ /** place the diagram including the axes, axes labels and axes titles.
+ For the placement the current axis titles are taken into account, so the titles must be initialized properly before this method is called.
+ @param PositionRect
+ specifies the position and size in 100/th mm
+ */
+ void setDiagramPositionIncludingAxesAndAxisTitles( [in] com::sun::star::awt::Rectangle PositionRect );
+
+ /** @returns the position rectangle of the diagram including the axes, axes labels and axes titles.
+ Position and size are given in 100/th mm.
+ It might be necessary to calculate the positioning so this method can be expensive and the result may depend on different other settings.
+ */
+ com::sun::star::awt::Rectangle calculateDiagramPositionIncludingAxesAndAxisTitles();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XSecondAxisTitleSupplier.idl b/offapi/com/sun/star/chart/XSecondAxisTitleSupplier.idl
new file mode 100644
index 000000000..a17a02841
--- /dev/null
+++ b/offapi/com/sun/star/chart/XSecondAxisTitleSupplier.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_chart_XSecondAxisTitleSupplier_idl__
+#define __com_sun_star_chart_XSecondAxisTitleSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/XShape.idl>
+
+
+module com { module sun { module star { module chart {
+
+interface XSecondAxisTitleSupplier: com::sun::star::uno::XInterface
+{
+ com::sun::star::drawing::XShape getSecondXAxisTitle();
+
+ com::sun::star::drawing::XShape getSecondYAxisTitle();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XStatisticDisplay.idl b/offapi/com/sun/star/chart/XStatisticDisplay.idl
new file mode 100644
index 000000000..63dfe054b
--- /dev/null
+++ b/offapi/com/sun/star/chart/XStatisticDisplay.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_chart_XStatisticDisplay_idl__
+#define __com_sun_star_chart_XStatisticDisplay_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to statistical elements for the chart.
+
+ <p>Statistical elements are used by a
+ StockDiagram.</p>
+
+ @see XChartDocument
+ @see StockDiagram
+ */
+published interface XStatisticDisplay: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the properties of the up bars of a stock chart which has
+ StockDiagram::UpDown set to `TRUE`.
+
+ <p>The <em>UpBar</em> is the box that is drawn between the
+ open and close value of a stock, when the closing value is
+ above the opening value, i.e., the stock price rose.</p>
+
+ @see ChartArea
+ */
+ com::sun::star::beans::XPropertySet getUpBar();
+
+
+ /** @returns
+ the properties of the down bars of a stock chart which has
+ StockDiagram::UpDown set to `TRUE`.
+
+ <p>The <em>DownBar</em> is the box that is drawn between the
+ open and close value of a stock, when the closing value is
+ below the opening value, i.e., the stock price fell.</p>
+
+ @see ChartArea
+ */
+ com::sun::star::beans::XPropertySet getDownBar();
+
+
+ /** @returns
+ the properties of the lines that are drawn between the
+ lowest and highest stock value during a day.
+
+ @see ChartLine
+ */
+ com::sun::star::beans::XPropertySet getMinMaxLine();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XTwoAxisXSupplier.idl b/offapi/com/sun/star/chart/XTwoAxisXSupplier.idl
new file mode 100644
index 000000000..de3fa8bb9
--- /dev/null
+++ b/offapi/com/sun/star/chart/XTwoAxisXSupplier.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_chart_XTwoAxisXSupplier_idl__
+#define __com_sun_star_chart_XTwoAxisXSupplier_idl__
+
+#include <com/sun/star/chart/XAxisXSupplier.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to both the primary and the secondary <i>x</i>-axis
+ of a chart.
+
+ @see XDiagram
+ */
+published interface XTwoAxisXSupplier: com::sun::star::chart::XAxisXSupplier
+{
+
+ /** @returns
+ the properties of the secondary <i>x</i>-axis of the
+ diagram.
+
+ <p>The returned property set contains scaling properties as
+ well as formatting properties.</p>
+
+ @see ChartAxis
+ */
+ com::sun::star::beans::XPropertySet getSecondaryXAxis();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XTwoAxisYSupplier.idl b/offapi/com/sun/star/chart/XTwoAxisYSupplier.idl
new file mode 100644
index 000000000..f85718155
--- /dev/null
+++ b/offapi/com/sun/star/chart/XTwoAxisYSupplier.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_chart_XTwoAxisYSupplier_idl__
+#define __com_sun_star_chart_XTwoAxisYSupplier_idl__
+
+#include <com/sun/star/chart/XAxisYSupplier.idl>
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** gives access to both the primary and the secondary y-axis of a diagram.@see XChartDocument
+ */
+published interface XTwoAxisYSupplier: com::sun::star::chart::XAxisYSupplier
+{
+
+ /** @returns
+ the properties of the secondary <i>y</i>-axis of the
+ diagram.
+
+ <p>The returned property set contains scaling properties as
+ well as formatting properties.</p>
+
+ @see ChartAxis
+ */
+ com::sun::star::beans::XPropertySet getSecondaryYAxis();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/chart/XYDiagram.idl b/offapi/com/sun/star/chart/XYDiagram.idl
new file mode 100644
index 000000000..8ee35ba14
--- /dev/null
+++ b/offapi/com/sun/star/chart/XYDiagram.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_chart_XYDiagram_idl__
+#define __com_sun_star_chart_XYDiagram_idl__
+
+#include <com/sun/star/chart/Diagram.idl>
+
+#include <com/sun/star/chart/ChartStatistics.idl>
+
+#include <com/sun/star/chart/ChartAxisXSupplier.idl>
+
+#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl>
+
+#include <com/sun/star/chart/LineDiagram.idl>
+
+
+
+ module com { module sun { module star { module chart {
+
+
+/** a service for X/Y diagrams (Also known as scatter charts).
+
+ <p>The special thing about X/Y diagrams is that the first series
+ of data contains <i>x</i>-values. The other series contain
+ <i>y</i>-values. Together both form two-dimensional coordinates,
+ at which data points are placed.</p>
+ */
+published service XYDiagram
+{
+ service com::sun::star::chart::Diagram;
+ service com::sun::star::chart::ChartStatistics;
+ service com::sun::star::chart::ChartAxisXSupplier;
+ service com::sun::star::chart::ChartTwoAxisYSupplier;
+ service com::sun::star::chart::LineDiagram;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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..f5ea79ca6
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPointCustomLabelFieldType.idl
@@ -0,0 +1,35 @@
+/* -*- 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,
+ CELLRANGE
+};
+
+}; }; }; };
+
+#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..4b7f27c20
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataPointLabel.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_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;
+
+ /** The caption contains a custom label text, which belongs
+ to a data point label.
+
+ @since LibreOffice 7.1
+ */
+ boolean ShowCustomLabel;
+
+ /** The name of the data series is additionally displayed in the caption.
+
+ @since LibreOffice 7.2
+ */
+ boolean ShowSeriesName;
+};
+
+
+
+} ; // 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..11d4f5290
--- /dev/null
+++ b/offapi/com/sun/star/chart2/DataSeries.idl
@@ -0,0 +1,207 @@
+/* -*- 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;
+
+ /** This property describes whether the data point and the data label
+ are connected with a leader line.
+
+ @since LibreOffice 7.1
+ */
+ [optional, property] boolean ShowCustomLeaderLines;
+};
+
+} ; // 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/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/MovingAverageType.idl b/offapi/com/sun/star/chart2/MovingAverageType.idl
new file mode 100644
index 000000000..3b2ff6c22
--- /dev/null
+++ b/offapi/com/sun/star/chart2/MovingAverageType.idl
@@ -0,0 +1,35 @@
+/* -*- 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_MovingAverageType_idl
+#define com_sun_star_chart2_MovingAverageType_idl
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+constants MovingAverageType {
+ const long Prior = 1;
+ const long Central = 2;
+ const long AveragedAbscissa = 3;
+};
+
+} ; // 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/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..3ba881465
--- /dev/null
+++ b/offapi/com/sun/star/chart2/RegressionCurve.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_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;
+
+ [property] long MovingAverageType;
+};
+
+} ; // 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..6187a9b42
--- /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 SymbolStyle::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..484d4c256
--- /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 choose 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 choose 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..08bab11ce
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartShape.idl
@@ -0,0 +1,87 @@
+/* -*- 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/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..147343d4b
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XChartTypeTemplate.idl
@@ -0,0 +1,224 @@
+/* -*- 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 );
+
+ /**
+ This used to have a return type of XDataInterpreter.
+ Then I removed the whole XChartTypeTemplate interface in
+ commit 58766f997d59e4684f2887fd8cdeb12d2f8a9366.
+ Which turned out to be a bad idea, so I restored it.
+ I restored it in this form because I want to restore binary compatibily with vtable
+ layout, but I don't want to restore the XDataInterpreter stuff, which was not
+ useful for external use.
+ */
+ com::sun::star::uno::XInterface 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/XDataPointCustomLabelField.idl b/offapi/com/sun/star/chart2/XDataPointCustomLabelField.idl
new file mode 100644
index 000000000..8291e9001
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XDataPointCustomLabelField.idl
@@ -0,0 +1,71 @@
+/* -*- 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 );
+
+ /**
+ Indicates whether the label field's content is sourced from a cell[range] or not.
+
+ @since LibreOffice 7.3
+ */
+ boolean getDataLabelsRange();
+
+ /**
+ Sets whether the label field's content is sourced from a cell[range] or not.
+
+ @since LibreOffice 7.3
+ */
+ void setDataLabelsRange( [in] boolean dataLabelsRange );
+
+ /**
+ Returns the address of the cell[range] from which the content of this field is sourced.
+
+ @since LibreOffice 7.3
+ */
+ string getCellRange();
+
+ /**
+ Sets the address of the cell[range] from which the content of this field is sourced.
+
+ @since LibreOffice 7.3
+ */
+ void setCellRange( [in] string cellRange );
+
+};
+
+
+
+} ; // 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..c4313f42b
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl
@@ -0,0 +1,187 @@
+/* -*- 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.
+
+ @param movingType
+ Only if regression type is "Moving Average"
+ @see ::com::sun::star::chart2::MovingAverageType
+
+ */
+ void setRegressionProperties( [in] long degree,
+ [in] boolean forceIntercept,
+ [in] double interceptValue,
+ [in] long period,
+ [in] long movingType);
+
+ /** 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/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..e0f450a1a
--- /dev/null
+++ b/offapi/com/sun/star/chart2/data/XDataProvider.idl
@@ -0,0 +1,179 @@
+/* -*- 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 );
+
+ /** Creates a single data sequence from the string value array representation
+
+ @param aRole
+ The role of the sequence inside a data series. This may be any
+ string. However some strings are predefined and should always
+ be used in the same way.
+
+ @param aValueArray
+ is a string that contains the value representation of the
+ sequence to be created.
+
+ @param aRoleQualifier
+ is a string that describes the role of the sequence.
+ This may be any string. However some strings are predefined
+ and should always be used in the same way.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given value array does not contain a valid value array
+ representation.
+ */
+ XDataSequence createDataSequenceByValueArray( [in] string aRole, [in] string aValueArray,
+ [in] string aRoleQualifier )
+ 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: */