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