diff options
Diffstat (limited to '')
204 files changed, 15061 insertions, 0 deletions
diff --git a/offapi/com/sun/star/chart/AccessibleChartDocumentView.idl b/offapi/com/sun/star/chart/AccessibleChartDocumentView.idl new file mode 100644 index 000000000..d8047fe7a --- /dev/null +++ b/offapi/com/sun/star/chart/AccessibleChartDocumentView.idl @@ -0,0 +1,131 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_chart_AccessibleChartDocumentView_idl__ +#define __com_sun_star_chart_AccessibleChartDocumentView_idl__ + +#include <com/sun/star/accessibility/XAccessible.idl> +#include <com/sun/star/accessibility/XAccessibleContext.idl> +#include <com/sun/star/accessibility/XAccessibleComponent.idl> + +module com { module sun { module star { module chart { + +/** The AccessibleChartDocumentView service is supported + by a Component that represents the view of a Chart document to + provide an entry point to the document tree for accessibility. + + <p>An object that implements the AccessibleChartDocumentView + service provides information about itself and about the chart + subcomponents contained in the chart document displayed in a + window. This service gives a simplified view on the underlying + implementation. It tries both to keep the structure of the + accessibility representation tree as simple as possible and + provide as much relevant information as possible.</p> + + @since OOo 1.1.2 +*/ +service AccessibleChartDocumentView +{ + /** Base interface for being accessible. It gives access to the + ::com::sun::star::accessibility::XAccessibleContext + interface. + */ + interface ::com::sun::star::accessibility::XAccessible; + + /** Provide access to a Chart document's view. + + <p>You can access the following information:</p> + <dl> + <dt>Role</dt> + <dd>The object's role is + com::sun::star::accessibility::AccessibleRole::DOCUMENT.</dd> + <dt>Name</dt> + <dd>Its name is the document's name or the base name of the filename if + no document name has been set explicitly.</dd> + <dt>Description</dt> + <dd>The description is the document's description or the + full filename if no description has been set + explicitly.</dd> + <dt>Children</dt> + <dd>The subcomponents of a chart. This includes all kinds of + titles, a legend and the diagram. The diagram and the legend are + the only children that themselves contain children. The Chart + subcomponents support the service + AccessibleChartElement. Additionally, there may be + shapes a user added via the clipboard. For details see the + ::com::sun::star::drawing::AccessibleShape. + </dd> + <dt>Parent</dt> + <dd>The parent will usually be the window that contains the + Chart document view. It has to be set via implementation dependent + ways.</dd> + <dt>Relations</dt> + <dd>At the moment relations are not supported. The method + com::sun::star::accessibility::XAccessibleContext::getAccessibleRelationSet() + will always return an empty set.</dd> + <dt>States</dt> + <dd>The following states are supported: + <ul> + <li>com::sun::star::accessibility::AccessibleStateType::DEFUNC + is set if a document view becomes obsolete like when + the window, which displays the view, is closed.</li> + <li>com::sun::star::accessibility::AccessibleStateType::ENABLED + is always set unless the + com::sun::star::accessibility::AccessibleStateType::DEFUNC + state is set.</li> + <li>com::sun::star::accessibility::AccessibleStateType::OPAQUE + is always set.</li> + <li>com::sun::star::accessibility::AccessibleStateType::SHOWING + is always set unless the + com::sun::star::accessibility::AccessibleStateType::DEFUNC + state is set.</li> + <li>com::sun::star::accessibility::AccessibleStateType::VISIBLE + is always set unless the + com::sun::star::accessibility::AccessibleStateType::DEFUNC + state is set.</li> + </ul> + </dd> + <dt>Locale</dt> + <dd>Is the locale set at the document.</dd> + <dt>Property change listeners</dt> + <dd>They are supported to inform the + listeners about changes in this object.</dd> + </dl> + */ + interface ::com::sun::star::accessibility::XAccessibleContext; + + /** Provide access to a Chart document's graphical representation. + + <p>The main purpose of this interface is to provide a bounding + box of the currently visible area and to let the user find the + subcomponents of a chart that cover a given test point.</p> + + <p>The accessible Chart subcomponents all support the service + AccessibleChartElement</p> + + @see AccessibleChartElement + */ + interface ::com::sun::star::accessibility::XAccessibleComponent; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/AccessibleChartElement.idl b/offapi/com/sun/star/chart/AccessibleChartElement.idl new file mode 100644 index 000000000..bb6c2da88 --- /dev/null +++ b/offapi/com/sun/star/chart/AccessibleChartElement.idl @@ -0,0 +1,183 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_chart_AccessibleChartElement_idl__ +#define __com_sun_star_chart_AccessibleChartElement_idl__ + +#include <com/sun/star/accessibility/XAccessible.idl> +#include <com/sun/star/accessibility/XAccessibleContext.idl> +#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl> + + +module com { module sun { module star { module chart { + +/** This service is supported by all components that are contained in + the view of a chart document that are controlled by the chart. + Shapes added by a user via the clipboard are not treated as chart + elements. + + <p>The list of objects that implement this service is + ::com::sun::star::chart::ChartTitle, + ::com::sun::star::chart::ChartLegend, + ::com::sun::star::chart::Diagram, + ::com::sun::star::chart::ChartAxis, + ::com::sun::star::chart::ChartDataRowProperties, + ::com::sun::star::chart::ChartDataPointProperties. + </p> + + <p>The + ::com::sun::star::accessibility::XAccessibleExtendedComponent + is supported by all chart elements.</p> + + @since OOo 1.1.2 +*/ +service AccessibleChartElement +{ + /** Base interface for being accessible. It gives access to the + ::com::sun::star::accessibility::XAccessibleContext + interface. + */ + interface ::com::sun::star::accessibility::XAccessible; + + /** Give access to the structural information of a chart element. + + <p>You can access the following information for the shapes of the above listed types: + <dl> + <dt>Role</dt> + <dd>All chart elements have the role + ::com::sun::star::accessibility::AccessibleRole::SHAPE. + </dd> + <dt>Name</dt> + <dd>For unique elements you get fixed names. The unique + elements are the titles, legend, diagram and axes. The + names you get for them are "main-title", "sub-title", + "(x|y|z)-axis-title", "legend", "diagram", "(x|y|z)-axis" + and "second-(x|y)-axis", respectively.</dd> + <dt>Description</dt> + <dd>Descriptions contain a list of selected + attributes. These attributes are, if applicable: + foreground and background color, line width, font name and + size. The purpose of these attributes is to give a rough + description of the more simple geometric shapes. The list + is very restricted in order to avoid overwhelming or + confusing the user.</dd> + <dt>Children</dt> + <dd>The ::com::sun::star::chart::Diagram and + the ::com::sun::star::chart::ChartLegend + contain children, all other objects in a chart do not, i.e., are + leaves in the document representation tree.</dd> + <dt>Parent</dt> + <dd>Because the <code>setParent</code> method from the JAVA has + been removed, the reference to the parent has to be provided in an + implementation specific way.</dd> + <dt>Relations</dt> + <dd>They are not used at the moment.</dd> + + <dt>States</dt> + <dd>The states supported by this service are: + <ul> + + <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC + is set if an object was removed. This indicates that the user + should release all references to the accessible object. If + this state is set then no other of the states below is set. + </li> + <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE</li> + <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED + is always set.<sup>*</sup></li> + <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE + is set for all titles.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE + is set for all elements that do have a transparency + attributes set to 0% and no transparency gradient.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE + Is set for the diagram object only. All other chart elements may not be resized.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING + is always set.<sup>*</sup></li> + <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE + is always set.<sup>*</sup></li> + </ul> + <sup>*</sup>always, except if the state + ::com::sun::star::accessibility::AccessibleStateType::DEFUNC + is set.</dd> + <dt>Locale</dt> + <dd>is supported.</dd> + <dt>Property change listeners</dt> + <dd>Property change listeners that are registered with a chart + element are informed if the size or position or an attribute + changed. The last point needs a short explanation: An attribute + change is signaled even if that attribute is not part of the + shape's description and is therefore not explicitly represented by + the UAA.</dd> + </dl> + */ + interface ::com::sun::star::accessibility::XAccessibleContext; + + /** Give access to the graphical representation of a chart element. + + <p>The coordinate oriented methods <code>contains</code>, + <code>getAccessibleAt</code>, <code>getBounds</code>, + <code>getLocation</code>, <code>getLocationOnScreen</code>, and + <code>getSize</code> work on pixel coordinates. (To transform between + the internal 100th of mm and pixels a chart element has to have access + to information that allows it to do so. This information is the + enclosing window's size in pixel, 100th of mm, and its own relative + position in one or the other coordinate system).</p> + + <p>Focus handling depends on support of the + ::com::sun::star::accessibility::XAccessibleText and + ::com::sun::star::accessibility::XAccessibleEditableText + interfaces.</p> + + <p>Key bindings are not supported at the moment</p> + */ + interface ::com::sun::star::accessibility::XAccessibleComponent; + + /** Give extended access to the graphical representation of a chart element. + + <p>This interface is used primarily to provide the predominant + foreground and background colors and—if applicable, i.e. the + ::com::sun::star::accessibility::XAccessibleText + interface is supported—information about the font used to display + text.</p> + + <p>The foreground and background colors may in some cases be directly + taken from the object. In other cases, for example when a gradient or a + texture is used, they have to be interpolated. The color returned may + not be appropriate in all cases.</p> + + <p>Specifying the font used for displaying text depends on the + transformation of UNO API font information into the Java™ format. + However, if the UAA is used directly, this is of course not an + issue.</p> + + <p>The support of this interface is optional to reduce overhead in case + that no text is displayed and color information can not be determined + with an acceptable cost.</p> + */ + [optional] interface ::com::sun::star::accessibility::XAccessibleExtendedComponent; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/AreaDiagram.idl b/offapi/com/sun/star/chart/AreaDiagram.idl new file mode 100644 index 000000000..91d922b2b --- /dev/null +++ b/offapi/com/sun/star/chart/AreaDiagram.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_AreaDiagram_idl__ +#define __com_sun_star_chart_AreaDiagram_idl__ + +#include <com/sun/star/chart/Diagram.idl> + +#include <com/sun/star/chart/ChartStatistics.idl> + +#include <com/sun/star/chart/ChartAxisXSupplier.idl> + +#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl> + +#include <com/sun/star/chart/ChartAxisZSupplier.idl> + +#include <com/sun/star/chart/Dim3DDiagram.idl> + +#include <com/sun/star/chart/StackableDiagram.idl> + + + + module com { module sun { module star { module chart { + + +/** This is a service for area diagrams. + */ +published service AreaDiagram +{ + service com::sun::star::chart::Diagram; + service com::sun::star::chart::ChartStatistics; + service com::sun::star::chart::ChartAxisXSupplier; + service com::sun::star::chart::ChartTwoAxisYSupplier; + service com::sun::star::chart::ChartAxisZSupplier; + service com::sun::star::chart::Dim3DDiagram; + service com::sun::star::chart::StackableDiagram; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/BarDiagram.idl b/offapi/com/sun/star/chart/BarDiagram.idl new file mode 100644 index 000000000..7b2b8899d --- /dev/null +++ b/offapi/com/sun/star/chart/BarDiagram.idl @@ -0,0 +1,104 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_BarDiagram_idl__ +#define __com_sun_star_chart_BarDiagram_idl__ + +#include <com/sun/star/chart/Diagram.idl> +#include <com/sun/star/chart/ChartStatistics.idl> +#include <com/sun/star/chart/ChartAxisXSupplier.idl> +#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl> +#include <com/sun/star/chart/ChartAxisZSupplier.idl> +#include <com/sun/star/chart/Dim3DDiagram.idl> +#include <com/sun/star/chart/StackableDiagram.idl> + + + + module com { module sun { module star { module chart { + + +/**This is a service for bar and column diagrams. + */ +published service BarDiagram +{ + service com::sun::star::chart::Diagram; + service com::sun::star::chart::ChartStatistics; + service com::sun::star::chart::ChartAxisXSupplier; + service com::sun::star::chart::ChartTwoAxisYSupplier; + service com::sun::star::chart::ChartAxisZSupplier; + service com::sun::star::chart::Dim3DDiagram; + service com::sun::star::chart::StackableDiagram; + + + /** Determines if the bars of a chart are drawn vertically or + horizontally. Default is vertical. + + <p>If Vertical is `FALSE` you get a column chart rather than + a bar chart.</p> + */ + [property] boolean Vertical; + + + /** If `TRUE`, determines that in a three-dimensional bar chart + the bars of each series are arranged behind each other in the + z-direction. If `FALSE` the arrangement of bars is like in + two-dimensional bar charts. + */ + [optional, property] boolean Deep; + + + /** determines if, in a stacked chart, there are connecting lines + between corresponding bars. Currently, bar charts with + horizontal bars do not support this property. + */ + [optional, property] boolean StackedBarsConnected; + + + /** If bars of a bar or column chart are attached to different + axis, this property determines how to display those. If + `TRUE`, the bars are grouped together in one block for each + axis, thus they are painted one group over the other. + + <p>If `FALSE`, the bars are displayed side-by-side, as if + they were all attached to the same axis.</p> + + <p>If all data series of a bar or column chart are attached to + only one axis, this property has no effect.</p> + */ + [optional, property] boolean GroupBarsPerAxis; + + + + /** Determines how many data rows are displayed as lines rather than + bars. + + <p>If this property differs from zero the last + BarDiagram::NumberOfLines data rows are shown as lines. It is + currently supported by two dimensional vertical bar charts only. </p> + + @deprecated + */ + [property] long NumberOfLines; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/BubbleDiagram.idl b/offapi/com/sun/star/chart/BubbleDiagram.idl new file mode 100644 index 000000000..180216a3f --- /dev/null +++ b/offapi/com/sun/star/chart/BubbleDiagram.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_BubbleDiagram_idl__ +#define __com_sun_star_chart_BubbleDiagram_idl__ + +#include <com/sun/star/chart/Diagram.idl> + +#include <com/sun/star/chart/ChartAxisXSupplier.idl> + +#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl> +#include <com/sun/star/chart/ChartStatistics.idl> + + + module com { module sun { module star { module chart { + + +/** a service for bubble diagrams. @since OOo 3.2 + */ +published service BubbleDiagram +{ + service com::sun::star::chart::Diagram; + service com::sun::star::chart::ChartAxisXSupplier; + service com::sun::star::chart::ChartTwoAxisYSupplier; + [optional] service com::sun::star::chart::ChartStatistics; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/Chart3DBarProperties.idl b/offapi/com/sun/star/chart/Chart3DBarProperties.idl new file mode 100644 index 000000000..d85b92fd2 --- /dev/null +++ b/offapi/com/sun/star/chart/Chart3DBarProperties.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_Chart3DBarProperties_idl__ +#define __com_sun_star_chart_Chart3DBarProperties_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + + + module com { module sun { module star { module chart { + + +/** Specifies all the properties for the graphic object of a data point in a + three-dimensional bar diagram.@see BarDiagram + */ +published service Chart3DBarProperties +{ + interface com::sun::star::beans::XPropertySet; + + + /** Specifies the solid shape of a data point.@see ChartSolidType + */ + [property] long SolidType; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartArea.idl b/offapi/com/sun/star/chart/ChartArea.idl new file mode 100644 index 000000000..d2484dc5b --- /dev/null +++ b/offapi/com/sun/star/chart/ChartArea.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartArea_idl__ +#define __com_sun_star_chart_ChartArea_idl__ + +#include <com/sun/star/drawing/FillProperties.idl> + +#include <com/sun/star/drawing/LineProperties.idl> + +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl> + + + module com { module sun { module star { module chart { + + +/** Specifies the area elements of a chart, e.g. the + background area, the diagram wall, and the diagram floor of + three-dimensional charts. + */ +published service ChartArea +{ + service com::sun::star::drawing::FillProperties; + service com::sun::star::drawing::LineProperties; + + /** If the ChartArea may be stored as XML element, + this service should be supported in order to preserve unparsed + XML attributes. + + @since OOo 1.1.2 + */ + [optional] service com::sun::star::xml::UserDefinedAttributesSupplier; + + interface com::sun::star::beans::XPropertySet; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartAxis.idl b/offapi/com/sun/star/chart/ChartAxis.idl new file mode 100644 index 000000000..5c5fb8bd3 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartAxis.idl @@ -0,0 +1,268 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartAxis_idl__ +#define __com_sun_star_chart_ChartAxis_idl__ + +#include <com/sun/star/drawing/LineProperties.idl> + +#include <com/sun/star/style/CharacterProperties.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + +#include <com/sun/star/chart/ChartAxisArrangeOrderType.idl> +#include <com/sun/star/chart/ChartAxisPosition.idl> +#include <com/sun/star/chart/ChartAxisLabelPosition.idl> +#include <com/sun/star/chart/ChartAxisMarkPosition.idl> +#include <com/sun/star/chart/ChartAxisType.idl> +#include <com/sun/star/chart/TimeIncrement.idl> +#include <com/sun/star/chart/XAxis.idl> +#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl> + + + module com { module sun { module star { module chart { + + +/** Specifies the axes in a diagram. + + <p>Note: The text properties correlate to all axis description + elements, not to just a single text element.</p> + */ +published service ChartAxis +{ + /** set the properties for the entire axis line as well as for the + tick marks. + */ + service com::sun::star::drawing::LineProperties; + + /** set the properties for all text labels of the axis + */ + service com::sun::star::style::CharacterProperties; + + /** If a ChartAxis may be stored as XML element, this + service should be supported in order to preserve unparsed XML + attributes. + + @since OOo 1.1.2 + */ + [optional] service com::sun::star::xml::UserDefinedAttributesSupplier; + + /** Access to the sub elements of an axis like title and grids. + @since OOo 3.4 + */ + [optional] interface com::sun::star::chart::XAxis; + + interface com::sun::star::beans::XPropertySet; + + /** Properties for scaling: + */ + + + /** Contains the maximum value for the axis scale. + */ + [optional, property] double Max; + + + /** Contains the minimum value for the axis scale. + */ + [optional, property] double Min; + + + /** Contains the distance between the main tick marks. + */ + [optional, property] double StepMain; + + + /** + Contains the number of help intervals within a main interval. E.g. a StepHelpCount of 5 divides + the main interval into 5 pieces and thus produces 4 help tick marks. + */ + [optional, property] long StepHelpCount; + + + /** @deprecated + User property StepHelpCount instead + Contains the distance between the help tick marks. + */ + [optional, property] double StepHelp; + + + /** The maximum value of the axis scale is calculated by the chart if + this property is `TRUE`. + */ + [optional, property] boolean AutoMax; + + + /** The minimum value of the axis scale is calculated by the chart if + this property is `TRUE`. + */ + [optional, property] boolean AutoMin; + + + /** The distance between the main tick marks is calculated by the chart + if this property is `TRUE`. + */ + [optional, property] boolean AutoStepMain; + + + /** The number of help intervals within a main interval is calculated by the + chart if this property is `TRUE`. + */ + [optional, property] boolean AutoStepHelp; + + + + /** Determines if the axis is scaled logarithmically or + not (linear). + */ + [optional, property] boolean Logarithmic; + + + /** determines which type of axis this is, e.g. a date-axis or a category-axis @see ChartAxisType + @since OOo 3.4 + */ + [optional, property] long AxisType; + + + /** if the current axis is a date-axis the intervals are chosen as given with TimeIncrement + @since OOo 3.4 + */ + [optional, maybevoid, property] TimeIncrement TimeIncrement; + + + /** Determines if the axis orientation is mathematical or reversed. + */ + [optional, property] boolean ReverseDirection; + + + /** Determines where the axis crosses the other axis. + */ + [optional, property] com::sun::star::chart::ChartAxisPosition CrossoverPosition; + + + /** Determines the scale value on the other axis when CrossoverPosition is set to VALUE. + */ + [optional, property] double CrossoverValue; + + + /** Indicates the reference value where bars or areas have their grounding. + This property has only an effect when the used ODF file format does not allow for + further axis positioning or the axis is a secondary y-axis. + */ + [optional, property] double Origin; + + + /** The origin is calculated by the chart if this property is `TRUE`. + */ + [optional, property] boolean AutoOrigin; + + /** Properties for interval marks: + */ + + + /** Determines the type of the marks.@see ChartAxisMarks + */ + [property] long Marks; + + + /** Determines the type of the help marks.@see ChartAxisMarks + */ + [property] long HelpMarks; + + /** Determines where the interval marks are placed. + */ + [optional, property] com::sun::star::chart::ChartAxisMarkPosition MarkPosition; + + /** Properties for axes labels: + */ + + + /** Determines whether to display text at the axis or not. + */ + [property] boolean DisplayLabels; + + + /** Contains the type id for the number formatter of the axis. + + @see com::sun::star::util::XNumberFormatter + */ + [property] long NumberFormat; + + + /** determines whether to use the number format given by the + container application, e.g. a spreadsheet document, or from + the own property #NumberFormat. + */ + [optional, property] boolean LinkNumberFormatToSource; + + + /** Determines where the axis labels are placed. + */ + [optional, property] com::sun::star::chart::ChartAxisLabelPosition LabelPosition; + + + /** Determines the rotation of the text elements + (axis description) in 100th degrees. + */ + [property] long TextRotation; + + + /** The axis description may be arranged in a special order for a + better placement. + */ + [property] com::sun::star::chart::ChartAxisArrangeOrderType ArrangeOrder; + + + /** Determines if long text is broken into multiple lines. + */ + [property] boolean TextBreak; + + + /** Determines if certain labels are hidden, if they would otherwise overlap. + In this case, the value of this property must be set to `FALSE`. + */ + [property] boolean TextCanOverlap; + + /** Properties related to bar charts: + */ + + + /** Determines the overlap of the bars in a bar-type chart. + + <p>The value is given in percent of the width of the bars. The + valid range is -100% to +100%. +100% means full overlap, -100% + indicates a distance of one bar between 2 neighboring bars.</p> + */ + [property] long Overlap; + + + /** Specifies the width of the gaps between each set of data points + in a bar chart. + + <p>The value is given in percent of the width of a bar; the + valid range is 0 to 600%.</p> + */ + [property] long GapWidth; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartAxisArrangeOrderType.idl b/offapi/com/sun/star/chart/ChartAxisArrangeOrderType.idl new file mode 100644 index 000000000..3a7a736f0 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartAxisArrangeOrderType.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartAxisArrangeOrderType_idl__ +#define __com_sun_star_chart_ChartAxisArrangeOrderType_idl__ + + + + module com { module sun { module star { module chart { + + +/** Values specify the arrangement of the axes descriptions. + */ +published enum ChartAxisArrangeOrderType +{ + + /** The descriptions are arranged automatically. + + <p>If there is enough space to put them side by side, this + arrangement is preferred. If the descriptions would overlap + when arranged side by side, they are staggered.</p> + */ + AUTO, + + + /** The descriptions are arranged side by side. + */ + SIDE_BY_SIDE, + + + /** The descriptions are alternately put on two lines with the even + values out of the normal line. + */ + STAGGER_EVEN, + + + /** The descriptions are alternately put on two lines with the odd + values out of the normal line. + */ + STAGGER_ODD +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartAxisAssign.idl b/offapi/com/sun/star/chart/ChartAxisAssign.idl new file mode 100644 index 000000000..be8a411b0 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartAxisAssign.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartAxisAssign_idl__ +#define __com_sun_star_chart_ChartAxisAssign_idl__ + + + + module com { module sun { module star { module chart { + + +/** These values specify to which y-axis a data row is assigned. + */ +published constants ChartAxisAssign +{ + + /** Assign row to primary <i>y</i>-axis + */ + const long PRIMARY_Y = 2; + + + /** Assign row to secondary <i>y</i>-axis + */ + const long SECONDARY_Y = 4; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartAxisLabelPosition.idl b/offapi/com/sun/star/chart/ChartAxisLabelPosition.idl new file mode 100644 index 000000000..3c31109fb --- /dev/null +++ b/offapi/com/sun/star/chart/ChartAxisLabelPosition.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartAxisLabelPosition_idl__ +#define __com_sun_star_chart_ChartAxisLabelPosition_idl__ + + + + module com { module sun { module star { module chart { + + +/** Specifies the position of the axis labels with respect to the axis on the scale of the crossing axis. +*/ + +published enum ChartAxisLabelPosition +{ + + /** The labels are placed adjacent to the axis. When the axis itself is placed at the minimum or maximum of the scale ( that is when the property CrossoverPosition equals ChartAxisPosition_MINIMUM or ChartAxisPosition_MAXIMUM) + the labels are placed outside the coordinate system. Otherwise the labels are placed adjacent to the axis on that side that belongs to the lower values on the crossing axis. + E.g. when the ChartAxisLabelPosition is set to NEAR_AXIS for an y axis the labels are placed adjacent to the y axis on that side that belongs to the lower x values. + */ + NEAR_AXIS, + + + /** The labels are placed adjacent to the axis on the opposite side as for NEAR_AXIS. + */ + NEAR_AXIS_OTHER_SIDE, + + + /** The labels are placed outside the coordinate region on that side where the crossing axis has its minimum value. + E.g. when this is set for an y axis the labels are placed outside the diagram on that side where to the x axis has its minimum value. + */ + OUTSIDE_START, + + + /** The labels are placed outside the coordinate region on that side where the crossing axis has its maximum value. + E.g. when this is set for an y axis the labels are placed outside the diagram on that side where to the x axis has its maximum value. + */ + OUTSIDE_END +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartAxisMarkPosition.idl b/offapi/com/sun/star/chart/ChartAxisMarkPosition.idl new file mode 100644 index 000000000..6b0a152bf --- /dev/null +++ b/offapi/com/sun/star/chart/ChartAxisMarkPosition.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartAxisMarkPosition_idl__ +#define __com_sun_star_chart_ChartAxisMarkPosition_idl__ + + + + module com { module sun { module star { module chart { + + +/** Specifies the position of the axis interval marks. +*/ + +published enum ChartAxisMarkPosition +{ + + /** The interval marks are drawn besides the axis labels. + */ + AT_LABELS, + + + /** The interval marks are drawn at the axis line. + This makes a difference to "AT_LABELS" only when the labels are not placed near the axis (@see ChartAxisLabelPosition). + */ + AT_AXIS, + + + /** Interval marks are drawn at the axis line and also besides the axis labels. + This makes a difference to "AT_LABELS" only when the labels are not placed near the axis (@see ChartAxisLabelPosition). + */ + AT_LABELS_AND_AXIS +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartAxisMarks.idl b/offapi/com/sun/star/chart/ChartAxisMarks.idl new file mode 100644 index 000000000..374ea446f --- /dev/null +++ b/offapi/com/sun/star/chart/ChartAxisMarks.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartAxisMarks_idl__ +#define __com_sun_star_chart_ChartAxisMarks_idl__ + + + + module com { module sun { module star { module chart { + + +/** With these constants you can specify how the tick-marks of an axis + are displayed. + + <p>You can combine <code>INNER</code> and <code>OUTER</code> with + an arithmetical <em>or</em>-operation to get tick-marks that + extend in both directions.</p> + */ +published constants ChartAxisMarks +{ + + /** Do not display any marks. + */ + const long NONE = 0; + + + /** Display marks that point into the diagram area. + */ + const long INNER = 1; + + + /** Display marks that point out of the diagram area. + */ + const long OUTER = 2; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartAxisPosition.idl b/offapi/com/sun/star/chart/ChartAxisPosition.idl new file mode 100644 index 000000000..b9cdab0e9 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartAxisPosition.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartAxisPosition_idl__ +#define __com_sun_star_chart_ChartAxisPosition_idl__ + + + + module com { module sun { module star { module chart { + + +/** Specifies the position of the axis on the scale of the crossing axis. +When the property is set at a x-axis it indicates a position on the scale of the primary y-axis. +When the property is set at a y-axis it indicates a position on the scale of the primary x-axis. +*/ + +published enum ChartAxisPosition +{ + + /** Cross the other axes at zero. If zero is not contained in the current scale the value is used which is nearest to zero. + */ + ZERO, + + + /** Cross the other axes at their minimum scale value. + */ + START, + + + /** Cross the other axes at their maximum scale value. + */ + END, + + + /** Cross the other axes at the value specified in the property CrossoverValue. + */ + VALUE +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartAxisType.idl b/offapi/com/sun/star/chart/ChartAxisType.idl new file mode 100644 index 000000000..3dd3fe72a --- /dev/null +++ b/offapi/com/sun/star/chart/ChartAxisType.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart_ChartAxisType_idl +#define com_sun_star_chart_ChartAxisType_idl + +module com +{ +module sun +{ +module star +{ +module chart +{ +/** @since OOo 3.4 +*/ +published constants ChartAxisType +{ + /** the type of the axis is chosen automatically dependent on the chart type, the dimension and the underlying data + */ + const long AUTOMATIC = 0; + + /** the axis represent discrete category texts if chart type and the dimension allows + */ + const long CATEGORY = 1; + + /** the axis shows dates if the given data and chart type and the dimension allows + */ + const long DATE = 2; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartAxisXSupplier.idl b/offapi/com/sun/star/chart/ChartAxisXSupplier.idl new file mode 100644 index 000000000..d63cf3594 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartAxisXSupplier.idl @@ -0,0 +1,74 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartAxisXSupplier_idl__ +#define __com_sun_star_chart_ChartAxisXSupplier_idl__ + +#include <com/sun/star/chart/XAxisXSupplier.idl> + + + + module com { module sun { module star { module chart { + + +/** has to be supported by charts providing the capabilities of a + horizontal axis, i.e., an <em>x</em>-axis. + */ +published service ChartAxisXSupplier +{ + /** offers access to the axis object, the title, and the grids + */ + interface com::sun::star::chart::XAxisXSupplier; + + + /** This property determines if the x-axis is shown or hidden.@see ChartAxis + */ + [property] boolean HasXAxis; + + + /** Determines if the description of the x-axis is + shown or hidden. + */ + [property] boolean HasXAxisDescription; + + + /** Determines if the major grid of the x-axis is + shown or hidden.@see ChartGrid + */ + [property] boolean HasXAxisGrid; + + + /** Determines if the minor grid of the x-axis is shown + or hidden.@see ChartGrid + */ + [property] boolean HasXAxisHelpGrid; + + + /** Determines if the title of the x-axis is shown + or hidden.@see ChartTitle + */ + [property] boolean HasXAxisTitle; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartAxisYSupplier.idl b/offapi/com/sun/star/chart/ChartAxisYSupplier.idl new file mode 100644 index 000000000..a9c5b86f0 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartAxisYSupplier.idl @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartAxisYSupplier_idl__ +#define __com_sun_star_chart_ChartAxisYSupplier_idl__ + +#include <com/sun/star/chart/XAxisYSupplier.idl> + + + + module com { module sun { module star { module chart { + + +/** A helper service for the y-axis. + */ +published service ChartAxisYSupplier +{ + /** offers access to the axis object, the title, and the grids + */ + interface com::sun::star::chart::XAxisYSupplier; + + + /** Determines if the y-axis is shown or hidden.@see ChartAxis + */ + [property] boolean HasYAxis; + + + /** Determines if the description of the y-axis + is shown or hidden. + */ + [property] boolean HasYAxisDescription; + + + /** Determines if the major grid of the y-axis is + shown or hidden.@see ChartGrid + */ + [property] boolean HasYAxisGrid; + + + /** Determines if the minor grid of the y-axis is + shown or hidden.@see ChartGrid + */ + [property] boolean HasYAxisHelpGrid; + + + /** Determines if the title of the y-axis is shown + or hidden.@see ChartTitle + */ + [property] boolean HasYAxisTitle; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartAxisZSupplier.idl b/offapi/com/sun/star/chart/ChartAxisZSupplier.idl new file mode 100644 index 000000000..aa36034eb --- /dev/null +++ b/offapi/com/sun/star/chart/ChartAxisZSupplier.idl @@ -0,0 +1,72 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartAxisZSupplier_idl__ +#define __com_sun_star_chart_ChartAxisZSupplier_idl__ + +#include <com/sun/star/chart/XAxisZSupplier.idl> + + + + module com { module sun { module star { module chart { + + +/** A helper service for chart documents which supply a z-axis. + */ +published service ChartAxisZSupplier +{ + /** offers access to the axis object, the title, and the grids + */ + interface com::sun::star::chart::XAxisZSupplier; + + + /** Determines if the z-axis is shown or hidden.@see ChartAxis + */ + [property] boolean HasZAxis; + + + /** Determines if the description of the z-axis + is shown or hidden. + */ + [property] boolean HasZAxisDescription; + + + /** Determines if the major grid of the z-axis + is shown or hidden.@see ChartGrid + */ + [property] boolean HasZAxisGrid; + + + /** Determines if the minor grid of the z-axis is shown + or hidden.@see ChartGrid + */ + [property] boolean HasZAxisHelpGrid; + + + /** Determines if the title of the z-axis is shown + or hidden.@see ChartTitle + */ + [property] boolean HasZAxisTitle; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartData.idl b/offapi/com/sun/star/chart/ChartData.idl new file mode 100644 index 000000000..a43344ae4 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartData.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartData_idl__ +#define __com_sun_star_chart_ChartData_idl__ + +#include <com/sun/star/chart/XChartData.idl> + + + + module com { module sun { module star { module chart { + + +/** must be supported by every component that wants to provide data + for a chart + */ +published service ChartData +{ + interface com::sun::star::chart::XChartData; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartDataArray.idl b/offapi/com/sun/star/chart/ChartDataArray.idl new file mode 100644 index 000000000..9b6539220 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartDataArray.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartDataArray_idl__ +#define __com_sun_star_chart_ChartDataArray_idl__ + +#include <com/sun/star/chart/ChartData.idl> + +#include <com/sun/star/chart/XChartDataArray.idl> + +#include <com/sun/star/chart/XChartData.idl> + + + + module com { module sun { module star { module chart { + + +/** must be supported by each data source for charts, where you want + to access the values directly. + + <p>It contains the data values as well as the descriptions for + each row and column.</p> + */ +published service ChartDataArray +{ + service com::sun::star::chart::ChartData; + interface com::sun::star::chart::XChartDataArray; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartDataCaption.idl b/offapi/com/sun/star/chart/ChartDataCaption.idl new file mode 100644 index 000000000..e61251549 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartDataCaption.idl @@ -0,0 +1,92 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartDataCaption_idl__ +#define __com_sun_star_chart_ChartDataCaption_idl__ + + + + module com { module sun { module star { module chart { + + +/** These values specify how the captions of data points are displayed. + */ +published constants ChartDataCaption +{ + + /** No captions are displayed. + */ + const long NONE = 0; + + + /** The caption contains the value of the data point in the number + format of the axis that is attached to the respective data + series. + */ + const long VALUE = 1; + + + /** The caption contains the value of the data point in percent of + all data points of one category. + + <p>That means, if a data point is the first one of a series, + the percentage is calculated by using the first data points of + all available series.</p> + */ + const long PERCENT = 2; + + + /** The caption contains the category name of the category to + which a data point belongs. + */ + const long TEXT = 4; + + + /** The number formatter is always used for displaying the value + as value. So this setting is deprecated. + + @deprecated + */ + const long FORMAT = 8; + + + /** The symbol of data column/row is additionally displayed in the caption. + */ + const long SYMBOL = 16; + + + /** The caption contains a custom text, which belongs + to a data point label. + + @since LibreOffice 7.1 + */ + const long CUSTOM = 32; + + /** The name of the data series is additionally displayed in the caption. + + @since LibreOffice 7.2 + */ + const long DATA_SERIES = 64; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartDataChangeEvent.idl b/offapi/com/sun/star/chart/ChartDataChangeEvent.idl new file mode 100644 index 000000000..63b928b97 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartDataChangeEvent.idl @@ -0,0 +1,67 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartDataChangeEvent_idl__ +#define __com_sun_star_chart_ChartDataChangeEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + +#include <com/sun/star/chart/ChartDataChangeType.idl> + + + + module com { module sun { module star { module chart { + + +/** describes a change that was applied to the data. + */ +published struct ChartDataChangeEvent: com::sun::star::lang::EventObject +{ + + /** specifies the type of change to the data. + */ + com::sun::star::chart::ChartDataChangeType Type; + + + /** specifies the column number in which the changes begin. + */ + short StartColumn; + + + /** specifies the column number in which the changes end. + */ + short EndColumn; + + + /** specifies the row number in which the changes begin. + */ + short StartRow; + + + /** specifies the row number in which the changes end. + */ + short EndRow; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartDataChangeType.idl b/offapi/com/sun/star/chart/ChartDataChangeType.idl new file mode 100644 index 000000000..e4c7bb6c7 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartDataChangeType.idl @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartDataChangeType_idl__ +#define __com_sun_star_chart_ChartDataChangeType_idl__ + + + + module com { module sun { module star { module chart { + + +/** specifies the type of change that was applied to the data. + */ +published enum ChartDataChangeType +{ + + /** Major changes were applied to the data. + */ + ALL, + + + /** The range of columns and rows, given in the + ChartDataChangeEvent, has changed. + */ + DATA_RANGE, + + + /** The column given in the ChartDataChangeEvent, was + inserted. + */ + COLUMN_INSERTED, + + + /** The row given in the ChartDataChangeEvent, was + inserted. + */ + ROW_INSERTED, + + + /** The column given in the ChartDataChangeEvent, was + deleted. + */ + COLUMN_DELETED, + + + /** The row given in the ChartDataChangeEvent, was + deleted. + */ + ROW_DELETED + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartDataPoint.idl b/offapi/com/sun/star/chart/ChartDataPoint.idl new file mode 100644 index 000000000..5ba0ca277 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartDataPoint.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartDataPoint_idl__ +#define __com_sun_star_chart_ChartDataPoint_idl__ + +#include <com/sun/star/chart/ChartDataValue.idl> + + +module com { module sun { module star { module chart { + +/** @deprecated +*/ +published typedef sequence<ChartDataValue> ChartDataPoint; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartDataPointProperties.idl b/offapi/com/sun/star/chart/ChartDataPointProperties.idl new file mode 100644 index 000000000..f80574ff1 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartDataPointProperties.idl @@ -0,0 +1,161 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartDataPointProperties_idl__ +#define __com_sun_star_chart_ChartDataPointProperties_idl__ + +#include <com/sun/star/drawing/FillProperties.idl> + +#include <com/sun/star/drawing/LineProperties.idl> + +#include <com/sun/star/style/CharacterProperties.idl> + +#include <com/sun/star/chart/Chart3DBarProperties.idl> + +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl> + + + module com { module sun { module star { module chart { + + +/** specifies all the properties for the graphic object of + a data point (e.g., a single bar in a bar chart). + + <p>Text properties correlate to the data description of the data + point. There is a similar service for a group of graphic elements + called ChartDataRowProperties for the properties of + whole data rows.</p> + + @see ChartDataRowProperties + */ +published service ChartDataPointProperties +{ + /** This service has to be supported for data points that can be + filled. + */ + [optional] service com::sun::star::drawing::FillProperties; + + service com::sun::star::drawing::LineProperties; + + /** These properties affect the characters of data captions if + those are displayed. + */ + service com::sun::star::style::CharacterProperties; + + /** If ChartDataPointProperties may be stored as XML + element, this service should be supported in order to preserve + unparsed XML attributes. + + @since OOo 1.1.2 + */ + [optional] service com::sun::star::xml::UserDefinedAttributesSupplier; + + + /** is only available if the chart is of type + BarDiagram and Dim3DDiagram and the + property ChartDataPointProperties::Dim3D is + set to `TRUE`. + + @see BarDiagram + @see Dim3DDiagram@see BarDiagram + @see Dim3DDiagram + */ + [optional] service com::sun::star::chart::Chart3DBarProperties; + + interface com::sun::star::beans::XPropertySet; + + + /** specifies how the captions of data points are displayed.@see ChartDataCaption + */ + [property] long DataCaption; + + + + /** specifies a string that is used to separate the parts of a data label (caption) + */ + [optional, property] string LabelSeparator; + + + /** specifies a number format for the display of the value in the data label + */ + [optional, property] long NumberFormat; + + + /** specifies a number format for the display of the percentage value in the data label + */ + [optional, property] long PercentageNumberFormat; + + + /** specifies a relative position for the data label + + @see DataLabelPlacement + */ + [optional, property] long LabelPlacement; + + + /** specifies the type of symbols if the current chart type + supports the usage of symbols. + + @see ChartSymbolType + */ + [optional, property] long SymbolType; + + + /** In charts that support symbols, you can set this property to + any valid URL that points to a graphic file. This graphic is + then used as symbol for each data point. + + <p>When you query this value you get an internal URL of the + embedded graphic.</p> + + @deprecated as of Libreoffice 6.1 + + @see ChartSymbolType + */ + [optional, property] string SymbolBitmapURL; + + /** the offset by which pie segments in a PieDiagram + are dragged outside from the center. This value is given in + percent of the radius. + */ + [optional, property] long SegmentOffset; + + /** specifies if the text of a data label (caption) must be wrapped + + @since LibreOffice 5.1 + */ + [optional, property] boolean TextWordWrap; + + /** In charts that support symbols, you can set this property to + a graphic object. This graphic is then used as symbol for each + data point. + + @since LibreOffice 6.1 + + @see ChartSymbolType + */ + [optional, property] com::sun::star::graphic::XGraphic SymbolBitmap; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartDataRow.idl b/offapi/com/sun/star/chart/ChartDataRow.idl new file mode 100644 index 000000000..9e9031d8e --- /dev/null +++ b/offapi/com/sun/star/chart/ChartDataRow.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartDataRow_idl__ +#define __com_sun_star_chart_ChartDataRow_idl__ + +#include <com/sun/star/chart/ChartDataValue.idl> + + + module com { module sun { module star { module chart { + + +/** describes a single data row, specified by its name and + a sequence of data points. + + <p>This struct is currently used nowhere.</p> + + @deprecated + */ +published struct ChartDataRow +{ + /** The name of the data row. + */ + string Name; + + /** The points contained in this data row. + */ + sequence< sequence<ChartDataValue> > Points; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartDataRowProperties.idl b/offapi/com/sun/star/chart/ChartDataRowProperties.idl new file mode 100644 index 000000000..332094d6b --- /dev/null +++ b/offapi/com/sun/star/chart/ChartDataRowProperties.idl @@ -0,0 +1,106 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartDataRowProperties_idl__ +#define __com_sun_star_chart_ChartDataRowProperties_idl__ + +#include <com/sun/star/chart/ChartDataPointProperties.idl> + +#include <com/sun/star/chart/ChartStatistics.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + +#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl> + + + module com { module sun { module star { module chart { + + +/** specifies the properties for a group of graphic elements which + belong to a data row (also known as data series). + + <p>For this service, the properties supported by + ChartDataPointProperties are applied to all data + point elements contained in this group. They serve as a template; + thus, when changing a data point property afterwards</p> + + @see ChartDataPointProperties + */ +published service ChartDataRowProperties +{ + service com::sun::star::chart::ChartDataPointProperties; + /** Statistical properties are not available for all types of + diagrams. + */ + [optional] service com::sun::star::chart::ChartStatistics; + + /** If ChartDataRowProperties may be stored as XML + file, this service should be supported in order to preserve + unparsed XML attributes. + + @since OOo 1.1.2 + */ + [optional] service com::sun::star::xml::UserDefinedAttributesSupplier; + + interface com::sun::star::beans::XPropertySet; + + + /** determines to which axis the data row is assigned. + + <p>The axis must be a primary or secondary y-axis</p> + + @see ChartAxisAssign + @see ChartAxisYSupplier + @see ChartTwoAxisYSupplier + */ + [property] long Axis; + + + /** holds the properties of the regression line, if such one is + enabled. + + @see ChartLine + @see ChartStatistics + */ + [optional, readonly, property] com::sun::star::beans::XPropertySet DataRegressionProperties; + + + /** holds the properties of the error markers, if those are + enabled. + + @see ChartLine + @see ChartStatistics + */ + [optional, readonly, property] com::sun::star::beans::XPropertySet DataErrorProperties; + + + /** holds the properties of the average line, if such one is + enabled. + + @see ChartLine + @see ChartStatistics + */ + [optional, readonly, property] com::sun::star::beans::XPropertySet DataMeanValueProperties; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartDataRowSource.idl b/offapi/com/sun/star/chart/ChartDataRowSource.idl new file mode 100644 index 000000000..db58691b2 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartDataRowSource.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartDataRowSource_idl__ +#define __com_sun_star_chart_ChartDataRowSource_idl__ + + + + module com { module sun { module star { module chart { + + +/** specifies if the data rows (aka data series) displayed in the + chart, take their values from the row or the column in the underlying + data source (ChartDataArray). + */ +published enum ChartDataRowSource +{ + + /** values displayed as data rows are taken from the rows of the data source. + */ + ROWS, + + + /** values displayed as data rows are taken from the columns of the data source. + */ + COLUMNS + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartDataValue.idl b/offapi/com/sun/star/chart/ChartDataValue.idl new file mode 100644 index 000000000..023b0e7a6 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartDataValue.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartDataValue_idl__ +#define __com_sun_star_chart_ChartDataValue_idl__ + + + + module com { module sun { module star { module chart { + + +/** describes a single data value, including the error + + <p>This struct is currently used nowhere.</p> + + @deprecated + */ +published struct ChartDataValue +{ + /** value by itself. + */ + double Value; + + + /** highest possible error value. + */ + double HighError; + + + /** lowest possible error value. + */ + double LowError; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartDocument.idl b/offapi/com/sun/star/chart/ChartDocument.idl new file mode 100644 index 000000000..0fe548cb1 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartDocument.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartDocument_idl__ +#define __com_sun_star_chart_ChartDocument_idl__ + +#include <com/sun/star/chart/XChartDocument.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl> +#include <com/sun/star/drawing/XDrawPageSupplier.idl> + + + module com { module sun { module star { module chart { + + +/** is the service for a chart document. + + <p>A chart document consists of a reference to the data source, + the diagram and some additional elements like a main title, a + sub-title or a legend. + + </p>@see Diagram + @see ChartLegend + @see ChartTitle + @see ChartDataArray + */ +published service ChartDocument +{ + /** If a ChartDocument may be stored as XML file, + this service should be supported in order to preserve unparsed + XML attributes. + + @since OOo 1.1.2 + */ + [optional] service ::com::sun::star::xml::UserDefinedAttributesSupplier; + + interface ::com::sun::star::chart::XChartDocument; + interface ::com::sun::star::beans::XPropertySet; + + [optional] interface ::com::sun::star::drawing::XDrawPageSupplier; + + + /** determines if the main title is shown or hidden. + */ + [property] boolean HasMainTitle; + + + /** determines if the subtitle is shown or hidden. + */ + [property] boolean HasSubTitle; + + + /** determines if the legend is shown or hidden. + */ + [property] boolean HasLegend; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartErrorCategory.idl b/offapi/com/sun/star/chart/ChartErrorCategory.idl new file mode 100644 index 000000000..1a6420f6e --- /dev/null +++ b/offapi/com/sun/star/chart/ChartErrorCategory.idl @@ -0,0 +1,86 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartErrorCategory_idl__ +#define __com_sun_star_chart_ChartErrorCategory_idl__ + + + + module com { module sun { module star { module chart { + + +/** specifies the category of error indicators. + */ +published enum ChartErrorCategory +{ + + /** error indicators are not displayed. + */ + NONE, + + + /** displays error indicators for the variance of the data row. + */ + VARIANCE, + + + /** displays error indicators for the standard deviation (square + root of variance) of the data row. + */ + STANDARD_DEVIATION, + + + /** The length of the error indicators is calculated for each data + point by taking the percentage given as + ChartStatistics::PercentageError of its + value. + + @see ChartStatistics + */ + PERCENT, + + + /** The length of the error indicators for all data points is + calculated by taking the percentage given as + ChartStatistics::ErrorMargin of the largest + data point value. + + @see ChartStatistics + */ + ERROR_MARGIN, + + + /** displays the same lower and upper error indicators for all + data points. + + <p>The values for these are given as absolute numbers in + ChartStatistics::ConstantErrorLow and + ChartStatistics::ConstantErrorHigh</p> + + @see ChartStatistics + */ + CONSTANT_VALUE + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartErrorIndicatorType.idl b/offapi/com/sun/star/chart/ChartErrorIndicatorType.idl new file mode 100644 index 000000000..12503180a --- /dev/null +++ b/offapi/com/sun/star/chart/ChartErrorIndicatorType.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartErrorIndicatorType_idl__ +#define __com_sun_star_chart_ChartErrorIndicatorType_idl__ + + + + module com { module sun { module star { module chart { + + +/** specifies how the error is indicated. + */ +published enum ChartErrorIndicatorType +{ + + /** displays no error indicators. + */ + NONE, + + + /** displays both the upper and lower values. + */ + TOP_AND_BOTTOM, + + + /** displays only the upper value. + */ + UPPER, + + + /** displays only the lower value. + */ + LOWER +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartGrid.idl b/offapi/com/sun/star/chart/ChartGrid.idl new file mode 100644 index 000000000..238c85f23 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartGrid.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartGrid_idl__ +#define __com_sun_star_chart_ChartGrid_idl__ + +#include <com/sun/star/drawing/LineProperties.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + +#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl> + + + module com { module sun { module star { module chart { + + +/** specifies the grid of the diagram in a chart. + + + + <p>The distance between the grid lines depends on the distance of the help + or main tick marks, which may be set in ChartAxis.</p>@see ChartAxis + */ +published service ChartGrid +{ + service com::sun::star::drawing::LineProperties; + + /** If a ChartGrid may be stored as XML element, this + service should be supported in order to preserve unparsed XML + attributes. + + @since OOo 1.1.2 + */ + [optional] service com::sun::star::xml::UserDefinedAttributesSupplier; + + interface com::sun::star::beans::XPropertySet; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartLegend.idl b/offapi/com/sun/star/chart/ChartLegend.idl new file mode 100644 index 000000000..b6da8e687 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartLegend.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartLegend_idl__ +#define __com_sun_star_chart_ChartLegend_idl__ + +#include <com/sun/star/drawing/Shape.idl> + +#include <com/sun/star/style/CharacterProperties.idl> + +#include <com/sun/star/chart/ChartLegendPosition.idl> +#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl> + + + + module com { module sun { module star { module chart { + + +/** specifies the legend of a chart. + + + + <p>The text/font properties which are specified in the service + com::sun::star::drawing::Shape correlate to all text + objects inside the legend.</p> + */ +published service ChartLegend +{ + service com::sun::star::drawing::Shape; + + + /** If this property is `TRUE` the position is calculated by the application automatically. + Setting this property to false will have no effect. Instead use the interface com::sun::star::drawing::XShape + to set a concrete position. + */ + [optional, property] boolean AutomaticPosition; + + + service com::sun::star::style::CharacterProperties; + + + /** If a ChartLegend may be stored as XML file, + this service should be supported in order to preserve unparsed + XML attributes. + + @since OOo 1.1.2 + */ + [optional] service com::sun::star::xml::UserDefinedAttributesSupplier; + + + /** determines the alignment of the legend relative + to the diagram. + */ + [property] com::sun::star::chart::ChartLegendPosition Alignment; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartLegendExpansion.idl b/offapi/com/sun/star/chart/ChartLegendExpansion.idl new file mode 100644 index 000000000..789da37c7 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartLegendExpansion.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart_ChartLegendExpansion_idl +#define com_sun_star_chart_ChartLegendExpansion_idl + +module com +{ +module sun +{ +module star +{ +module chart +{ + +/** Specifies sizing aspects of the legend + */ +enum ChartLegendExpansion +{ + /** The legend entries are arranged in a single row if possible. If not enough space is available further rows are added. + + <p>This is usually used for legends that are displayed at the + top or bottom of the page.</p> + */ + WIDE, + + /** The legend entries are stacked in a single column if possible. If not enough space is available further columns are added. + + <p>This is usually used for legends that are displayed on the + left or right hand side of the page.</p> + */ + HIGH, + + /** The legend entries are arranged in a way that the aspect ratio of the resulting legend is as near to 1 as possible. + */ + BALANCED, + + /** The size of the legend is given explicitly + */ + CUSTOM +}; + +} ; // chart +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartLegendPosition.idl b/offapi/com/sun/star/chart/ChartLegendPosition.idl new file mode 100644 index 000000000..19f53a780 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartLegendPosition.idl @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartLegendPosition_idl__ +#define __com_sun_star_chart_ChartLegendPosition_idl__ + + + + module com { module sun { module star { module chart { + + +/** specifies one of the default positions of the legend in relation + to the diagram. + */ +published enum ChartLegendPosition +{ + + /** no chart legend is displayed. + + <p>To disable the legend you should set the property + ChartDocument::HasLegend to `FALSE` instead + of setting this value.</p> + */ + NONE, + + + /** displays the chart legend on the left side of the diagram. + + <p>The second entry in the legend is placed below the first + one.</p> + */ + LEFT, + + + /** displays the chart legend above the diagram. + + <p>The second entry in the legend is placed on the right hand + side of the first one.</p> + */ + TOP, + + + /** displays the chart legend on the right side of the diagram. + + <p>The second entry in the legend is placed below the first + one.</p> + */ + RIGHT, + + + /** displays the chart legend beneath the diagram. + + <p>The second entry in the legend is placed on the right hand + side of the first one.</p> + */ + BOTTOM +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartLine.idl b/offapi/com/sun/star/chart/ChartLine.idl new file mode 100644 index 000000000..c7e16a738 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartLine.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartLine_idl__ +#define __com_sun_star_chart_ChartLine_idl__ + +#include <com/sun/star/drawing/LineProperties.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + + + + module com { module sun { module star { module chart { + + +/** specifies line elements in a chart (regression lines, etc.). + */ +published service ChartLine +{ + service com::sun::star::drawing::LineProperties; + interface com::sun::star::beans::XPropertySet; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartPieSegmentProperties.idl b/offapi/com/sun/star/chart/ChartPieSegmentProperties.idl new file mode 100644 index 000000000..c20c65271 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartPieSegmentProperties.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartPieSegmentProperties_idl__ +#define __com_sun_star_chart_ChartPieSegmentProperties_idl__ + +#include <com/sun/star/chart/ChartDataPointProperties.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + + + + module com { module sun { module star { module chart { + + +/** specifies all the properties for the graphic object of a + pie segment.@see PieDiagram + */ +published service ChartPieSegmentProperties +{ + service com::sun::star::chart::ChartDataPointProperties; + interface com::sun::star::beans::XPropertySet; + + + /** reflects the offset of a pie segment in percent of the radius. + + + + <p>The default value for all the segments of a PieDiagram + is 0. If you change this value from 0 to 100 the segment is pulled out + from the center by its radius. + + </p> + <p>Currently this property is supported by two dimensional pie + diagrams only.</p> + */ + [property] long SegmentOffset; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartRegressionCurveType.idl b/offapi/com/sun/star/chart/ChartRegressionCurveType.idl new file mode 100644 index 000000000..61aaf6580 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartRegressionCurveType.idl @@ -0,0 +1,84 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartRegressionCurveType_idl__ +#define __com_sun_star_chart_ChartRegressionCurveType_idl__ + + + + module com { module sun { module star { module chart { + + +/** specifies the type of the regression curve to be displayed. + */ +published enum ChartRegressionCurveType +{ + + /** displays no regression curve. + */ + NONE, + + + /** displays a linear regression curve. + + <p>The values of the series are approximated using the model + <i>y</i> = <i>A</i>⋅<i>x</i> + <i>B</i>.</p> + */ + LINEAR, + + + /** displays a linear logarithmic regression curve. + + <p>The values of the series are approximated using the model + <i>y</i> = <i>A</i>⋅log(<i>x</i>) + <i>B</i>.</p> + */ + LOGARITHM, + + + /** displays an exponential regression curve. + + <p>The values of the series are approximated using the model + <i>y</i> = <i>A</i>⋅e<sup><i>B</i>⋅<i>x</i></sup>.</p> + + */ + EXPONENTIAL, + + + /** displays a polynomial regression curve. + */ + POLYNOMIAL, + + /** displays a regression curve using a power function. + + <p>The values of the series are approximated using the model + <i>y</i> = <i>A⋅<i>x</i><sup>B</sup></i>.</p> + */ + POWER + + /** displays a moving average regression curve. + */ + //MOVING_AVERAGE + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartSeriesAddress.idl b/offapi/com/sun/star/chart/ChartSeriesAddress.idl new file mode 100644 index 000000000..665f10f59 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartSeriesAddress.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartSeriesAddress_idl__ +#define __com_sun_star_chart_ChartSeriesAddress_idl__ + + + module com { module sun { module star { module chart { + + +/** This structure describes a single data row, specified by its name + and a sequence of data points. + + <p>The cell addresses are in the format of the application that + contains this chart.</p> + */ +published struct ChartSeriesAddress +{ + /** contains the cell range address of the data for this series. + */ + string DataRangeAddress; + + + /** contains the cell address of label (i.e. name) of this series. + */ + string LabelAddress; + + + /** contains cell addresses for each domain of this series. + + <p>For XY (scatter) diagrams at least one series has a + domain. Most of the other chart types use an empty sequence + here.</p> + */ + sequence< string > DomainRangeAddresses; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartSolidType.idl b/offapi/com/sun/star/chart/ChartSolidType.idl new file mode 100644 index 000000000..c174e20b9 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartSolidType.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartSolidType_idl__ +#define __com_sun_star_chart_ChartSolidType_idl__ + + + + module com { module sun { module star { module chart { + + +/** These values specify the type of solid shapes for data points of + 3D bar charts. + */ +published constants ChartSolidType +{ + + /** extruded rectangle, i.e., a cuboid + */ + const long RECTANGULAR_SOLID = 0; + + + /** cylinder with a circle as base + */ + const long CYLINDER = 1; + + + /** cone with a circle as base + */ + const long CONE = 2; + + + /** pyramidal with a square as base + */ + const long PYRAMID = 3; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartStatistics.idl b/offapi/com/sun/star/chart/ChartStatistics.idl new file mode 100644 index 000000000..73c856f70 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartStatistics.idl @@ -0,0 +1,154 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartStatistics_idl__ +#define __com_sun_star_chart_ChartStatistics_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/chart/ChartErrorCategory.idl> +#include <com/sun/star/chart/ChartErrorIndicatorType.idl> +#include <com/sun/star/chart/ChartRegressionCurveType.idl> +#include <com/sun/star/chart/ErrorBarStyle.idl> + + + module com { module sun { module star { module chart { + + +/** offers statistical properties for the data in the chart. It is + available for a single data row and for the whole diagram. + */ +published service ChartStatistics +{ + interface com::sun::star::beans::XPropertySet; + + + /** specifies the lower limit of the error range of a + data row. + + <p>this setting is effective if the + ChartStatistics::ErrorCategory is set to + ChartErrorCategory::CONSTANT_VALUE.</p> + + @see ConstantErrorHigh + @see ErrorCategory + */ + [property] double ConstantErrorLow; + + + /** specifies the upper limit of the error range of a + data row. + + <p>this setting is effective if the + ChartStatistics::ErrorCategory is set to + ChartErrorCategory::CONSTANT_VALUE.</p> + + @see ConstantErrorLow + @see ErrorCategory + */ + [property] double ConstantErrorHigh; + + + /** determines if the mean value for a data row is + displayed as a line. + */ + [property] boolean MeanValue; + + + /** determines the type of error to indicate. + + @deprecated + + @see ChartErrorCategory + @see PercentageError + @see ErrorMargin + @see ConstantErrorLow + @see ConstantErrorHigh + @see ErrorIndicator + */ + [property] com::sun::star::chart::ChartErrorCategory ErrorCategory; + + /** determines the style of the error bars. Use this instead of + ErrorCategory + + @see ErrorBarStyle + */ + [optional, property] long ErrorBarStyle; + + + /** specifies the percentage that is used to display error bars. + + <p>The length of the error indicators is calculated for each + data point by taking the given percentage of its value.</p> + + <p>this setting is effective if the + ChartStatistics::ErrorCategory is set to + ChartErrorCategory::PERCENT.</p> + + @see ErrorCategory + */ + [property] double PercentageError; + + + /** specifies the percentage for the margin of errors. + + <p>The length of the error indicators is calculated by taking + the percentage given of the largest data point value.</p> + + <p>this setting is effective if the + ChartStatistics::ErrorCategory is set to + ChartErrorCategory::ERROR_MARGIN.</p> + + @see ErrorCategory + */ + [property] double ErrorMargin; + + + /** determines how the error is indicated. + + <p>You can enable indicators pointing up, down or both.</p> + + @see ErrorCategory + */ + [property] com::sun::star::chart::ChartErrorIndicatorType ErrorIndicator; + + + /** determines a type of regression for the data row values. + + @see ChartRegressionCurveType + */ + [property] com::sun::star::chart::ChartRegressionCurveType RegressionCurves; + + /** contains a cell range string for positive error bars. This + property is used when the ErrorBarCategory is set + to ErrorBarCategory::FROM_DATA. + */ + [optional, property] string ErrorBarRangePositive; + + /** contains a cell range string for negative error bars. This + property is used when the ErrorBarCategory is set + to ErrorBarCategory::FROM_DATA. + */ + [optional, property] string ErrorBarRangeNegative; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartSymbolType.idl b/offapi/com/sun/star/chart/ChartSymbolType.idl new file mode 100644 index 000000000..233562803 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartSymbolType.idl @@ -0,0 +1,119 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartSymbolType_idl__ +#define __com_sun_star_chart_ChartSymbolType_idl__ + + + + module com { module sun { module star { module chart { + + +/** These values specify the type of the symbol used for data points. + + <p>This only applies to diagrams that use symbols like line + diagrams.</p> + + <p>The default symbols are currently: + <table border > + <tr><td>Symbol 0</td><td>a square</td></tr> + <tr><td>Symbol 1</td><td>a diamond</td></tr> + <tr><td>Symbol 2</td><td>a triangle pointing down</td></tr> + <tr><td>Symbol 3</td><td>a triangle pointing up</td></tr> + <tr><td>Symbol 4</td><td>a triangle pointing right</td></tr> + <tr><td>Symbol 5</td><td>a triangle pointing left</td></tr> + <tr><td>Symbol 6</td><td>a bow tie</td></tr> + <tr><td>Symbol 7</td><td>a rotated bow tie</td></tr> + </table> + </p> + + @see LineDiagram + @see ChartDataPointProperties +*/ +published constants ChartSymbolType +{ + + /** No symbol is used. + */ + const long NONE = -3; + + + /** The symbol is selected automatically. The size of symbol will + be dynamic and the type depends on the data row number. + */ + const long AUTO = -2; + + + /** Take a Bitmap from a URL and use this as symbol. + + <p>The bitmap given by the URL set in the property + ChartDataPointProperties::SymbolBitmapURL is + copied so that the graphic is embedded.</p> + + @see ChartDataPointProperties + */ + const long BITMAPURL = -1; + + + /** The default symbol for row 0 is used. + */ + const long SYMBOL0 = 0; + + + /** The default symbol for row 1 is used. + */ + const long SYMBOL1 = 1; + + + /** The default symbol for row 2 is used. + */ + const long SYMBOL2 = 2; + + + /** The default symbol for row 3 is used. + */ + const long SYMBOL3 = 3; + + + /** The default symbol for row 4 is used. + */ + const long SYMBOL4 = 4; + + + /** The default symbol for row 5 is used. + */ + const long SYMBOL5 = 5; + + + /** The default symbol for row 6 is used. + */ + const long SYMBOL6 = 6; + + + /** The default symbol for row 7 is used. + */ + const long SYMBOL7 = 7; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartTableAddressSupplier.idl b/offapi/com/sun/star/chart/ChartTableAddressSupplier.idl new file mode 100644 index 000000000..990d381ea --- /dev/null +++ b/offapi/com/sun/star/chart/ChartTableAddressSupplier.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartTableAddressSupplier_idl__ +#define __com_sun_star_chart_ChartTableAddressSupplier_idl__ + +#include <com/sun/star/chart/ChartSeriesAddress.idl> + + +module com { module sun { module star { module chart { + +/** This is a helper service for access to table Address to + cell ranges of the container document of a chart. + + The cell addresses are in the format of the application that + contains this chart. +*/ +published service ChartTableAddressSupplier +{ + /** contains the address to the cells containing + the names of the categories. + + Note: Each value of a data series belongs exactly to one category. + */ + [property] string CategoriesRangeAddress; + + /** contains the addresses to the elements of a series. + This sequence should contain one element for each series in the chart. + + @see ChartSeriesAddress + */ + [property] sequence< com::sun::star::chart::ChartSeriesAddress > SeriesAddresses; + + /** contains the address to the main title. + */ + [optional, property] string MainTitleAddress; + + /** contains the address to the sub title. + + <!-- Dennis: Does "Address" have a capital "A" or lowercase? --> + <!-- JRH: changed to lowercase, consistent with the others -->*/ + [optional, property] string SubTitleAddress; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartTitle.idl b/offapi/com/sun/star/chart/ChartTitle.idl new file mode 100644 index 000000000..b806b32c7 --- /dev/null +++ b/offapi/com/sun/star/chart/ChartTitle.idl @@ -0,0 +1,80 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartTitle_idl__ +#define __com_sun_star_chart_ChartTitle_idl__ + +#include <com/sun/star/drawing/Shape.idl> +#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl> + + + module com { module sun { module star { module chart { + + +/** specifies titles in a chart. + + <p>In a chart there may be the following titles: the main title, + the sub title, and axis titles of the x- and y-axis.</p> + */ +published service ChartTitle +{ + service com::sun::star::drawing::Shape; + + + /** If this property is `TRUE` the position is calculated by the application automatically. + Setting this property to false will have no effect. Instead use the interface com::sun::star::drawing::XShape + to set a concrete position. + */ + [optional, property] boolean AutomaticPosition; + + + /** If a ChartTitle may be stored as XML element, + this service should be supported in order to preserve unparsed + XML attributes. + + @since OOo 1.1.2 + */ + [optional] service com::sun::star::xml::UserDefinedAttributesSupplier; + + + /** specifies the rotation of the shape in 100th of degrees. + + <p>Especially in three-dimensional charts, this property comes + in handy if you want to align the axis titles with the axis, + which are usually not vertical or horizontal in the + two-dimensional projection.</p> + */ + [property] long TextRotation; + + + /** contains the text of the title. + + <p>Note that you cannot change attributes of parts of a + title, e.g., put one word in bold characters. All formatting + affects the entire string.</p> + */ + [property] string String; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl b/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl new file mode 100644 index 000000000..f33e0eddd --- /dev/null +++ b/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl @@ -0,0 +1,71 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartTwoAxisXSupplier_idl__ +#define __com_sun_star_chart_ChartTwoAxisXSupplier_idl__ + +#include <com/sun/star/chart/XTwoAxisXSupplier.idl> + +#include <com/sun/star/chart/ChartAxisXSupplier.idl> + + + + module com { module sun { module star { module chart { + + +/** a helper service for chart documents which supply + primary and secondary x-axes. + */ +published service ChartTwoAxisXSupplier +{ + /** offers access to the axis object + */ + interface com::sun::star::chart::XTwoAxisXSupplier; + + service com::sun::star::chart::ChartAxisXSupplier; + + + /** determines if the secondary x-axis is shown or hidden. + + @see ChartAxis + */ + [property] boolean HasSecondaryXAxis; + + + /** determines for the secondary x-axis + if the labels at the tick marks are shown or hidden. + */ + [property] boolean HasSecondaryXAxisDescription; + + + /** determines if the title of the secondary X-axis is shown or hidden. + + @see ChartTitle + + @since OOo 3.0 + */ + [optional, property] boolean HasSecondaryXAxisTitle; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl b/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl new file mode 100644 index 000000000..a78ece2fc --- /dev/null +++ b/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl @@ -0,0 +1,72 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_ChartTwoAxisYSupplier_idl__ +#define __com_sun_star_chart_ChartTwoAxisYSupplier_idl__ + +#include <com/sun/star/chart/XTwoAxisYSupplier.idl> + +#include <com/sun/star/chart/ChartAxisYSupplier.idl> + + + + module com { module sun { module star { module chart { + + +/** a helper service for chart documents which supply + primary and secondary y-axes. + */ +published service ChartTwoAxisYSupplier +{ + /** offers access to the axis object + */ + interface com::sun::star::chart::XTwoAxisYSupplier; + + service com::sun::star::chart::ChartAxisYSupplier; + + + /** determines if the secondary y-axis is shown or + hidden. + + @see ChartAxis + */ + [property] boolean HasSecondaryYAxis; + + + /** determines for the secondary y-axis + if the labels at the tick marks are shown or hidden. + */ + [property] boolean HasSecondaryYAxisDescription; + + + /** determines if the title of the secondary y-axis is shown or hidden. + + @see ChartTitle + + @since OOo 3.0 + */ + [optional, property] boolean HasSecondaryYAxisTitle; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/DataLabelPlacement.idl b/offapi/com/sun/star/chart/DataLabelPlacement.idl new file mode 100644 index 000000000..f8e50effe --- /dev/null +++ b/offapi/com/sun/star/chart/DataLabelPlacement.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_DataLabelPlacement_idl__ +#define __com_sun_star_chart_DataLabelPlacement_idl__ + + + + module com { module sun { module star { module chart { + + +/** These values specify where the captions/labels of data points are displayed. + */ +published constants DataLabelPlacement +{ + const long AVOID_OVERLAP = 0; + const long CENTER = 1; + const long TOP = 2; + const long TOP_LEFT = 3; + const long LEFT = 4; + const long BOTTOM_LEFT = 5; + const long BOTTOM = 6; + const long BOTTOM_RIGHT = 7; + const long RIGHT = 8; + const long TOP_RIGHT = 9; + const long INSIDE = 10; + const long OUTSIDE = 11; + const long NEAR_ORIGIN = 12; + /** @since LibreOffice 7.0 */ const long CUSTOM = 13; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/Diagram.idl b/offapi/com/sun/star/chart/Diagram.idl new file mode 100644 index 000000000..023517a87 --- /dev/null +++ b/offapi/com/sun/star/chart/Diagram.idl @@ -0,0 +1,123 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_Diagram_idl__ +#define __com_sun_star_chart_Diagram_idl__ + +#include <com/sun/star/chart/XDiagram.idl> +#include <com/sun/star/chart/XAxisSupplier.idl> +#include <com/sun/star/chart/XDiagramPositioning.idl> + +#include <com/sun/star/chart/XSecondAxisTitleSupplier.idl> +#include <com/sun/star/beans/XPropertySet.idl> + +#include <com/sun/star/chart/ChartDataRowSource.idl> + +#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl> + + + module com { module sun { module star { module chart { + + +/** the base service for the diagram of the chart document. + + <p>The diagram is the object that contains the actual plot.</p> + + <p>Different Diagram Types, e.g., PieDiagram or + LineDiagram, can be instantiated by the + com::sun::star::lang::XMultiServiceFactory of + the XChartDocument.</p> + + */ +published service Diagram +{ + + interface com::sun::star::chart::XDiagram; + + /** Provides easier access to the different axes and their sub elements. + @since OOo 3.4 + */ + [optional] interface com::sun::star::chart::XAxisSupplier; + + /** Provides access to the titles of the secondary X axis and Y axis. + @since OOo 3.0 + */ + [optional] interface com::sun::star::chart::XSecondAxisTitleSupplier; + + /** + @since OOo 3.3 + */ + [optional] interface com::sun::star::chart::XDiagramPositioning; + + + /** If this property is `TRUE` the position is calculated by the application automatically. + Setting this property to false will have no effect. Instead use the interface com::sun::star::drawing::XShape + to set a concrete position (note com::sun::star::chart::XDiagram is derived from com::sun::star::drawing::XShape). + */ + [optional, property] boolean AutomaticPosition; + + + /** If this property is `TRUE` the size is calculated by the application automatically. + Setting this property to false will have no effect. Instead use the interface com::sun::star::drawing::XShape + to set a concrete size (note com::sun::star::chart::XDiagram is derived from com::sun::star::drawing::XShape). + */ + [optional, property] boolean AutomaticSize; + + + interface com::sun::star::beans::XPropertySet; + + + /** If a Diagram may be stored as XML file, this + service should be supported in order to preserve unparsed XML + attributes. + + @since OOo 1.1.2 + */ + [optional] service com::sun::star::xml::UserDefinedAttributesSupplier; + + + /** determines if the data for a data row is contained in the + columns or in the rows of the data array. + + @see ChartDataRowSource + @see ChartDataArray + */ + [property] com::sun::star::chart::ChartDataRowSource DataRowSource; + + + /** specifies how the caption of data points is displayed. + + @see ChartDataCaption + */ + [property] long DataCaption; + + + /** specifies how empty or invalid cells in the provided data should be handled when displayed + + @see MissingValueTreatment + */ + [optional, property] long MissingValueTreatment; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/Dim3DDiagram.idl b/offapi/com/sun/star/chart/Dim3DDiagram.idl new file mode 100644 index 000000000..a6ef1ae06 --- /dev/null +++ b/offapi/com/sun/star/chart/Dim3DDiagram.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_Dim3DDiagram_idl__ +#define __com_sun_star_chart_Dim3DDiagram_idl__ + +#include <com/sun/star/chart/X3DDisplay.idl> +#include <com/sun/star/chart/X3DDefaultSetter.idl> + + + + module com { module sun { module star { module chart { + + +/** is a service for diagrams that support the capability to render + themselves as three-dimensional diagrams as well as + two-dimensional ones. + */ +published service Dim3DDiagram +{ + /** gives access to the properties of the wall and floor objects + of the three-dimensional cuboid that contains the actual + diagram. + */ + interface com::sun::star::chart::X3DDisplay; + + /** makes it easy to set suitable defaults for illumination and rotation for 3D charts + */ + [optional] interface ::com::sun::star::chart::X3DDefaultSetter; + + + /** If set to `TRUE`, the chart becomes a three-dimensional + chart. Otherwise it is two-dimensional. + */ + [property] boolean Dim3D; + + /** Perspective of 3D charts ( [0,100] ). + */ + [optional, property] long Perspective; + + /** Horizontal rotation of 3D charts in degrees ( ]-180,180] ). + */ + [optional, property] long RotationHorizontal; + + /** Vertical rotation of 3D charts in degrees ( ]-180,180] ). + */ + [optional, property] long RotationVertical; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/DonutDiagram.idl b/offapi/com/sun/star/chart/DonutDiagram.idl new file mode 100644 index 000000000..7275b49ca --- /dev/null +++ b/offapi/com/sun/star/chart/DonutDiagram.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_DonutDiagram_idl__ +#define __com_sun_star_chart_DonutDiagram_idl__ + +#include <com/sun/star/chart/Diagram.idl> + + + + module com { module sun { module star { module chart { + + +/** a service for donut diagrams. + + <p>Donut diagrams are also known as ring diagrams.</p> +*/ +published service DonutDiagram +{ + service com::sun::star::chart::Diagram; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/ErrorBarStyle.idl b/offapi/com/sun/star/chart/ErrorBarStyle.idl new file mode 100644 index 000000000..adce5e590 --- /dev/null +++ b/offapi/com/sun/star/chart/ErrorBarStyle.idl @@ -0,0 +1,91 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart_ErrorBarStyle_idl +#define com_sun_star_chart_ErrorBarStyle_idl + +module com { module sun { module star { module chart { + +/** specifies the style of error indicators. + */ +published constants ErrorBarStyle +{ + /** error indicators are not displayed. + */ + const long NONE = 0; + + /** displays error indicators for the variance of the data. + */ + const long VARIANCE = 1; + + /** displays error indicators for the standard deviation (square + root of variance) of the data. + */ + const long STANDARD_DEVIATION = 2; + + /** the error indicators for all data points have the same + absolute value as length for either direction. + + <p>The values for these are given as absolute numbers in + ChartStatistics::ConstantErrorLow and + ChartStatistics::ConstantErrorHigh</p> + + @see ChartStatistics + */ + const long ABSOLUTE = 3; + + /** The length of the error indicators is calculated for each data + point by taking the percentage given as + ChartStatistics::PercentageError of its + value. + + @see ChartStatistics + */ + const long RELATIVE = 4; + + /** The length of the error indicators for all data points is + calculated by taking the percentage given as + ChartStatistics::ErrorMargin of the largest + data point value. + + @see ChartStatistics + */ + const long ERROR_MARGIN = 5; + + /** displays error indicators for the standard error, also known + as the standard deviation of the mean (SDOM). + */ + const long STANDARD_ERROR = 6; + + /** Uses values given by cell ranges of the container document. + + <p>The values for the cell ranges are given in the properties + ChartStatistics::ErrorBarRangePositive for + positive indicators and + ChartStatistics::ErrorBarRangeNegative for + negative indicators.</p> + */ + const long FROM_DATA = 7; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/FilledNetDiagram.idl b/offapi/com/sun/star/chart/FilledNetDiagram.idl new file mode 100644 index 000000000..22a867d0d --- /dev/null +++ b/offapi/com/sun/star/chart/FilledNetDiagram.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_FilledNetDiagram_idl__ +#define __com_sun_star_chart_FilledNetDiagram_idl__ + +#include <com/sun/star/chart/Diagram.idl> + +#include <com/sun/star/chart/StackableDiagram.idl> +#include <com/sun/star/chart/ChartAxisXSupplier.idl> + +#include <com/sun/star/chart/ChartAxisYSupplier.idl> + + + + module com { module sun { module star { module chart { + + +/** specifies filled net diagrams. @since OOo 3.2 + + <p>Net diagrams are also known as radar diagrams.</p> + */ +published service FilledNetDiagram +{ + service com::sun::star::chart::Diagram; + service com::sun::star::chart::ChartAxisXSupplier; + service com::sun::star::chart::ChartAxisYSupplier; + service com::sun::star::chart::StackableDiagram; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/LineDiagram.idl b/offapi/com/sun/star/chart/LineDiagram.idl new file mode 100644 index 000000000..5fcb2d156 --- /dev/null +++ b/offapi/com/sun/star/chart/LineDiagram.idl @@ -0,0 +1,143 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_LineDiagram_idl__ +#define __com_sun_star_chart_LineDiagram_idl__ + +#include <com/sun/star/chart/Diagram.idl> + +#include <com/sun/star/chart/ChartStatistics.idl> + +#include <com/sun/star/chart/ChartAxisXSupplier.idl> + +#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl> + +#include <com/sun/star/chart/ChartAxisZSupplier.idl> + +#include <com/sun/star/chart/Dim3DDiagram.idl> + +#include <com/sun/star/chart/StackableDiagram.idl> +#include <com/sun/star/awt/Size.idl> + + + module com { module sun { module star { module chart { + + +/** specifies line, spline and symbol diagrams. + */ +published service LineDiagram +{ + service com::sun::star::chart::Diagram; + service com::sun::star::chart::ChartStatistics; + service com::sun::star::chart::ChartAxisXSupplier; + service com::sun::star::chart::ChartTwoAxisYSupplier; + service com::sun::star::chart::ChartAxisZSupplier; + service com::sun::star::chart::Dim3DDiagram; + service com::sun::star::chart::StackableDiagram; + + + /** determines which type of symbols are displayed. + + <p>In this interface, only the two values + ChartSymbolType::NONE and + ChartSymbolType::AUTO are supported. Later + versions may support the selection of the symbols shape.</p> + + <p>If you set this property to + ChartSymbolType::AUTO, you can change the + symbol shape for objects supporting the service + ChartDataPointProperties or + ChartDataRowProperties.</p> + + @see ChartDataPointProperties + @see ChartDataRowProperties + */ + [property] long SymbolType; + + + /** specifies the size of symbols in 1/100th of a millimeter. + */ + [optional, property] com::sun::star::awt::Size SymbolSize; + + + /** Set this property to any valid URL that points to a graphic + file. This graphic is then used as symbol for all series. + + <p>When you query this value you get an internal URL of the + embedded graphic.</p> + + @deprecated + @see ChartSymbolType + */ + [optional, property] string SymbolBitmapURL; + + + /** determines if the chart type has lines connecting the data + points or contains just symbols. + */ + [property] boolean Lines; + + + /** determines if the chart is a spline-chart type and specifies + the type of splines. + + @see CurveStyle + <p>You can set the following values: + <table border> + <tr><td>0</td><td>lines are used instead of splines</td></tr> + <tr><td>1</td><td>use cubic splines</td></tr> + <tr><td>2</td><td>use B-splines</td></tr> + <tr><td>3</td><td>use stepped line with step start</td></tr> + <tr><td>4</td><td>use stepped line with step end</td></tr> + <tr><td>5</td><td>use stepped line with step center x</td></tr> + <tr><td>6</td><td>use stepped line with step center y</td></tr> + </table> + </p> + */ + [property] long SplineType; + + + /** specifies the power of the polynomials used for spline + calculation + + This property is only valid for B-splines + */ + [optional, property] long SplineOrder; + + + /** determines the number of sampling points of a spline + */ + [optional, property] long SplineResolution; + + /** Set this property to a graphic object which is then used as + symbol for all series. + + @since LibreOffice 6.1 + + @deprecated - added for backwards compatibility + @see ChartSymbolType + */ + [optional, property] com::sun::star::graphic::XGraphic SymbolBitmap; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/MissingValueTreatment.idl b/offapi/com/sun/star/chart/MissingValueTreatment.idl new file mode 100644 index 000000000..19509aa6e --- /dev/null +++ b/offapi/com/sun/star/chart/MissingValueTreatment.idl @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_MissingValueTreatment_idl__ +#define __com_sun_star_chart_MissingValueTreatment_idl__ + + + + module com { module sun { module star { module chart { + + +/** This specifies how empty or invalid cells in the provided data should be handled when plotted. + */ +published constants MissingValueTreatment +{ + const long LEAVE_GAP = 0; + const long USE_ZERO = 1; + const long CONTINUE = 2; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/NetDiagram.idl b/offapi/com/sun/star/chart/NetDiagram.idl new file mode 100644 index 000000000..07d997502 --- /dev/null +++ b/offapi/com/sun/star/chart/NetDiagram.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_NetDiagram_idl__ +#define __com_sun_star_chart_NetDiagram_idl__ + +#include <com/sun/star/chart/Diagram.idl> + +#include <com/sun/star/chart/StackableDiagram.idl> + +#include <com/sun/star/chart/ChartAxisYSupplier.idl> + + + + module com { module sun { module star { module chart { + + +/** specifies net diagrams. + + <p>Net diagrams are also known as radar diagrams.</p> + */ +published service NetDiagram +{ + service com::sun::star::chart::Diagram; + service com::sun::star::chart::StackableDiagram; + service com::sun::star::chart::ChartAxisYSupplier; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/PieDiagram.idl b/offapi/com/sun/star/chart/PieDiagram.idl new file mode 100644 index 000000000..5293da11e --- /dev/null +++ b/offapi/com/sun/star/chart/PieDiagram.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_PieDiagram_idl__ +#define __com_sun_star_chart_PieDiagram_idl__ + +#include <com/sun/star/chart/Diagram.idl> + +#include <com/sun/star/chart/Dim3DDiagram.idl> + + + + module com { module sun { module star { module chart { + + +/** a service for pie diagrams. + */ +published service PieDiagram +{ + service com::sun::star::chart::Diagram; + service com::sun::star::chart::Dim3DDiagram; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/StackableDiagram.idl b/offapi/com/sun/star/chart/StackableDiagram.idl new file mode 100644 index 000000000..f940c1d8a --- /dev/null +++ b/offapi/com/sun/star/chart/StackableDiagram.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_StackableDiagram_idl__ +#define __com_sun_star_chart_StackableDiagram_idl__ + + + + module com { module sun { module star { module chart { + + +/** + +a helper service for stackable chart types (e.g., charts in + which the data rows may be displayed stacked on each other or in + percent relation). + */ +published service StackableDiagram +{ + + /** If `TRUE`, the series of the diagram are stacked and each + category sums up to 100%. + */ + [property] boolean Percent; + + + /** If `TRUE`, the series of the diagram are stacked. + + <p>If you have a stacked bar chart, you can easily determine + the sum of data in each category, by taking the top of the + topmost bar.</p> + */ + [property] boolean Stacked; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/StockDiagram.idl b/offapi/com/sun/star/chart/StockDiagram.idl new file mode 100644 index 000000000..abeef4fe1 --- /dev/null +++ b/offapi/com/sun/star/chart/StockDiagram.idl @@ -0,0 +1,130 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_StockDiagram_idl__ +#define __com_sun_star_chart_StockDiagram_idl__ + +#include <com/sun/star/chart/XStatisticDisplay.idl> + +#include <com/sun/star/chart/ChartStatistics.idl> + +#include <com/sun/star/chart/Diagram.idl> + +#include <com/sun/star/chart/ChartAxisXSupplier.idl> + +#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl> + + + + module com { module sun { module star { module chart { + + +/** specifies a diagram which can be used for presenting stock quotes. + + <p>Note that the data must have a specific structure for stock + diagrams. Let us assume that data is interpreted, such that + series are taken from columns (see property + Diagram::DataRowSource). Then you need tables of + the following structures for different types:</p> + + <p><strong> + StockDiagram::Volume is `FALSE`<br> + StockDiagram::UpDown is `FALSE` + </strong> + <table border> + <tr><td>Low</td><td>High</td><td>Close</td></tr> + <tr><td>...</td><td>...</td><td>...</td></tr> + </table></p> + + <p><strong> + StockDiagram::Volume is `TRUE`<br> + StockDiagram::UpDown is `FALSE` + </strong> + <table border> + <tr><td><strong>Volume</strong></td><td>Low</td><td>High</td><td>Close</td></tr> + <tr><td>...</td><td>...</td><td>...</td><td>...</td></tr> + </table></p> + + <p><strong> + StockDiagram::Volume is `FALSE`<br> + StockDiagram::UpDown is `TRUE` + </strong> + <table border> + <tr><td><strong>Open</strong></td><td>Low</td><td>High</td><td>Close</td></tr> + <tr><td>...</td><td>...</td><td>...</td><td>...</td></tr> + </table></p> + + <p><strong> + StockDiagram::Volume is `TRUE`<br> + StockDiagram::UpDown is `TRUE` + </strong> + <table border> + <tr><td><strong>Volume</strong></td><td><strong>Open</strong></td><td>Low</td><td>High</td><td>Close</td></tr> + <tr><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td></tr> + </table></p> +*/ +published service StockDiagram +{ + interface com::sun::star::chart::XStatisticDisplay; + service com::sun::star::chart::ChartStatistics; + service com::sun::star::chart::Diagram; + service com::sun::star::chart::ChartAxisXSupplier; + service com::sun::star::chart::ChartTwoAxisYSupplier; + + + /** indicates if a stock chart contains data representing the + volume of stocks. + + <p>The values of the volume are represented as columns like + those of a BarDiagram.</p> + + <p>If this property is set to `TRUE`, the values of the first + series of the chart data are interpreted as volume.</p> + */ + [property] boolean Volume; + + + /** indicates if a stock chart contains data representing the + value of stocks on the opening and closing date. + + <p>The difference will be indicated by bars. The color + of the bar will be significant for positive or negative + differences between open and closed data.</p> + + <p>If this property is `FALSE`, the values of the first + series (or second if StockDiagram::Volume is + `TRUE`) of the chart data are interpreted as the day's lowest + value. The next series is interpreted as the day's highest + value, and the last series is interpreted as the closing + value.</p> + + <p>If this property is set to `TRUE`, one additional series + is needed with the opening value of the stocks. It is assumed + as the series before the series with the day's lowest + value.</p> + */ + [property] boolean UpDown; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/TimeIncrement.idl b/offapi/com/sun/star/chart/TimeIncrement.idl new file mode 100644 index 000000000..acf05038a --- /dev/null +++ b/offapi/com/sun/star/chart/TimeIncrement.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart_TimeIncrement_idl +#define com_sun_star_chart_TimeIncrement_idl + +#include <com/sun/star/chart/TimeInterval.idl> + + +module com { module sun { module star { module chart { + + +/** A TimeIncrement describes how tickmarks are positioned on the scale of a date-time axis. +@since OOo 3.4 +*/ +published struct TimeIncrement +{ + /** if the any contains a struct of type ::com::sun::star::chart::TimeInterval + this is used as a fixed distance value for the major tickmarks. Otherwise, if the any is empty or contains an + incompatible type, the distance between major tickmarks is calculated automatically by the application. + */ + any MajorTimeInterval; + + /** if the any contains a struct of type ::com::sun::star::chart::TimeInterval + this is used as a fixed distance value for the minor tickmarks. Otherwise, if the any is empty or contains an + incompatible type, the distance between minor tickmarks is calculated automatically by the application. + */ + any MinorTimeInterval; + + /** if the any contains a constant of type ::com::sun::star::chart::TimeUnit + this is the smallest time unit that is displayed on the date-time axis. + Otherwise, if the any is empty or contains an incompatible type, + the resolution is chosen automatically by the application. + */ + any TimeResolution; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/TimeInterval.idl b/offapi/com/sun/star/chart/TimeInterval.idl new file mode 100644 index 000000000..28ef553ca --- /dev/null +++ b/offapi/com/sun/star/chart/TimeInterval.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart_TimeInterval_idl +#define com_sun_star_chart_TimeInterval_idl + +#include <com/sun/star/chart/TimeUnit.idl> + + +module com { module sun { module star { module chart { + + +/** Describes an interval on a date-axis +@since OOo 3.4 +*/ +published struct TimeInterval +{ + /** specifies the number of units + */ + long Number; + + /** specifies a unit for the interval + <p>is a value out of the constant group ::com::sun::star::chart::TimeUnit.</p> + */ + long TimeUnit; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/TimeUnit.idl b/offapi/com/sun/star/chart/TimeUnit.idl new file mode 100644 index 000000000..a0d359c69 --- /dev/null +++ b/offapi/com/sun/star/chart/TimeUnit.idl @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_TimeUnit_idl__ +#define __com_sun_star_chart_TimeUnit_idl__ + + + module com { module sun { module star { module chart { + + +/** Specifies a unit for intervals on a date-time axis +@since OOo 3.4 + */ +published constants TimeUnit +{ + const long DAY = 0; + const long MONTH = 1; + const long YEAR = 2; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/X3DDefaultSetter.idl b/offapi/com/sun/star/chart/X3DDefaultSetter.idl new file mode 100644 index 000000000..7ab263712 --- /dev/null +++ b/offapi/com/sun/star/chart/X3DDefaultSetter.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_X3DDefaultSetter_idl__ +#define __com_sun_star_chart_X3DDefaultSetter_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + + module com { module sun { module star { module chart { + + +/** makes it easy to set suitable defaults for illumination and rotation for 3D charts + + @see Dim3DDiagram + */ +published interface X3DDefaultSetter : com::sun::star::uno::XInterface +{ + /** The result may depend on the current chart type and the current shade mode. + */ + void set3DSettingsToDefault(); + + /** sets a suitable default for the rotation of the current 3D chart. + The result may depend on the current chart type. + */ + void setDefaultRotation(); + + /** set suitable defaults for the illumination of the current 3D chart. + The result may dependent on other 3D settings as rotation or shade mode. It may depend on the current chart type also. + */ + void setDefaultIllumination(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/X3DDisplay.idl b/offapi/com/sun/star/chart/X3DDisplay.idl new file mode 100644 index 000000000..1048951a1 --- /dev/null +++ b/offapi/com/sun/star/chart/X3DDisplay.idl @@ -0,0 +1,69 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_X3DDisplay_idl__ +#define __com_sun_star_chart_X3DDisplay_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + + + + module com { module sun { module star { module chart { + + +/** gives access to 3D elements of a three-dimensional chart. + + @see Dim3DDiagram + */ +published interface X3DDisplay: com::sun::star::uno::XInterface +{ + + /** @returns + the properties of the diagram wall(s). + + <p>This specifies the properties of the two side walls of the + chart scene.</p> + + <p>Note that this property is also valid for two-dimensional + diagrams. There the properties returned here affect the + background rectangle of the diagram.</p> + + @see ChartArea + */ + com::sun::star::beans::XPropertySet getWall(); + + + /** @returns + the properties of the floor. + + <p>This is only valid for three-dimensional diagrams.</p> + + @see ChartArea + */ + com::sun::star::beans::XPropertySet getFloor(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XAxis.idl b/offapi/com/sun/star/chart/XAxis.idl new file mode 100644 index 000000000..adb973a05 --- /dev/null +++ b/offapi/com/sun/star/chart/XAxis.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart_XAxis_idl +#define com_sun_star_chart_XAxis_idl + +#include <com/sun/star/beans/XPropertySet.idl> + +module com { module sun { module star { module chart { + +/** Allows easier access to the different subelements of an axis. +@since OOo 3.4 +*/ + +interface XAxis : ::com::sun::star::uno::XInterface +{ + /** @returns + the title of the axis. The returned object supports the properties described in service ChartTitle. + */ + com::sun::star::beans::XPropertySet getAxisTitle(); + + /** @returns + the properties of the major grid of the axis. The returned object supports service ChartGrid. + */ + com::sun::star::beans::XPropertySet getMajorGrid(); + + /** @returns + the properties of the minor grid of the axis. The returned object supports service ChartGrid. + */ + com::sun::star::beans::XPropertySet getMinorGrid(); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XAxisSupplier.idl b/offapi/com/sun/star/chart/XAxisSupplier.idl new file mode 100644 index 000000000..c7858f401 --- /dev/null +++ b/offapi/com/sun/star/chart/XAxisSupplier.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart_XAxisSupplier_idl +#define com_sun_star_chart_XAxisSupplier_idl + +#include <com/sun/star/chart/XAxis.idl> + +module com { module sun { module star { module chart { + +/** Easier access to the different axes within a chart. +@since OOo 3.4 +*/ + +interface XAxisSupplier : ::com::sun::star::uno::XInterface +{ + /** @returns + the primary axis of the specified dimension. The returned object supports service ChartAxis. + + @param nDimensionIndex + Parameter nDimensionIndex says whether it is a x, y or z-axis (0 for x). + */ + com::sun::star::chart::XAxis getAxis( [in] long nDimensionIndex ); + + /** @returns + the secondary axis of the specified dimension. The returned object supports service ChartAxis. + + @param nDimensionIndex + Parameter nDimensionIndex says whether it is a x, y or z-axis (0 for x). + */ + com::sun::star::chart::XAxis getSecondaryAxis( [in] long nDimensionIndex ); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XAxisXSupplier.idl b/offapi/com/sun/star/chart/XAxisXSupplier.idl new file mode 100644 index 000000000..113c409a4 --- /dev/null +++ b/offapi/com/sun/star/chart/XAxisXSupplier.idl @@ -0,0 +1,86 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_XAxisXSupplier_idl__ +#define __com_sun_star_chart_XAxisXSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/drawing/XShape.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + + + + module com { module sun { module star { module chart { + + +/** gives access to the <i>x</i>-axis of a chart. + + <p>Note that not all diagrams are capable of displaying an + <i>x</i>-axis, e.g., the PieDiagram.</p> + + @see XDiagram + */ +published interface XAxisXSupplier: com::sun::star::uno::XInterface +{ + + /** @returns + the <i>x</i>-axis title shape. + + @see ChartTitle + */ + com::sun::star::drawing::XShape getXAxisTitle(); + + + /** @returns + the properties of the <i>x</i>-axis of the diagram. + + <p>The returned property set contains scaling properties as + well as formatting properties.</p> + + @see ChartAxis + */ + com::sun::star::beans::XPropertySet getXAxis(); + + + /** @returns + the properties of the main grid (major grid) of the + <i>x</i>-axis of the diagram. + + @see ChartGrid + */ + com::sun::star::beans::XPropertySet getXMainGrid(); + + + /** @returns + the properties of the help grid (minor grid) of the + <i>x</i>-axis of the diagram. + + @see ChartGrid + */ + com::sun::star::beans::XPropertySet getXHelpGrid(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XAxisYSupplier.idl b/offapi/com/sun/star/chart/XAxisYSupplier.idl new file mode 100644 index 000000000..9e2e14ff5 --- /dev/null +++ b/offapi/com/sun/star/chart/XAxisYSupplier.idl @@ -0,0 +1,86 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_XAxisYSupplier_idl__ +#define __com_sun_star_chart_XAxisYSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/drawing/XShape.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + + + + module com { module sun { module star { module chart { + + +/** gives access to the <i>y</i>-axis of a chart. + + <p>Note that not all diagrams are capable of displaying a + <i>y</i>-axis, e.g., the PieDiagram.</p> + + @see XDiagram + */ +published interface XAxisYSupplier: com::sun::star::uno::XInterface +{ + + /** @returns + the <i>y</i>-axis title shape. + + @see ChartTitle + */ + com::sun::star::drawing::XShape getYAxisTitle(); + + + /** @returns + the properties of the <i>y</i>-axis of the diagram. + + <p>The returned property set contains scaling properties as + well as formatting properties.</p> + + @see ChartAxis + */ + com::sun::star::beans::XPropertySet getYAxis(); + + + /** @returns + the properties of the help grid (minor grid) of the + <i>y</i>-axis of the diagram. + + @see ChartGrid + */ + com::sun::star::beans::XPropertySet getYHelpGrid(); + + + /** @returns + the properties of the main grid (major grid) of the + <i>y</i>-axis of the diagram. + + @see ChartGrid + */ + com::sun::star::beans::XPropertySet getYMainGrid(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XAxisZSupplier.idl b/offapi/com/sun/star/chart/XAxisZSupplier.idl new file mode 100644 index 000000000..edd9f5db0 --- /dev/null +++ b/offapi/com/sun/star/chart/XAxisZSupplier.idl @@ -0,0 +1,83 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_XAxisZSupplier_idl__ +#define __com_sun_star_chart_XAxisZSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/drawing/XShape.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + + + + module com { module sun { module star { module chart { + + +/** gives access to the <i>z</i>-axis of a chart. + + @see XDiagram + */ +published interface XAxisZSupplier: com::sun::star::uno::XInterface +{ + + /** @returns + the <i>z</i>-axis title shape. + + @see ChartTitle + */ + com::sun::star::drawing::XShape getZAxisTitle(); + + + /** @returns + the properties of the main grid (major grid) of the + <i>z</i>-axis of the diagram. + + @see ChartGrid + */ + com::sun::star::beans::XPropertySet getZMainGrid(); + + + /** @returns + the properties of the help grid (minor grid) of the + <i>z</i>-axis of the diagram. + + @see ChartGrid + */ + com::sun::star::beans::XPropertySet getZHelpGrid(); + + + /** @returns + the properties of the <i>z</i>-axis of the diagram. + + <p>The returned property set contains scaling properties as + well as formatting properties.</p> + + @see ChartAxis + */ + com::sun::star::beans::XPropertySet getZAxis(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XChartData.idl b/offapi/com/sun/star/chart/XChartData.idl new file mode 100644 index 000000000..0ce2e1002 --- /dev/null +++ b/offapi/com/sun/star/chart/XChartData.idl @@ -0,0 +1,99 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_XChartData_idl__ +#define __com_sun_star_chart_XChartData_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/chart/XChartDataChangeEventListener.idl> + + + + module com { module sun { module star { module chart { + + +/** manages the data of the chart. + + @see XChartDocument + */ +published interface XChartData: com::sun::star::uno::XInterface +{ + + /** allows a component supporting the + XChartDataChangeEventListener interface to + register as listener. The component will be notified with a + ChartDataChangeEvent every time the chart's data + changes.</p> + + @param aListener + the component that is to be added as listener + + @see XChartDataChangeEventListener + @see ChartDataChangeEvent + */ + void addChartDataChangeEventListener( [in] com::sun::star::chart::XChartDataChangeEventListener aListener ); + + + /** removes a previously registered listener. + + @param aListener + the component that is to be removed + */ + void removeChartDataChangeEventListener( [in] com::sun::star::chart::XChartDataChangeEventListener aListener ); + + + /** @returns + the value which is to be used as an indicator for a + missing value in the data. + + <p>In IEEE arithmetic format it is one of the NaN values, so + there are no conflicts with existing numeric values.</p> + */ + double getNotANumber(); + + + /** checks whether the value given is equal to the indicator value + for a missing value. + + <p>In IEEE arithmetic format it is one of the NaN values, so + there are no conflicts with existing numeric values.</p> + + <p>Always use this method to check, if a value is <em>not a + number</em>. If you compare the value returned by + XChartData::getNotANumber() to another double + value using the = operator, you may not get the desired + result!</p> + + @returns + `TRUE` if the number given is interpreted by the chart as + a missing value. + + @param nNumber + the number that you want to check for validity. + */ + boolean isNotANumber( [in] double nNumber ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XChartDataArray.idl b/offapi/com/sun/star/chart/XChartDataArray.idl new file mode 100644 index 000000000..9764c85bd --- /dev/null +++ b/offapi/com/sun/star/chart/XChartDataArray.idl @@ -0,0 +1,97 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_XChartDataArray_idl__ +#define __com_sun_star_chart_XChartDataArray_idl__ + +#include <com/sun/star/chart/XChartData.idl> + + + module com { module sun { module star { module chart { + + +/** gives access to data represented as an array of rows. + + <p>Can be obtained from interface XChartDocument via method getData().</p> + + <p>If used for an XYDiagram, the row number 0 + represents the <i>x</i>-values.</p> + */ +published interface XChartDataArray: XChartData +{ + + /** retrieves the numerical data as a nested sequence of values. + + @returns + the values as a sequence of sequences. The inner sequence + represents rows. + */ + sequence< sequence< double > > getData(); + + + /** sets the chart data as an array of numbers. + + @param aData + the values as a sequence of sequences. The inner sequence + represents rows. + */ + void setData( [in] sequence< sequence< double > > aData ); + + + /** retrieves the description texts for all rows. + + @returns + a sequence of strings, each representing the description + of a row. + */ + sequence< string > getRowDescriptions(); + + + /** sets the description texts for all rows. + + @param aRowDescriptions + a sequence of strings which represent a description for + each row. + */ + void setRowDescriptions( [in] sequence< string > aRowDescriptions ); + + + /** retrieves the description texts for all columns. + + @returns + a sequence of strings, each representing the description + of a column. + */ + sequence< string > getColumnDescriptions(); + + + /** sets the description texts for all columns. + + @param aColumnDescriptions + a sequence of strings which represent a description for + each column. + */ + void setColumnDescriptions( [in] sequence< string > aColumnDescriptions ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XChartDataChangeEventListener.idl b/offapi/com/sun/star/chart/XChartDataChangeEventListener.idl new file mode 100644 index 000000000..d1899ca3f --- /dev/null +++ b/offapi/com/sun/star/chart/XChartDataChangeEventListener.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_XChartDataChangeEventListener_idl__ +#define __com_sun_star_chart_XChartDataChangeEventListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/chart/ChartDataChangeEvent.idl> + + + + module com { module sun { module star { module chart { + + +/** makes it possible to receive events when chart data changes. + */ +published interface XChartDataChangeEventListener: com::sun::star::lang::XEventListener +{ + + /** is called whenever chart data changes in value or structure. + + <p>This interface must be implemented by components that wish + to get notified of changes in chart data. They can be + registered at an XChartData component.</p> + + @param aEvent + the event that gives further information on what changed. + + @see ChartDataChangeEvent + @see XChartData + */ + void chartDataChanged( [in] com::sun::star::chart::ChartDataChangeEvent aEvent ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XChartDocument.idl b/offapi/com/sun/star/chart/XChartDocument.idl new file mode 100644 index 000000000..c29cc1722 --- /dev/null +++ b/offapi/com/sun/star/chart/XChartDocument.idl @@ -0,0 +1,160 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_XChartDocument_idl__ +#define __com_sun_star_chart_XChartDocument_idl__ + +#include <com/sun/star/frame/XModel.idl> + +#include <com/sun/star/drawing/XShape.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + +#include <com/sun/star/chart/XDiagram.idl> + +#include <com/sun/star/chart/XChartData.idl> + + + + module com { module sun { module star { module chart { + + +/** manages the chart document. + + @see XDiagram + @see XChartData + */ +published interface XChartDocument: com::sun::star::frame::XModel +{ + + /** @returns + the shape of the main title of the chart document. + + @see ChartTitle + */ + com::sun::star::drawing::XShape getTitle(); + + + /** @returns + the shape of the subtitle of the chart document. + + <p>Usually the subtitle is smaller than the main title by + default. And it is most commonly placed below the main title + by default.</p> + + @see ChartTitle + */ + com::sun::star::drawing::XShape getSubTitle(); + + + /** @returns + the shape of the legend of the chart document. + + @see ChartLegend + */ + com::sun::star::drawing::XShape getLegend(); + + + /** @returns + the properties of the background area of the chart document. + + <p>The area's extent is equal to the document size. If you + want to access properties of the background area of the + diagram, in which the actual data is represented, you have to + change the chart wall which you get from the + X3DDisplay.</p> + + @see ChartArea + @see X3DDisplay + */ + com::sun::star::beans::XPropertySet getArea(); + + + /** @returns + the diagram of the chart document. + + @see Diagram + */ + com::sun::star::chart::XDiagram getDiagram(); + + + /** sets the diagram for the chart document. + + <p>Setting a new diagram implicitly disposes the previous + diagram.</p> + + @param xDiagram + the new diagram that should be set for the chart. To + create such a diagram component, you can use the + com::sun::star::lang::XMultiServiceFactory, + which should be implemented by an + XChartDocument. + */ + void setDiagram( [in] com::sun::star::chart::XDiagram xDiagram ); + + + /** @returns + the data of the chart. + + <p>The returned object supports interface XChartDataArray + which can be used to access the concrete data.</p> + + <p>Since OOo 3.3 the returned object also supports interface XComplexDescriptionAccess + which can be used to access complex hierarchical axis descriptions.</p> + + <p>Since OOo 3.4 the returned object also supports interface XDateCategories.</p> + + @see XChartData + @see XChartDataArray + @see XComplexDescriptionAccess + @see XDateCategories + */ + com::sun::star::chart::XChartData getData(); + + + /** attaches data to the chart. + + <p>The given object needs to support interface XChartDataArray.</p> + + <p>Since OOo 3.3 if the given object might support interface XComplexDescriptionAccess + which allows to set complex hierarchical axis descriptions.</p> + + <p>Since OOo 3.4 if the given object might support interface XDateCategories + which allows to set date values as x values for category charts.</p> + + <p>The given data is copied before it is applied to the chart. + So changing xData after this call will have no effect on the chart.</p> + + @see XChartData + @see XChartDataArray + @see XComplexDescriptionAccess + @see XDateCategories + + @param xData + the object that provides the new data. + */ + void attachData( [in] com::sun::star::chart::XChartData xData ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XComplexDescriptionAccess.idl b/offapi/com/sun/star/chart/XComplexDescriptionAccess.idl new file mode 100644 index 000000000..80c33ba6d --- /dev/null +++ b/offapi/com/sun/star/chart/XComplexDescriptionAccess.idl @@ -0,0 +1,83 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_XComplexDescriptionAccess_idl__ +#define __com_sun_star_chart_XComplexDescriptionAccess_idl__ + +#include <com/sun/star/chart/XChartDataArray.idl> + + + module com { module sun { module star { module chart { + + +/** Offers access to complex column and row descriptions. + +<p>Can be obtained from interface XChartDocument via method getData().</p> + +@since OOo 3.3 +*/ + +published interface XComplexDescriptionAccess : XChartDataArray +{ + + /** retrieves the description texts for all rows. + + @returns + a sequence of sequences of strings representing the descriptions + of all rows. The outer index represents different rows. + The inner index represents the different levels (usually there is only one). + */ + sequence< sequence< string > > getComplexRowDescriptions(); + + + /** sets the description texts for all rows. + + @param rRowDescriptions + a sequence of sequences of strings representing the descriptions of all + rows. The outer index represents different rows. + The inner index represents the different levels (usually there is only one). + */ + void setComplexRowDescriptions( [in] sequence< sequence< string > > rRowDescriptions ); + + + /** retrieves the description texts for all columns. + + @returns + a sequence of sequences of strings representing the descriptions + of all columns. The outer index represents different columns. + The inner index represents the different levels (usually there is only one). + */ + sequence< sequence< string > > getComplexColumnDescriptions(); + + + /** sets the description texts for all columns. + + @param rColumnDescriptions + a sequence of sequences of strings which represent the descriptions of + all columns. The outer index represents different columns. + The inner index represents the different levels (usually there is only one). + */ + void setComplexColumnDescriptions( [in] sequence< sequence< string > > rColumnDescriptions ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XDateCategories.idl b/offapi/com/sun/star/chart/XDateCategories.idl new file mode 100644 index 000000000..fa81062aa --- /dev/null +++ b/offapi/com/sun/star/chart/XDateCategories.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_XDateCategories_idl__ +#define __com_sun_star_chart_XDateCategories_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + module com { module sun { module star { module chart { + + +/** Allows to set date values as categories. + +<p>Can be obtained from interface XChartDocument via method getData().</p> + +@since OOo 3.4 +*/ + +published interface XDateCategories +{ + + /** sets dates as categories + + @param rDates + a sequence of sequences of doubles representing dates. + */ + void setDateCategories( [in] sequence< double > rDates ); + + + /** retrieves the date values if the category x-axis id a date axis + + @returns + a sequence of doubles representing dates. + */ + sequence< double > getDateCategories(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XDiagram.idl b/offapi/com/sun/star/chart/XDiagram.idl new file mode 100644 index 000000000..998fff50b --- /dev/null +++ b/offapi/com/sun/star/chart/XDiagram.idl @@ -0,0 +1,80 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_XDiagram_idl__ +#define __com_sun_star_chart_XDiagram_idl__ + +#include <com/sun/star/drawing/XShape.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> + + + module com { module sun { module star { module chart { + + +/** manages the diagram of the chart document. + + @see XChartDocument + */ +published interface XDiagram: com::sun::star::drawing::XShape +{ + + /** @returns + a string representing the diagram type. This string + contains the fully qualified name of the corresponding + service. + */ + string getDiagramType(); + + + /** @returns + the properties of the specified data row (series). + + @param nRow + the index of the series (0-based) + + @see ChartDataRowProperties + */ + com::sun::star::beans::XPropertySet getDataRowProperties( [in] long nRow ) + raises( com::sun::star::lang::IndexOutOfBoundsException ); + + + /** @returns + the properties of the specified data point. + + @param nCol + the index of the data point of a series (0-based). + @param nRow + the index of a series (0-based). + + @see ChartDataPointProperties + */ + com::sun::star::beans::XPropertySet getDataPointProperties( [in] long nCol, + [in] long nRow ) + raises( com::sun::star::lang::IndexOutOfBoundsException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XDiagramPositioning.idl b/offapi/com/sun/star/chart/XDiagramPositioning.idl new file mode 100644 index 000000000..401b0ab53 --- /dev/null +++ b/offapi/com/sun/star/chart/XDiagramPositioning.idl @@ -0,0 +1,91 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_XDiagramPositioning_idl__ +#define __com_sun_star_chart_XDiagramPositioning_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/awt/Rectangle.idl> + + + module com { module sun { module star { module chart { + + +/** allow for different positioning options for a diagram + + @see Diagram + */ +interface XDiagramPositioning : com::sun::star::uno::XInterface +{ + /** the diagram will be placed automatically + */ + void setAutomaticDiagramPositioning(); + + /** @returns whether the diagram is placed automatically + */ + boolean isAutomaticDiagramPositioning(); + + /** place the inner diagram part excluding any axes, labels and titles + @param PositionRect + specifies the position and size in 100/th mm + */ + void setDiagramPositionExcludingAxes( [in] com::sun::star::awt::Rectangle PositionRect ); + + /** @returns true in case the diagram position was set with method setDiagramPositionExcludingAxes + */ + boolean isExcludingDiagramPositioning(); + + /** @returns the position rectangle of the inner diagram part excluding any axes, labels and titles. + Position and size are given in 100/th mm. + It might be necessary to calculate the positioning so this method can be expensive and the result may depend on different other settings. + */ + com::sun::star::awt::Rectangle calculateDiagramPositionExcludingAxes(); + + + /** place the outer diagram part including the axes and axes labels, but excluding the axes titles. + @param PositionRect + specifies the position and size in 100/th mm + */ + void setDiagramPositionIncludingAxes( [in] com::sun::star::awt::Rectangle PositionRect ); + + /** @returns the position rectangle of the diagram including the axes and axes labels, but excluding the axes titles. + Position and size are given in 100/th mm. + It might be necessary to calculate the positioning so this method can be expensive and the result may depend on different other settings. + */ + com::sun::star::awt::Rectangle calculateDiagramPositionIncludingAxes(); + + /** place the diagram including the axes, axes labels and axes titles. + For the placement the current axis titles are taken into account, so the titles must be initialized properly before this method is called. + @param PositionRect + specifies the position and size in 100/th mm + */ + void setDiagramPositionIncludingAxesAndAxisTitles( [in] com::sun::star::awt::Rectangle PositionRect ); + + /** @returns the position rectangle of the diagram including the axes, axes labels and axes titles. + Position and size are given in 100/th mm. + It might be necessary to calculate the positioning so this method can be expensive and the result may depend on different other settings. + */ + com::sun::star::awt::Rectangle calculateDiagramPositionIncludingAxesAndAxisTitles(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XSecondAxisTitleSupplier.idl b/offapi/com/sun/star/chart/XSecondAxisTitleSupplier.idl new file mode 100644 index 000000000..a17a02841 --- /dev/null +++ b/offapi/com/sun/star/chart/XSecondAxisTitleSupplier.idl @@ -0,0 +1,40 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_chart_XSecondAxisTitleSupplier_idl__ +#define __com_sun_star_chart_XSecondAxisTitleSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/drawing/XShape.idl> + + +module com { module sun { module star { module chart { + +interface XSecondAxisTitleSupplier: com::sun::star::uno::XInterface +{ + com::sun::star::drawing::XShape getSecondXAxisTitle(); + + com::sun::star::drawing::XShape getSecondYAxisTitle(); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XStatisticDisplay.idl b/offapi/com/sun/star/chart/XStatisticDisplay.idl new file mode 100644 index 000000000..63dfe054b --- /dev/null +++ b/offapi/com/sun/star/chart/XStatisticDisplay.idl @@ -0,0 +1,83 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_XStatisticDisplay_idl__ +#define __com_sun_star_chart_XStatisticDisplay_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + + + + module com { module sun { module star { module chart { + + +/** gives access to statistical elements for the chart. + + <p>Statistical elements are used by a + StockDiagram.</p> + + @see XChartDocument + @see StockDiagram + */ +published interface XStatisticDisplay: com::sun::star::uno::XInterface +{ + + /** @returns + the properties of the up bars of a stock chart which has + StockDiagram::UpDown set to `TRUE`. + + <p>The <em>UpBar</em> is the box that is drawn between the + open and close value of a stock, when the closing value is + above the opening value, i.e., the stock price rose.</p> + + @see ChartArea + */ + com::sun::star::beans::XPropertySet getUpBar(); + + + /** @returns + the properties of the down bars of a stock chart which has + StockDiagram::UpDown set to `TRUE`. + + <p>The <em>DownBar</em> is the box that is drawn between the + open and close value of a stock, when the closing value is + below the opening value, i.e., the stock price fell.</p> + + @see ChartArea + */ + com::sun::star::beans::XPropertySet getDownBar(); + + + /** @returns + the properties of the lines that are drawn between the + lowest and highest stock value during a day. + + @see ChartLine + */ + com::sun::star::beans::XPropertySet getMinMaxLine(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XTwoAxisXSupplier.idl b/offapi/com/sun/star/chart/XTwoAxisXSupplier.idl new file mode 100644 index 000000000..de3fa8bb9 --- /dev/null +++ b/offapi/com/sun/star/chart/XTwoAxisXSupplier.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_XTwoAxisXSupplier_idl__ +#define __com_sun_star_chart_XTwoAxisXSupplier_idl__ + +#include <com/sun/star/chart/XAxisXSupplier.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + + + + module com { module sun { module star { module chart { + + +/** gives access to both the primary and the secondary <i>x</i>-axis + of a chart. + + @see XDiagram + */ +published interface XTwoAxisXSupplier: com::sun::star::chart::XAxisXSupplier +{ + + /** @returns + the properties of the secondary <i>x</i>-axis of the + diagram. + + <p>The returned property set contains scaling properties as + well as formatting properties.</p> + + @see ChartAxis + */ + com::sun::star::beans::XPropertySet getSecondaryXAxis(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XTwoAxisYSupplier.idl b/offapi/com/sun/star/chart/XTwoAxisYSupplier.idl new file mode 100644 index 000000000..f85718155 --- /dev/null +++ b/offapi/com/sun/star/chart/XTwoAxisYSupplier.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_XTwoAxisYSupplier_idl__ +#define __com_sun_star_chart_XTwoAxisYSupplier_idl__ + +#include <com/sun/star/chart/XAxisYSupplier.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + + + + module com { module sun { module star { module chart { + + +/** gives access to both the primary and the secondary y-axis of a diagram.@see XChartDocument + */ +published interface XTwoAxisYSupplier: com::sun::star::chart::XAxisYSupplier +{ + + /** @returns + the properties of the secondary <i>y</i>-axis of the + diagram. + + <p>The returned property set contains scaling properties as + well as formatting properties.</p> + + @see ChartAxis + */ + com::sun::star::beans::XPropertySet getSecondaryYAxis(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart/XYDiagram.idl b/offapi/com/sun/star/chart/XYDiagram.idl new file mode 100644 index 000000000..8ee35ba14 --- /dev/null +++ b/offapi/com/sun/star/chart/XYDiagram.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart_XYDiagram_idl__ +#define __com_sun_star_chart_XYDiagram_idl__ + +#include <com/sun/star/chart/Diagram.idl> + +#include <com/sun/star/chart/ChartStatistics.idl> + +#include <com/sun/star/chart/ChartAxisXSupplier.idl> + +#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl> + +#include <com/sun/star/chart/LineDiagram.idl> + + + + module com { module sun { module star { module chart { + + +/** a service for X/Y diagrams (Also known as scatter charts). + + <p>The special thing about X/Y diagrams is that the first series + of data contains <i>x</i>-values. The other series contain + <i>y</i>-values. Together both form two-dimensional coordinates, + at which data points are placed.</p> + */ +published service XYDiagram +{ + service com::sun::star::chart::Diagram; + service com::sun::star::chart::ChartStatistics; + service com::sun::star::chart::ChartAxisXSupplier; + service com::sun::star::chart::ChartTwoAxisYSupplier; + service com::sun::star::chart::LineDiagram; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/Axis.idl b/offapi/com/sun/star/chart2/Axis.idl new file mode 100644 index 000000000..678d9a9a5 --- /dev/null +++ b/offapi/com/sun/star/chart2/Axis.idl @@ -0,0 +1,159 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_Axis_idl +#define com_sun_star_chart2_Axis_idl + +#include <com/sun/star/beans/PropertySet.idl> +#include <com/sun/star/awt/Size.idl> +#include <com/sun/star/chart/ChartAxisArrangeOrderType.idl> +#include <com/sun/star/chart/ChartAxisPosition.idl> +#include <com/sun/star/chart/ChartAxisLabelPosition.idl> +#include <com/sun/star/chart/ChartAxisMarkPosition.idl> +#include <com/sun/star/chart2/XAxis.idl> +#include <com/sun/star/chart2/XTitled.idl> +#include <com/sun/star/drawing/LineProperties.idl> +#include <com/sun/star/style/CharacterProperties.idl> +#include <com/sun/star/style/CharacterPropertiesAsian.idl> +#include <com/sun/star/style/CharacterPropertiesComplex.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +service Axis +{ + service ::com::sun::star::drawing::LineProperties; + + service ::com::sun::star::style::CharacterProperties; + service ::com::sun::star::beans::PropertySet; + [optional] service ::com::sun::star::style::CharacterPropertiesAsian; + [optional] service ::com::sun::star::style::CharacterPropertiesComplex; + + interface ::com::sun::star::chart2::XAxis; + [optional] interface ::com::sun::star::chart2::XTitled; + + /** Determines, whether the axis should be rendered by the view. + */ + [property] boolean Show; + + /** Determines where the axis crosses the other axis. + */ + [optional, property] com::sun::star::chart::ChartAxisPosition CrossoverPosition; + + /** Determines the scale value on the other axis when CrossoverPosition is set to VALUE. + */ + [optional, property] double CrossoverValue; + + /** Determines whether to display text at the axis or not. + */ + [property] boolean DisplayLabels; + + /** Determines where the axis labels are placed. + */ + [optional, property] com::sun::star::chart::ChartAxisLabelPosition LabelPosition; + + /** Determines how to stagger the labels at the axis (side by side, even, odd, auto ) + */ + [property] ::com::sun::star::chart::ChartAxisArrangeOrderType ArrangeOrder; + + /** Determines whether the labels are allowed to break into more than one line + */ + [property] boolean TextBreak; + + /** Determines whether the labels are allowed to overlap + */ + [property] boolean TextOverlap; + + /** Determines whether the characters in a single labels should be stacked one upon each other + */ + [property] boolean StackCharacters; + + /** Determines the rotation of the text labels in degrees + */ + [property] double TextRotation; + + /** A NumberFormat key. + + <p>If this property is not set, it is treated as auto. This + means linked to the source format.</p> + + <p>To determine a source format, the axis can query the + XDataSequences used by the data series attached + to it (see XDataSequence::getNumberFormatKeyByIndex()). + </p> + */ + [property, maybevoid] long NumberFormat; + + [property] ::com::sun::star::awt::Size ReferencePageSize; + + /** determines what kind of tickmarks should be shown for major ticks. + + @see TickmarkStyle. + */ + [property] long MajorTickmarks; + + /** determines what kind of tickmarks should be shown for minor ticks. + + @see TickmarkStyle. + */ + [property] long MinorTickmarks; + + /** Determines where the interval marks are placed. + */ + [optional, property] com::sun::star::chart::ChartAxisMarkPosition MarkPosition; + + /** Determines display units are available for axis + + @since LibreOffice 4.3 + */ + [optional, property] boolean DisplayUnits; + + /** Determines built in display unit value for axis + + @since LibreOffice 4.3 + */ + [optional, property] string BuiltInUnit; + + /** Compatibility option: determines which strategy should be tried first for fixing axis labels overlapping issues + + @since LibreOffice 5.1 + */ + [optional, property] boolean TryStaggeringFirst; + + /** This attribute specifies the shift of the first major tick from the origin. + + @since LibreOffice 7.0 + */ + [optional, property] long MajorOrigin; + +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/AxisOrientation.idl b/offapi/com/sun/star/chart2/AxisOrientation.idl new file mode 100644 index 000000000..a37c8e828 --- /dev/null +++ b/offapi/com/sun/star/chart2/AxisOrientation.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_AxisOrientation_idl +#define com_sun_star_chart2_AxisOrientation_idl + + +module com { module sun { module star { module chart2 { + + +enum AxisOrientation +{ + /** means equal to the primary writing direction + */ + MATHEMATICAL, + + /** means the opposite of the primary writing direction + */ + REVERSE +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/AxisType.idl b/offapi/com/sun/star/chart2/AxisType.idl new file mode 100644 index 000000000..291e38015 --- /dev/null +++ b/offapi/com/sun/star/chart2/AxisType.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_AxisType_idl +#define com_sun_star_chart2_AxisType_idl + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +constants AxisType +{ + /** the axis represent real numbers + */ + const long REALNUMBER = 0; + /** the axis represent real numbers in percent + */ + const long PERCENT = 1; + /** the axis represent discrete categories + */ + const long CATEGORY = 2; + /** the axis shows the series names (z axis) + */ + const long SERIES = 3; + /** the axis shows dates + */ + const long DATE = 4; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/CandleStickChartType.idl b/offapi/com/sun/star/chart2/CandleStickChartType.idl new file mode 100644 index 000000000..4399bc440 --- /dev/null +++ b/offapi/com/sun/star/chart2/CandleStickChartType.idl @@ -0,0 +1,113 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_CandleStickChartType_idl +#define com_sun_star_chart2_CandleStickChartType_idl + +#include <com/sun/star/chart2/ChartType.idl> +#include <com/sun/star/beans/PropertySet.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** chart type service for candlestick charts. + */ +service CandleStickChartType +{ + /** The base service describing generic chart types. + */ + service ChartType; + + /** If this property is `TRUE`, the candlesticks are shown as + Japanese candlesticks. This implies that the property + #ShowFirst is also `TRUE`. + + <p>Japanese candlesticks show the first and last value as + boxes. A rising course (i.e. if the last value is greater + than the first one) is shown by a white box. A falling course + is shown by a black box.</p> + + <p>Default is `FALSE`.</p> + + @see WhiteDay + @see BlackDay + */ + [maybedefault, property] boolean Japanese; + + /** If the candlestick chart shows Japanese candlesticks, that is + the property #Japanese is `TRUE`, the + property set given here contains the formatting attributes of + the white boxes, i.e. the boxes shown for rising values.</p> + + <p>The com::sun::star::beans::XPropertySet + given here must support the services + com::sun::star::drawing::FillProperties + and + com::sun::star::drawing::LineProperties.</p> + */ + [maybevoid, property] com::sun::star::beans::XPropertySet WhiteDay; + + /** If the candlestick chart shows Japanese candlesticks, that is + the property #Japanese is `TRUE`, the + property set given here contains the formatting attributes of + the black boxes, i.e. the boxes shown for falling values.</p> + + <p>The com::sun::star::beans::XPropertySet + given here must support the services + com::sun::star::drawing::FillProperties + and + com::sun::star::drawing::LineProperties.</p> + */ + [maybevoid, property] com::sun::star::beans::XPropertySet BlackDay; + + /** If this property is `TRUE`, the first value (which would be + the opening course in a stock chart) is shown in the chart. + This also makes the role "values-first" mandatory. + + <p>This property is only evaluated for non-Japanese + candlestick charts, as Japanese candlesticks always require to + show the first value.</p> + + <p>Default is `FALSE`.</p> + */ + [maybedefault, property] boolean ShowFirst; + + /** If this property is `TRUE`, the low and high values are shown + in the chart. This also makes the roles "values-min" and + "values-max" mandatory. + + <p>Default is `TRUE`.</p> + */ + [maybedefault, property] boolean ShowHighLow; +}; + +} ; // chart2 +} ; // star +} ; // sun +} ; // com + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/CartesianCoordinateSystem2d.idl b/offapi/com/sun/star/chart2/CartesianCoordinateSystem2d.idl new file mode 100644 index 000000000..c547575bf --- /dev/null +++ b/offapi/com/sun/star/chart2/CartesianCoordinateSystem2d.idl @@ -0,0 +1,35 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_CartesianCoordinateSystem2d_idl +#define com_sun_star_chart2_CartesianCoordinateSystem2d_idl + +#include <com/sun/star/chart2/XCoordinateSystem.idl> + +module com { module sun { module star { module chart2 { + +/** + @since LibreOffice 4.1 + */ +service CartesianCoordinateSystem2d : XCoordinateSystem; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/CartesianCoordinateSystem3d.idl b/offapi/com/sun/star/chart2/CartesianCoordinateSystem3d.idl new file mode 100644 index 000000000..05f475220 --- /dev/null +++ b/offapi/com/sun/star/chart2/CartesianCoordinateSystem3d.idl @@ -0,0 +1,35 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_CartesianCoordinateSystem3d_idl +#define com_sun_star_chart2_CartesianCoordinateSystem3d_idl + +#include <com/sun/star/chart2/XCoordinateSystem.idl> + +module com { module sun { module star { module chart2 { + +/** + @since LibreOffice 4.1 + */ +service CartesianCoordinateSystem3d : XCoordinateSystem; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/ChartDocument.idl b/offapi/com/sun/star/chart2/ChartDocument.idl new file mode 100644 index 000000000..8d98c205c --- /dev/null +++ b/offapi/com/sun/star/chart2/ChartDocument.idl @@ -0,0 +1,81 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_ChartDocument_idl +#define com_sun_star_chart2_ChartDocument_idl + +#include <com/sun/star/style/XStyleFamiliesSupplier.idl> +#include <com/sun/star/util/XNumberFormatsSupplier.idl> +#include <com/sun/star/chart2/XChartDocument.idl> +#include <com/sun/star/chart2/data/XDataReceiver.idl> +#include <com/sun/star/chart2/XTitled.idl> +#include <com/sun/star/lang/XInitialization.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +service ChartDocument +{ + /** this interface is derived from + com::sun::star::frame::XModel. Thus model + functionality is available via this interface. + */ + interface XChartDocument; + + /** offers connection to data + */ + interface data::XDataReceiver; + + /** gives access to the main title of a chart document + */ + interface XTitled; + + /** maintains all style families applying to any object in the + chart. + */ + interface ::com::sun::star::style::XStyleFamiliesSupplier; + + /** maintains all number formats used anywhere in the chart. + */ + interface ::com::sun::star::util::XNumberFormatsSupplier; + + /** Allows passing arguments to createInstanceWithArguments. + + <p>The following arguments are allowed in the given order:</p> + + <ol> + <li>string Name</li> + </ol> + */ + [optional] interface ::com::sun::star::lang::XInitialization; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/ChartDocumentWrapper.idl b/offapi/com/sun/star/chart2/ChartDocumentWrapper.idl new file mode 100644 index 000000000..acfbc7634 --- /dev/null +++ b/offapi/com/sun/star/chart2/ChartDocumentWrapper.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_ChartDocumentWrapper_idl +#define com_sun_star_chart2_ChartDocumentWrapper_idl + +#include <com/sun/star/chart/ChartDocument.idl> +#include <com/sun/star/uno/XAggregation.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** A component that implements the + ::com::sun::star::chart::ChartDocument service and + is initialized with a + ::com::sun::star::chart2::ChartDocument via + the ::com::sun::star::uno::XAggregation interface. + */ +service ChartDocumentWrapper +{ + /** This service will be available for a + ChartDocument (of namespace chart2) through this + wrapper. + */ + service ::com::sun::star::chart::ChartDocument; + + /** provides the possibility to forward requests to a + ChartDocument. + */ + interface ::com::sun::star::uno::XAggregation; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/ChartType.idl b/offapi/com/sun/star/chart2/ChartType.idl new file mode 100644 index 000000000..e56b5fa8b --- /dev/null +++ b/offapi/com/sun/star/chart2/ChartType.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_ChartType_idl +#define com_sun_star_chart2_ChartType_idl + +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/chart2/XChartType.idl> +#include <com/sun/star/chart2/XDataSeriesContainer.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** ChartType service + */ +service ChartType +{ + interface XChartType; + + interface XDataSeriesContainer; + + /** provides chart-type-specific properties + */ + [optional] interface com::sun::star::beans::XPropertySet; +}; + +} ; // chart2 +} ; // star +} ; // sun +} ; // com + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/ChartTypeManager.idl b/offapi/com/sun/star/chart2/ChartTypeManager.idl new file mode 100644 index 000000000..cba0f3fed --- /dev/null +++ b/offapi/com/sun/star/chart2/ChartTypeManager.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_ChartTypeManager_idl +#define com_sun_star_chart2_ChartTypeManager_idl + +#include <com/sun/star/lang/MultiServiceFactory.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** A factory for creating ChartTypeTemplates. + */ +service ChartTypeManager +{ + /** A factory for creating objects the support the service + ChartTypeTemplate. + */ + service ::com::sun::star::lang::MultiServiceFactory; +}; + +} ; // chart2 +} ; // star +} ; // sun +} ; // com + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/ChartTypeTemplate.idl b/offapi/com/sun/star/chart2/ChartTypeTemplate.idl new file mode 100644 index 000000000..e2f74c2ba --- /dev/null +++ b/offapi/com/sun/star/chart2/ChartTypeTemplate.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_ChartTypeTemplate_idl +#define com_sun_star_chart2_ChartTypeTemplate_idl + +#include <com/sun/star/chart2/XChartTypeTemplate.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +service ChartTypeTemplate +{ + interface ::com::sun::star::chart2::XChartTypeTemplate; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/CoordinateSystem.idl b/offapi/com/sun/star/chart2/CoordinateSystem.idl new file mode 100644 index 000000000..8059c31c1 --- /dev/null +++ b/offapi/com/sun/star/chart2/CoordinateSystem.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_CoordinateSystem_idl +#define com_sun_star_chart2_CoordinateSystem_idl + +#include <com/sun/star/util/XCloneable.idl> +#include <com/sun/star/chart2/XChartTypeContainer.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +service CoordinateSystem +{ + interface XCoordinateSystem; + + /** a coordinate system can contain several chart types, which then do contain the data series. + */ + interface com::sun::star::chart2::XChartTypeContainer; + + /** creates a new CoordinateSystem that contains the same + members like the original object. Note that the contained + XScales are still the same objects, i.e. those are not cloned. + */ + [optional] interface com::sun::star::util::XCloneable; + + [optional, property] boolean SwapXAndYAxis; +}; + +} ; // chart2 +} ; // star +} ; // sun +} ; // com + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/CoordinateSystemType.idl b/offapi/com/sun/star/chart2/CoordinateSystemType.idl new file mode 100644 index 000000000..f7ed60bd2 --- /dev/null +++ b/offapi/com/sun/star/chart2/CoordinateSystemType.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_CoordinateSystemType_idl +#define com_sun_star_chart2_CoordinateSystemType_idl + + +module com { module sun { module star { module chart2 { + +/** +<p> +The service CoordinateSystemType represents a special type of coordinate system. +For example a 2 dimensional Cartesian coordinate system is a CoordinateSystemType +and different from for example a 3 dimensional spherical coordinate system. +</p> +<p>A CoordinateSystemType is a stateless service which has no owner and does not +enable cyclic references, thus its lifetime can be handled by reference or it +may be implemented as a singleton.</p> +*/ + +service CoordinateSystemType +{ + /** required interface + */ +// interface ::com::sun::star::chart2::XCoordinateSystemType; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/CoordinateSystemTypeID.idl b/offapi/com/sun/star/chart2/CoordinateSystemTypeID.idl new file mode 100644 index 000000000..7d8f9fa4e --- /dev/null +++ b/offapi/com/sun/star/chart2/CoordinateSystemTypeID.idl @@ -0,0 +1,35 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_CoordinateSystemTypeID_idl +#define com_sun_star_chart2_CoordinateSystemTypeID_idl + + + +module com { module sun { module star { module chart2 { + + +typedef string CoordinateSystemTypeID; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/CurveStyle.idl b/offapi/com/sun/star/chart2/CurveStyle.idl new file mode 100644 index 000000000..605477620 --- /dev/null +++ b/offapi/com/sun/star/chart2/CurveStyle.idl @@ -0,0 +1,115 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_CurveStyle_idl +#define com_sun_star_chart2_CurveStyle_idl + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** Sets the type of curves that are drawn for line charts. + */ +enum CurveStyle +{ + /** Lines between data points are not smoothed + */ + LINES, + + /** Data points are connected via a smoothed cubic spline curve. + The data points themselves are part of to the curve. + */ + CUBIC_SPLINES, + + /** Data points are connected via a parametric, interpolating + B-spline curve. + */ + B_SPLINES, + + /** + * Non-uniform rational b-splines + */ + NURBS, + + /** Data points are connected via a 2-segmented stepped line. + The line starts horizontally. + + \verbatim + O + | + | + | + O-----+ + \endverbatim + */ + STEP_START, + + /** Data points are connected via a 2-segmented stepped line. + The line ends horizontally. + + \verbatim + +------O + | + | + | + O + \endverbatim + */ + STEP_END, + + /** Data points are connected via a 3-segmented stepped line. + The lines is horizontal till the center of the X values. + + \verbatim + +--O + | + | + | + O--+ + \endverbatim + */ + STEP_CENTER_X, + + /** Data points are connected via a 3-segmented stepped line. + The lines is horizontal at the center of the Y values. + + \verbatim + O + | + +-----+ + | + O + \endverbatim + */ + STEP_CENTER_Y +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/DataPoint.idl b/offapi/com/sun/star/chart2/DataPoint.idl new file mode 100644 index 000000000..f3810f9e7 --- /dev/null +++ b/offapi/com/sun/star/chart2/DataPoint.idl @@ -0,0 +1,69 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_DataPoint_idl +#define com_sun_star_chart2_DataPoint_idl + +#include <com/sun/star/style/CharacterProperties.idl> +#include <com/sun/star/style/CharacterPropertiesAsian.idl> +#include <com/sun/star/style/CharacterPropertiesComplex.idl> +#include <com/sun/star/style/XStyle.idl> +#include <com/sun/star/chart2/DataPointProperties.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +service DataPoint +{ + service DataPointProperties; + + service ::com::sun::star::style::CharacterProperties; + [optional] service ::com::sun::star::style::CharacterPropertiesAsian; + [optional] service ::com::sun::star::style::CharacterPropertiesComplex; + + + /** this property handles the style. This property must support + the service com::sun::star::style::Style. + + <p>It should provide templates for all properties in this + service, thus it must also support DataPoint.</p> + */ +// [property] ::com::sun::star::style::XStyle Style; + + /** Gives the offset of the data point. For PieDiagrams this + would be the percentage by which pies are dragged out of the + cake. + */ + [optional, property] double Offset; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/DataPointCustomLabelField.idl b/offapi/com/sun/star/chart2/DataPointCustomLabelField.idl new file mode 100644 index 000000000..cebe1c327 --- /dev/null +++ b/offapi/com/sun/star/chart2/DataPointCustomLabelField.idl @@ -0,0 +1,26 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef com_sun_star_chart2_DataPointCustomLabelField_idl +#define com_sun_star_chart2_DataPointCustomLabelField_idl + +#include <com/sun/star/chart2/XDataPointCustomLabelField.idl> + +module com { module sun { module star { module chart2 { + +/** + @since LibreOffice 6.1 +*/ +service DataPointCustomLabelField : XDataPointCustomLabelField; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
\ No newline at end of file diff --git a/offapi/com/sun/star/chart2/DataPointCustomLabelFieldType.idl b/offapi/com/sun/star/chart2/DataPointCustomLabelFieldType.idl new file mode 100644 index 000000000..f5ea79ca6 --- /dev/null +++ b/offapi/com/sun/star/chart2/DataPointCustomLabelFieldType.idl @@ -0,0 +1,35 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef com_sun_star_chart2_DataPointCustomLabelFieldType_idl +#define com_sun_star_chart2_DataPointCustomLabelFieldType_idl + +module com { module sun { module star { module chart2 { + +/** The Field type enumeration for custom data point labels. + + @since LibreOffice 6.1 + */ +enum DataPointCustomLabelFieldType +{ + TEXT, + VALUE, + SERIESNAME, + CATEGORYNAME, + CELLREF, + NEWLINE, + PERCENTAGE, + CELLRANGE +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/offapi/com/sun/star/chart2/DataPointGeometry3D.idl b/offapi/com/sun/star/chart2/DataPointGeometry3D.idl new file mode 100644 index 000000000..4281c8583 --- /dev/null +++ b/offapi/com/sun/star/chart2/DataPointGeometry3D.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_chart2_datapointgeometry3d_idl__ +#define __com_sun_star_chart2_datapointgeometry3d_idl__ + + + + module com { module sun { module star { module chart2 { + + +/** These values specify the geometry of data points in + 3D bar charts. + */ +constants DataPointGeometry3D +{ + + /** a cuboid + */ + const long CUBOID = 0; + + + /** a cylinder with a circle as base + */ + const long CYLINDER = 1; + + + /** a cone with a circle as base + */ + const long CONE = 2; + + + /** a pyramid with a square as base + */ + const long PYRAMID = 3; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/DataPointLabel.idl b/offapi/com/sun/star/chart2/DataPointLabel.idl new file mode 100644 index 000000000..4b7f27c20 --- /dev/null +++ b/offapi/com/sun/star/chart2/DataPointLabel.idl @@ -0,0 +1,84 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_DataPointLabel_idl +#define com_sun_star_chart2_DataPointLabel_idl + + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +struct DataPointLabel +{ + /** if `TRUE`, the value that is represented by a data point is + displayed next to it. + + @see #ShowNumberInPercent + */ + boolean ShowNumber; + + /** This is only effective, if #ShowNumber is + `TRUE`. If this member is also `TRUE`, the numbers are + displayed as percentages of a category. + + <p>That means, if a data point is the first one of a series, + the percentage is calculated by using the first data points of + all available series.</p> + */ + boolean ShowNumberInPercent; + + /** The caption contains the category name of the category to + which a data point belongs. + */ + boolean ShowCategoryName; + + /** The symbol of data series is additionally displayed in the + caption. + */ + boolean ShowLegendSymbol; + + /** The caption contains a custom label text, which belongs + to a data point label. + + @since LibreOffice 7.1 + */ + boolean ShowCustomLabel; + + /** The name of the data series is additionally displayed in the caption. + + @since LibreOffice 7.2 + */ + boolean ShowSeriesName; +}; + + + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/DataPointProperties.idl b/offapi/com/sun/star/chart2/DataPointProperties.idl new file mode 100644 index 000000000..4588b5bb9 --- /dev/null +++ b/offapi/com/sun/star/chart2/DataPointProperties.idl @@ -0,0 +1,347 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_DataPointProperties_idl +#define com_sun_star_chart2_DataPointProperties_idl + +#include <com/sun/star/beans/PropertySet.idl> +#include <com/sun/star/drawing/FillProperties.idl> +#include <com/sun/star/awt/Gradient.idl> +#include <com/sun/star/style/XStyle.idl> +#include <com/sun/star/drawing/Hatch.idl> +#include <com/sun/star/drawing/LineDash.idl> +#include <com/sun/star/drawing/BitmapMode.idl> +#include <com/sun/star/drawing/FillStyle.idl> +#include <com/sun/star/drawing/LineStyle.idl> +#include <com/sun/star/drawing/RectanglePoint.idl> +#include <com/sun/star/chart2/DataPointLabel.idl> +#include <com/sun/star/chart2/Symbol.idl> +#include <com/sun/star/chart2/XFormattedString2.idl> +#include <com/sun/star/chart2/RelativePosition.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +service DataPointProperties +{ + /** to give access to the properties required by this service. + */ + service ::com::sun::star::beans::PropertySet; + + /** to give access to the fill properties + + Note that there is access for some of them + through some alias. + + @since LibreOffice 5.1 + */ + service ::com::sun::star::drawing::FillProperties; + + + /** points to a style that also supports this service (but not + this property) that is used as default, if the PropertyState + of a property is <code>DEFAULT_VALUE</code>. + */ +// [optional, property] ::com::sun::star::style::XStyle Style; + + // Common Properties + + + /** This is the main color of a data point. + + <p>For charts with filled areas, like bar-charts, this should + map to the <code>FillColor</code> of the objects. For + line-charts this should map to the <code>LineColor</code> + property.</p> + + @see com::sun::star::drawing::FillProperties + @see com::sun::star::drawing::LineProperties + */ + [property] long Color; + + /** This is the main transparency value of a data point. + + <p>For charts with filled areas, like bar-charts, this should + map to the <code>FillTransparence</code> of the objects. For + line-charts this should map to the + <code>LineTransparence</code> property.</p> + + @see com::sun::star::drawing::FillProperties + @see com::sun::star::drawing::LineProperties + */ + [property] short Transparency; + + + // Fill Properties + + /** This enumeration selects the style with which the area will be filled. + */ + [property] ::com::sun::star::drawing::FillStyle FillStyle; + + /** This describes the transparency of the fill area as a gradient. + */ + [optional, property] ::com::sun::star::awt::Gradient TransparencyGradient; + [optional, property] ::com::sun::star::awt::Gradient Gradient; + [optional, property] ::com::sun::star::drawing::Hatch Hatch; + + [property] string TransparencyGradientName; + [property] string GradientName; + [property] string HatchName; + [property] string FillBitmapName; + + /** If `TRUE`, fills the background of a hatch with the color + given in the #Color property. + */ + [property] boolean FillBackground; + + /** Is used for borders around filled objects. See + <code>LineColor</code>. + + @see com::sun::star::drawing::LineProperties + */ + [property] long BorderColor; + /** Is used for borders around filled objects. See + <code>LineStyle</code>. + + @see com::sun::star::drawing::LineProperties + */ + [property] ::com::sun::star::drawing::LineStyle BorderStyle; + /** Is used for borders around filled objects. See + <code>LineWidth</code>. + + @see com::sun::star::drawing::LineProperties + */ + [property] long BorderWidth; + /** Is used for borders around filled objects. See + <code>LineDash</code>. + + @see com::sun::star::drawing::LineProperties + */ + [property] ::com::sun::star::drawing::LineDash BorderDash; + + /** The name of a dash that can be found in the + com::sun::star::container::XNameContainer + "com.sun.star.drawing.LineDashTable", that can be created via + the + com::sun::star::uno::XMultiServiceFactory + of the ChartDocument. + */ + [optional, property] string BorderDashName; + + /** Is used for borders around filled objects. See + <code>LineTransparence</code>. + + @see com::sun::star::drawing::LineProperties + */ + [optional, property] short BorderTransparency; + + + // Line Properties + [property] ::com::sun::star::drawing::LineStyle LineStyle; + /** Is only used for line-chart types. + + @see com::sun::star::drawing::LineProperties + */ + [property] long LineWidth; + /** Is only used for line-chart types. + + @see com::sun::star::drawing::LineProperties + */ + [property] ::com::sun::star::drawing::LineDash LineDash; + + /** The name of a dash that can be found in the + com::sun::star::container::XNameContainer + "com.sun.star.drawing.LineDashTable", that can be created via + the + com::sun::star::uno::XMultiServiceFactory + of the ChartDocument. + */ + [optional, property] string LineDashName; + + + // bitmap properties /copied from drawing::FillProperties + + /** This is the horizontal offset where the tile starts. + + <p>It is given in percent in relation to the width of the bitmap. + */ + [property] short FillBitmapOffsetX; + + /** This is the vertical offset where the tile starts. + + It is given in percent in relation to the width of the bitmap. + */ + [property] short FillBitmapOffsetY; + + /** Every second line of tiles is moved the given percent of the + width of the bitmap. + */ + [property] short FillBitmapPositionOffsetX; + + /** Every second row of tiles is moved the given percent of the + width of the bitmap. + */ + [property] short FillBitmapPositionOffsetY; + + /** The RectanglePoint specifies the position inside of the bitmap to + use as the top left position for rendering. + */ + [property] com::sun::star::drawing::RectanglePoint FillBitmapRectanglePoint; + + /** specifies if the size is given in percentage or + as an absolute value. + + <p>If this is `TRUE`, the properties FillBitmapSizeX + and FillBitmapSizeY contain the size of the tile in percent + of the size of the original bitmap. If this + is `FALSE`, the size of the tile is specified + with 1/100th mm. + */ + [property] boolean FillBitmapLogicalSize; + + /** This is the width of the tile for filling. + + <p>Depending on the property FillBitmapLogicalSize, this is + either relative or absolute. + */ + [property] long FillBitmapSizeX; + + /** This is the height of the tile for filling. + + <p>Depending on the property FillBitmapLogicalSize, this + is either relative or absolute. + */ + [property] long FillBitmapSizeY; + + /** this enum selects how an area is filled with a single bitmap. + */ + [property] com::sun::star::drawing::BitmapMode FillBitmapMode; + + + /** + */ + [optional, property] Symbol Symbol; + + /** describes a value by which a data point is moved from its + default position in percent of the maximum allowed distance. + + <p>This is especially useful for the explosion of pie-chart + segments.</p> + */ + [optional, property] double Offset; + + /** describes the geometry of a 3 dimensional data point. + Number is one of constant group DataPointGeometry3D. + <p>This is especially used for 3D bar-charts.</p> + <p>CUBOID==0 CYLINDER==1 CONE==2 PYRAMID==3 CUBOID==else</p> + */ + [optional, property] long Geometry3D; + + [property] DataPointLabel Label; + + /** specifies a text with possible fields that is used as a data point label, + if set then Label property is ignored + + @since LibreOffice 6.1 + */ + [optional, property] sequence<XDataPointCustomLabelField> CustomLabelFields; + + /** specifies a string that is used to separate the parts of a data label (caption) + */ + [optional, property] string LabelSeparator; + + /** specifies if the text of a data label (caption) must be wrapped + + @since LibreOffice 5.1 + */ + [optional, property] boolean TextWordWrap; + + /** specifies a number format for the display of the value in the data label + */ + [optional, property] long NumberFormat; + + /** specifies a number format for the display of the percentage value in the data label + */ + [optional, property] long PercentageNumberFormat; + + /** specifies a relative position for the data label + + @see ::com::sun::star::chart::DataLabelPlacement + */ + [optional, property] long LabelPlacement; + + /** The size of the page at the moment when the font size for + data labels was set. + + <p>This size is used to resize text in the view when the size + of the page has changed since the font sizes were set + (automatic text scaling).</p> + */ + [maybevoid, property] com::sun::star::awt::Size ReferencePageSize; + + // statistics + + /** If void, no error bars are shown for the data point in + x-direction. + + <p>The com::sun::star::beans::XPropertySet + must support the service ErrorBar.</p> + */ + [optional, maybevoid, property] com::sun::star::beans::XPropertySet ErrorBarX; + + /** If void, no error bars are shown for the data point in + y-direction. + + <p>The com::sun::star::beans::XPropertySet + must support the service ErrorBar.</p> + */ + [optional, maybevoid, property] com::sun::star::beans::XPropertySet ErrorBarY; + + /** In case #ErrorBarX and + #ErrorBarY both are set, and error bars are + shown, a box spanning all error-indicators is rendered. + */ + [optional, maybevoid, property] boolean ShowErrorBox; + + + /** A value between 0 and 100 indicating the percentage how round an edge should be. + */ + [optional, maybevoid, property] short PercentDiagonal; + + /** Custom position on the page associated to the CUSTOM label placement. + + @since LibreOffice 7.0 + */ + [optional, maybevoid, property] ::com::sun::star::chart2::RelativePosition CustomLabelPosition; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/DataSeries.idl b/offapi/com/sun/star/chart2/DataSeries.idl new file mode 100644 index 000000000..11d4f5290 --- /dev/null +++ b/offapi/com/sun/star/chart2/DataSeries.idl @@ -0,0 +1,207 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_DataSeries_idl +#define com_sun_star_chart2_DataSeries_idl + +#include <com/sun/star/beans/PropertySet.idl> +#include <com/sun/star/container/XIndexContainer.idl> +#include <com/sun/star/container/XContainer.idl> +#include <com/sun/star/chart2/DataPointProperties.idl> +#include <com/sun/star/chart2/StackingDirection.idl> +#include <com/sun/star/chart2/XDataSeries.idl> +#include <com/sun/star/chart2/XRegressionCurveContainer.idl> +#include <com/sun/star/chart2/data/XDataSink.idl> +#include <com/sun/star/chart2/data/XDataSource.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + + // NOTES + + // ability to be combined - data series combiner (another component?) + // coordinatesystem-supplier + // chart-type ? property string rendererServiceName + + +/** reflects the model data of the object that has all the information + for a DataRenderer to create a visible data series in + a chart. + + <p>It combines one or more DataSequences which are + interpreted by evaluating their role-string.</p> + + @see DataSequenceRole + */ +service DataSeries +{ + /** allows to connect a CoordinateSystem to a DataSeries + */ +// service CoordinateSystemSupplier; + +// service ChartTypeSupplier; + /** the property interface by which the properties of all + supported services are exchanged + */ + service ::com::sun::star::beans::PropertySet; + + /** these properties serve as default for data points. + + <p>So, an attribute for a data point comes from one point in + the following hierarchy:</p> + + <ul> + <li>default value of data series</li> + <li>value from style of data series (if a style was set)</li> + <li>value from hard attribute of data series (set with setPropertyValue)</li> + <li>value from style of data point (if a style was set)</li> + <li>value from hard attribute of data point (set with setPropertyValue)</li> + </ul> + */ + service DataPointProperties; + + + /** allows setting a coordinate-system + */ + interface XDataSeries; + + /** allows attaching data sequences to a series. + */ + interface data::XDataSink; + + /** allows querying the data that was set. + */ + interface data::XDataSource; + + /** gives access to the data points contained in a data series. + + <p>The objects returned by the + com::sun::star::container::XIndexAccess + are of type + com::sun::star::beans::XPropertySet + and support the service + DataPoint. + */ +// interface ::com::sun::star::container::XIndexContainer; + + /** establishes a broadcaster-listener mechanism for the + com::sun::star::container::XIndexContainer + to keep changes and the property + DataSeries::AttributedDataPoints in sync. + */ +// interface ::com::sun::star::container::XContainer; + + /** Holds regression curves (aka trend-lines) for a data series. + */ + [optional] interface XRegressionCurveContainer; + + + /** This service will be used to render this data series. + + <p>This service name can be used to determine which DataSeries + are of the same type.</p> + + <p>The result of the + DataSeries::DataSequenceRoles depends on the + renderer service set here.</p> + */ + // stored at the DataSeriesGroup now +// [property] string DataRendererServiceName; + + /** a sequence of indexes denoting which data points have set + properties that differ from the default. + + <p>The default values are determined by the properties set at + the #DataPointProperties of the data + series.</p> + + <p>If the sequence is empty, that means that all data points + look alike. They are formatted using the property values set + in the data series.</p> + + <p>The indexes in this sequence match the indexes used by the + XIndexContainer.</p> + + <p>This property is especially useful for large data series + with only some formatted data points, because you do not have + to iterate over all elements.</p> + */ + [readonly, optional, property] sequence< long > AttributedDataPoints; + + /** indicates whether this series should be stacked with respect to the previous series. + */ + [property] StackingDirection StackingDirection; + + /** If `TRUE`, the data points of this series get different + colors by default, like in a pie chart. + */ + [optional, property] boolean VaryColorsByPoint; + + /** This property describes whether the series should be shown at + the main value axis or at the secondary value axis. Having + this property not set or setting it to 0 means that this data + series will be scaled at the primary y-axis ( of the + coordinate system in which this series is hosted ). + + <p>Setting this property to 1 means that this series should be + scaled at the secondary y-axis. If there is no secondary axis + the main axis should be used for scaling instead.</p> + + <p>If you want to scale a series at a different x or z axis + you need to create an additional coordinate system and host + this series there.</p> + */ + [optional, property] long AttachedAxisIndex; + + /** This property describes whether the legend entry for the + the data series should be shown. + + @since LibreOffice 6.3 + */ + [optional, property] boolean ShowLegendEntry; + + /** A sequence of indexes denoting which data points shouldn't be + shown in the legend. + + @since LibreOffice 7.0 + */ + [optional, property] sequence<long> DeletedLegendEntries; + + /** This property describes whether the data point and the data label + are connected with a leader line. + + @since LibreOffice 7.1 + */ + [optional, property] boolean ShowCustomLeaderLines; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/Diagram.idl b/offapi/com/sun/star/chart2/Diagram.idl new file mode 100644 index 000000000..2ae557e64 --- /dev/null +++ b/offapi/com/sun/star/chart2/Diagram.idl @@ -0,0 +1,129 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_Diagram_idl +#define com_sun_star_chart2_Diagram_idl + +#include <com/sun/star/chart2/XDiagram.idl> +#include <com/sun/star/chart2/XCoordinateSystemContainer.idl> +#include <com/sun/star/chart2/XTitled.idl> +#include <com/sun/star/chart2/RelativePosition.idl> +#include <com/sun/star/chart2/RelativeSize.idl> +#include <com/sun/star/chart/X3DDefaultSetter.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +service Diagram +{ + interface ::com::sun::star::chart2::XDiagram; + + interface ::com::sun::star::chart2::XCoordinateSystemContainer; + + /** gives access to the sub title of a chart document + */ + interface XTitled; + + /** makes it easy to set suitable defaults for illumination and rotation for 3D charts + */ + [optional] interface ::com::sun::star::chart::X3DDefaultSetter; + + /** The position is as a relative position on the page. + + <p>If a relative position is given the diagram is not automatically placed, + but instead is placed relative on the page.</p> + */ + [property, maybevoid] ::com::sun::star::chart2::RelativePosition RelativePosition; + + /** The size of the diagram as relative size of the page size. + */ + [property] ::com::sun::star::chart2::RelativeSize RelativeSize; + + /** The attributes RelativePosition and RelativeSize should be used for the inner coordinate region without axis labels and without data labels. + */ + [optional, property] boolean PosSizeExcludeLabels; + + /** Sort data points by x values for rendering + */ + [optional, property] boolean SortByXValues; + + /** Draw connection lines for stacked bar charts. + */ + [optional, property] boolean ConnectBars; + + /** If bars of a bar or column chart are attached to different + axis, this property determines how to display those. If + `TRUE`, the bars are grouped together in one block for each + axis, thus they are painted one group over the other. + + <p>If `FALSE`, the bars are displayed side-by-side, as if + they were all attached to the same axis.</p> + + <p>If all data series of a bar or column chart are attached to + only one axis, this property has no effect.</p> + */ + [optional, property] boolean GroupBarsPerAxis; + + /** Starting angle in degrees for pie charts and doughnut charts. + */ + [optional, property] long StartingAngle; + + [optional, property] boolean RightAngledAxes; + + /** Chart Datatable flags + */ + [optional, property] boolean DataTableHBorder; + [optional, property] boolean DataTableVBorder; + [optional, property] boolean DataTableOutline; + + /** Perspective of 3D charts ( [0,100] ). + */ + [optional, property] long Perspective; + + /** Horizontal rotation of 3D charts in degrees ( ]-180,180] ). + */ + [optional, property] long RotationHorizontal; + + /** Vertical rotation of 3D charts in degrees ( ]-180,180] ). + */ + [optional, property] long RotationVertical; + + /** specifies how empty or invalid cells in the provided data should be handled when displayed + + @see ::com::sun::star::chart::MissingValueTreatment + */ + [optional, property] long MissingValueTreatment; + + [optional, property] string ExternalData; + +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/ErrorBar.idl b/offapi/com/sun/star/chart2/ErrorBar.idl new file mode 100644 index 000000000..7d022141c --- /dev/null +++ b/offapi/com/sun/star/chart2/ErrorBar.idl @@ -0,0 +1,74 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_ErrorBar_idl +#define com_sun_star_chart2_ErrorBar_idl + +#include <com/sun/star/drawing/LineProperties.idl> +#include <com/sun/star/chart/ErrorBarStyle.idl> +#include <com/sun/star/chart2/data/XDataSink.idl> +#include <com/sun/star/chart2/data/XDataSource.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +service ErrorBar +{ + service ::com::sun::star::drawing::LineProperties; + + /** allows attaching data sequences to the error bars. + @see data::DataSequenceRole + */ + [optional] interface data::XDataSink; + + /** allows querying data sequences that were set at error bars. + @see data::DataSequenceRole + */ + [optional] interface data::XDataSource; + /** + @see ::com::sun::star::chart::ErrorBarStyle + */ + [property] long ErrorBarStyle; + + [property] double PositiveError; + + [property] double NegativeError; + + /** The weight for the standard deviation. + */ + [property] double Weight; + + [property] boolean ShowPositiveError; + + [property] boolean ShowNegativeError; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/ExponentialRegressionCurve.idl b/offapi/com/sun/star/chart2/ExponentialRegressionCurve.idl new file mode 100644 index 000000000..b9e94650e --- /dev/null +++ b/offapi/com/sun/star/chart2/ExponentialRegressionCurve.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_ExponentialRegressionCurve_idl +#define com_sun_star_chart2_ExponentialRegressionCurve_idl + +#include <com/sun/star/chart2/XRegressionCurve.idl> + + +module com { module sun { module star { module chart2 { + + +/** + @since LibreOffice 4.1 +*/ +service ExponentialRegressionCurve : com::sun::star::chart2::XRegressionCurve; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/ExponentialScaling.idl b/offapi/com/sun/star/chart2/ExponentialScaling.idl new file mode 100644 index 000000000..edd740636 --- /dev/null +++ b/offapi/com/sun/star/chart2/ExponentialScaling.idl @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_ExponentialScaling_idl +#define com_sun_star_chart2_ExponentialScaling_idl + +#include <com/sun/star/chart2/XScaling.idl> + + +module com { module sun { module star { module chart2 { + + +/** Scaling that scales a value <em>x</em> by taking the power of the + base to <em>x</em>. + + <p>If not mentioned explicitly, the base for the power function is + 10.0</p> +*/ +service ExponentialScaling : com::sun::star::chart2::XScaling; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/FillBitmap.idl b/offapi/com/sun/star/chart2/FillBitmap.idl new file mode 100644 index 000000000..7f0aabbb8 --- /dev/null +++ b/offapi/com/sun/star/chart2/FillBitmap.idl @@ -0,0 +1,100 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_FillBitmap_idl +#define com_sun_star_chart2_FillBitmap_idl + +#include <com/sun/star/awt/Point.idl> +#include <com/sun/star/awt/Size.idl> +#include <com/sun/star/drawing/BitmapMode.idl> +#include <com/sun/star/drawing/RectanglePoint.idl> + + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** This structure contains all properties of a bitmap when used as + FillStyle. + + @see com::sun::star::drawing::FillProperties + */ +struct FillBitmap +{ + /** a URL to the bitmap used. This may be an internal URL of the + graphics manager. + */ + string aURL; + + /** This is the horizontal and vertical offset where the tile + starts. + + <p>It is given in percent in relation to the width of the + bitmap.</p> + */ + com::sun::star::awt::Point aOffset; + + /** Every second line (X) / row (Y) of tiles is moved the given + percent of the width of the bitmap. + */ + com::sun::star::awt::Point aPositionOffset; + + /** The RectanglePoint specifies the position inside of the bitmap + to use as the top left position for rendering. + */ + com::sun::star::drawing::RectanglePoint aRectanglePoint; + + /** specifies if the size is given in percentage or as an absolute + value. + + <p>If this is `TRUE`, the properties SizeX and + SizeY contain the size of the tile in percent of the + size of the original bitmap. If this is `FALSE`, the size of + the tile is specified with 1/100th mm.</p> + */ + boolean bLogicalSize; + + /** This is the size of the tile for filling. + + <p>Depending on the property LogicalSize, this is + either relative or absolute.</p> + */ + com::sun::star::awt::Size aSize; + + /** this enum selects how an area is filled with a single bitmap. + + <p>It may be repeated, stretched or displayed with blank space + around it.</p> + */ + com::sun::star::drawing::BitmapMode aBitmapMode; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/FormattedString.idl b/offapi/com/sun/star/chart2/FormattedString.idl new file mode 100644 index 000000000..e4d80e7ef --- /dev/null +++ b/offapi/com/sun/star/chart2/FormattedString.idl @@ -0,0 +1,33 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_FormattedString_idl +#define com_sun_star_chart2_FormattedString_idl + +#include <com/sun/star/chart2/XFormattedString2.idl> + +module com { module sun { module star { module chart2 { + +service FormattedString : XFormattedString2; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/GridProperties.idl b/offapi/com/sun/star/chart2/GridProperties.idl new file mode 100644 index 000000000..0db23604d --- /dev/null +++ b/offapi/com/sun/star/chart2/GridProperties.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_GridProperties_idl +#define com_sun_star_chart2_GridProperties_idl + +#include <com/sun/star/drawing/LineProperties.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** Must be supported by all grids + */ +service GridProperties +{ + /** properties for formatting the grid lines + */ + service ::com::sun::star::drawing::LineProperties; + + /** Determines, whether the grid should be rendered by the view. + */ + [property] boolean Show; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/IncrementData.idl b/offapi/com/sun/star/chart2/IncrementData.idl new file mode 100644 index 000000000..289792e7d --- /dev/null +++ b/offapi/com/sun/star/chart2/IncrementData.idl @@ -0,0 +1,83 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_IncrementData_idl +#define com_sun_star_chart2_IncrementData_idl + +#include <com/sun/star/chart2/SubIncrement.idl> + + +module com { module sun { module star { module chart2 { + + +/** An IncrementData describes how tickmarks are positioned on the scale of an axis. + +@see Axis +@see Grid +@see Scale +@see XScaling +*/ +struct IncrementData +{ + /** if the any contains a double value this is used as a fixed + Distance value. Otherwise, if the any is empty or contains an + incompatible type, the Distance is meant to be calculated + automatically by the view component representing the model + containing this increment. + */ + any Distance; + + /** + #PostEquidistant rules whether the member #Distance + describes a distance before or after the scaling is applied. + + <p>If #PostEquidistant equals `TRUE` #Distance + is given in values after XScaling is applied, thus resulting + main tickmarks will always look equidistant on the screen. + If #PostEquidistant equals `FALSE` #Distance + is given in values before XScaling is applied.</p> + */ + any PostEquidistant; + + /** if the any contains a double value this is used as a fixed + BaseValue. Otherwise, if the any is empty or contains an + incompatible type, the BaseValue is meant to be calculated + automatically by the view component representing the model + containing this increment. + */ + any BaseValue; + + /** #SubIncrements describes the positioning of further + sub tickmarks on the scale of an axis. + + <p>The first SubIncrement in this sequence determines how the + distance between two neighboring main tickmarks is divided for positioning + of further sub tickmarks. Every following SubIncrement determines the + positions of subsequent tickmarks in relation to their parent tickmarks + given by the preceding SubIncrement.</p> + */ + sequence< SubIncrement > SubIncrements; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/Legend.idl b/offapi/com/sun/star/chart2/Legend.idl new file mode 100644 index 000000000..805e90da6 --- /dev/null +++ b/offapi/com/sun/star/chart2/Legend.idl @@ -0,0 +1,102 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_Legend_idl +#define com_sun_star_chart2_Legend_idl + +#include <com/sun/star/chart2/XLegend.idl> +#include <com/sun/star/chart2/LegendPosition.idl> +#include <com/sun/star/chart2/RelativePosition.idl> +#include <com/sun/star/chart/ChartLegendExpansion.idl> +#include <com/sun/star/beans/PropertySet.idl> +#include <com/sun/star/drawing/LineProperties.idl> +#include <com/sun/star/drawing/FillProperties.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** Describes a legend for a Diagram. + */ +service Legend +{ + service ::com::sun::star::drawing::FillProperties; + service ::com::sun::star::drawing::LineProperties; + service ::com::sun::star::beans::PropertySet; + + /** The interface for registering and removing legend entries. + */ + interface ::com::sun::star::chart2::XLegend; + + /** Provides an automated position + */ + [property] LegendPosition AnchorPosition; + + /** Determines how the aspect ratio of the legend should roughly + be. + + <p>Set the Expansion to + ::com::sun::star::chart#HIGH + for a legend that is positioned on the right or left hand + side. Use ::com::sun::star::chart::WIDE for a legend + that is positioned on top or the bottom.</p> + */ + [property] ::com::sun::star::chart::ChartLegendExpansion Expansion; + + /** Determines, whether the legend should be rendered by the view. + */ + [property] boolean Show; + + /** Determines, whether the legend should overlay the chart. + + @since LibreOffice 7.0 + */ + [property] boolean Overlay; + + /** contains the size of the page at the time when properties were + set (e.g. the CharHeight). + + <p>This way it is possible to resize objects (like text) in + the view without modifying the model.</p> + */ + [property, maybevoid] com::sun::star::awt::Size ReferencePageSize; + + /** The position is as a relative position on the page. + + <p>If a relative position is given the legend is not automatically placed, + but instead is placed relative on the page.</p> + + <p>If `VOID`, the legend position is solely determined by the + #AnchorPosition.</p> + */ + [property, maybevoid] ::com::sun::star::chart2::RelativePosition RelativePosition; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/LegendPosition.idl b/offapi/com/sun/star/chart2/LegendPosition.idl new file mode 100644 index 000000000..b408e6a20 --- /dev/null +++ b/offapi/com/sun/star/chart2/LegendPosition.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_LegendPosition_idl +#define com_sun_star_chart2_LegendPosition_idl + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +enum LegendPosition +{ + /** In LTR mode this is the left-hand side + */ + LINE_START, + + /** In LTR mode this is the right-hand side + + <p>This usually is the default.</p> + */ + LINE_END, + + /** In LTR mode this is the top side + */ + PAGE_START, + + /** In LTR mode this is the bottom side + */ + PAGE_END, + + /** The position of the legend is given by an offset value + */ + CUSTOM +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/LightSource.idl b/offapi/com/sun/star/chart2/LightSource.idl new file mode 100644 index 000000000..89ac5966c --- /dev/null +++ b/offapi/com/sun/star/chart2/LightSource.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_LightSource_idl +#define com_sun_star_chart2_LightSource_idl + +#include <com/sun/star/drawing/Direction3D.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +struct LightSource +{ + /** the light source's color + */ + long nDiffuseColor; + + /** the direction into which the light-source points + */ + ::com::sun::star::drawing::Direction3D aDirection; + + boolean bIsEnabled; + + /** When `TRUE`, the specularity of material is taken into + account when lighting an object. + */ + boolean bSpecular; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/LinearRegressionCurve.idl b/offapi/com/sun/star/chart2/LinearRegressionCurve.idl new file mode 100644 index 000000000..6aeee66b6 --- /dev/null +++ b/offapi/com/sun/star/chart2/LinearRegressionCurve.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_LinearRegressionCurve_idl +#define com_sun_star_chart2_LinearRegressionCurve_idl + +#include <com/sun/star/chart2/XRegressionCurve.idl> + + +module com { module sun { module star { module chart2 { + + +/** + @since LibreOffice 4.1 +*/ +service LinearRegressionCurve : com::sun::star::chart2::XRegressionCurve; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/LinearScaling.idl b/offapi/com/sun/star/chart2/LinearScaling.idl new file mode 100644 index 000000000..c71d5cb75 --- /dev/null +++ b/offapi/com/sun/star/chart2/LinearScaling.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_LinearScaling_idl +#define com_sun_star_chart2_LinearScaling_idl + +#include <com/sun/star/chart2/XScaling.idl> + + +module com { module sun { module star { module chart2 { + + +/** Scaling that scales a value <em>x</em> by calculating <em>m ⋅ + x + t</em>. + + <p>If not mentioned explicitly, the parameter <em>m</em> is 1.0 + and <em>t</em> is 0.0, which means the transformation is an + identical mapping.</p> +*/ +service LinearScaling : com::sun::star::chart2::XScaling; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/LogarithmicRegressionCurve.idl b/offapi/com/sun/star/chart2/LogarithmicRegressionCurve.idl new file mode 100644 index 000000000..cd791e8d2 --- /dev/null +++ b/offapi/com/sun/star/chart2/LogarithmicRegressionCurve.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_LogarithmicRegressionCurve_idl +#define com_sun_star_chart2_LogarithmicRegressionCurve_idl + +#include <com/sun/star/chart2/XRegressionCurve.idl> + + +module com { module sun { module star { module chart2 { + + +/** + @since LibreOffice 4.1 +*/ +service LogarithmicRegressionCurve : com::sun::star::chart2::XRegressionCurve; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/LogarithmicScaling.idl b/offapi/com/sun/star/chart2/LogarithmicScaling.idl new file mode 100644 index 000000000..6be520793 --- /dev/null +++ b/offapi/com/sun/star/chart2/LogarithmicScaling.idl @@ -0,0 +1,40 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_LogarithmicScaling_idl +#define com_sun_star_chart2_LogarithmicScaling_idl + +#include <com/sun/star/chart2/XScaling.idl> + + +module com { module sun { module star { module chart2 { + + +/** Scaling that scales values by taking their logarithm. + + <p>If not mentioned explicitly, the base for the logarithm is + 10.0</p> +*/ +service LogarithmicScaling : com::sun::star::chart2::XScaling; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/LogicTargetModel.idl b/offapi/com/sun/star/chart2/LogicTargetModel.idl new file mode 100644 index 000000000..4bc46105b --- /dev/null +++ b/offapi/com/sun/star/chart2/LogicTargetModel.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_LogicTargetModel_idl +#define com_sun_star_chart2_LogicTargetModel_idl + +#include <com/sun/star/beans/XPropertySet.idl> + + +module com { module sun { module star { module chart2 { + +/** + <p>The properties of this service correspond to the similar named attributes + and subelements of the XML element chart2:increment in the chart2 file format.</p> +*/ +service LogicTargetModel +{ + /** identifies an instance of this service within one chart document. + */ + [ readonly, property ] string ID; + + /** identifies an instance of the service com::sun::star::chart2::LegendModel within one chart document. + * that instance is used to automatically calculate missing properties + */ + [ property ] string LegendID; + + /** not BOUND nor CONSTRAINED in terms of Listener notifications, + * each element in the sequence must implement the service com::sun::star::chart2::CoordinateSystem + */ + [ property ] sequence< ::com::sun::star::beans::XPropertySet > CoordinateSystems; + + /** MAYBEVOID, not BOUND nor CONSTRAINED in terms of Listener notifications, + * each element in the sequence must implement the service com::sun::star::chart2::LogicTargetModel + */ + [ property ] sequence< ::com::sun::star::beans::XPropertySet > LogicTargetModels; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/MovingAverageRegressionCurve.idl b/offapi/com/sun/star/chart2/MovingAverageRegressionCurve.idl new file mode 100644 index 000000000..d2a6d89a0 --- /dev/null +++ b/offapi/com/sun/star/chart2/MovingAverageRegressionCurve.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_MovingAverageRegressionCurve_idl +#define com_sun_star_chart2_MovingAverageRegressionCurve_idl + +#include <com/sun/star/chart2/XRegressionCurve.idl> + + +module com { module sun { module star { module chart2 { + + +/** + @since LibreOffice 4.1 +*/ +service MovingAverageRegressionCurve : com::sun::star::chart2::XRegressionCurve; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/MovingAverageType.idl b/offapi/com/sun/star/chart2/MovingAverageType.idl new file mode 100644 index 000000000..3b2ff6c22 --- /dev/null +++ b/offapi/com/sun/star/chart2/MovingAverageType.idl @@ -0,0 +1,35 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef com_sun_star_chart2_MovingAverageType_idl +#define com_sun_star_chart2_MovingAverageType_idl + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +constants MovingAverageType { + const long Prior = 1; + const long Central = 2; + const long AveragedAbscissa = 3; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/offapi/com/sun/star/chart2/PieChartOffsetMode.idl b/offapi/com/sun/star/chart2/PieChartOffsetMode.idl new file mode 100644 index 000000000..718479b6c --- /dev/null +++ b/offapi/com/sun/star/chart2/PieChartOffsetMode.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_PieChartOffsetMode_idl +#define com_sun_star_chart2_PieChartOffsetMode_idl + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** Mode used for a pie chart template to determine the initial state + of exploded pies. + */ +enum PieChartOffsetMode +{ + /** Default, no pies are exploded. + */ + NONE, + + /** All pies are exploded by a certain percentage. The default is + 10 percent. + */ + ALL_EXPLODED +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/PolarCoordinateSystem2d.idl b/offapi/com/sun/star/chart2/PolarCoordinateSystem2d.idl new file mode 100644 index 000000000..14597842d --- /dev/null +++ b/offapi/com/sun/star/chart2/PolarCoordinateSystem2d.idl @@ -0,0 +1,35 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_PolarCoordinateSystem2d_idl +#define com_sun_star_chart2_PolarCoordinateSystem2d_idl + +#include <com/sun/star/chart2/XCoordinateSystem.idl> + +module com { module sun { module star { module chart2 { + +/** + @since LibreOffice 4.1 + */ +service PolarCoordinateSystem2d : XCoordinateSystem; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/PolarCoordinateSystem3d.idl b/offapi/com/sun/star/chart2/PolarCoordinateSystem3d.idl new file mode 100644 index 000000000..afbdf5ddb --- /dev/null +++ b/offapi/com/sun/star/chart2/PolarCoordinateSystem3d.idl @@ -0,0 +1,35 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_PolarCoordinateSystem3d_idl +#define com_sun_star_chart2_PolarCoordinateSystem3d_idl + +#include <com/sun/star/chart2/XCoordinateSystem.idl> + +module com { module sun { module star { module chart2 { + +/** + @since LibreOffice 4.1 + */ +service PolarCoordinateSystem3d : XCoordinateSystem; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/PolynomialRegressionCurve.idl b/offapi/com/sun/star/chart2/PolynomialRegressionCurve.idl new file mode 100644 index 000000000..a7684e8fb --- /dev/null +++ b/offapi/com/sun/star/chart2/PolynomialRegressionCurve.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_PolynomialRegressionCurve_idl +#define com_sun_star_chart2_PolynomialRegressionCurve_idl + +#include <com/sun/star/chart2/XRegressionCurve.idl> + + +module com { module sun { module star { module chart2 { + + +/** + @since LibreOffice 4.1 +*/ +service PolynomialRegressionCurve : com::sun::star::chart2::XRegressionCurve; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/PotentialRegressionCurve.idl b/offapi/com/sun/star/chart2/PotentialRegressionCurve.idl new file mode 100644 index 000000000..6f240745c --- /dev/null +++ b/offapi/com/sun/star/chart2/PotentialRegressionCurve.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_PotentialRegressionCurve_idl +#define com_sun_star_chart2_PotentialRegressionCurve_idl + +#include <com/sun/star/chart2/XRegressionCurve.idl> + + +module com { module sun { module star { module chart2 { + + +/** + @since LibreOffice 4.1 +*/ +service PotentialRegressionCurve : com::sun::star::chart2::XRegressionCurve; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/PowerScaling.idl b/offapi/com/sun/star/chart2/PowerScaling.idl new file mode 100644 index 000000000..3f8111b26 --- /dev/null +++ b/offapi/com/sun/star/chart2/PowerScaling.idl @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_PowerScaling_idl +#define com_sun_star_chart2_PowerScaling_idl + +#include <com/sun/star/chart2/XScaling.idl> + + +module com { module sun { module star { module chart2 { + + +/** Scaling that scales a value <em>x</em> by taking the power of + <em>x</em> to the exponent. + + <p>If not mentioned explicitly, the exponent for the power + function is 10.0</p> +*/ +service PowerScaling : com::sun::star::chart2::XScaling; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/PropertyPool.idl b/offapi/com/sun/star/chart2/PropertyPool.idl new file mode 100644 index 000000000..42ac558bd --- /dev/null +++ b/offapi/com/sun/star/chart2/PropertyPool.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_PropertyPool_idl +#define com_sun_star_chart2_PropertyPool_idl + +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/style/Style.idl> +#include <com/sun/star/style/XDefaultsSupplier.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +service PropertyPool +{ + /** must be usable as a style + */ + service ::com::sun::star::style::Style; + + /** must provide defaults for all properties + + <p>As the service + com::sun::star::style::Style implies the + implementation of + com::sun::star::beans::XPropertySet, the + method + com::sun::star::style::XDefaultsSupplier::getDefaults() + should return itself. + */ + interface ::com::sun::star::style::XDefaultsSupplier; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/RegressionCurve.idl b/offapi/com/sun/star/chart2/RegressionCurve.idl new file mode 100644 index 000000000..3ba881465 --- /dev/null +++ b/offapi/com/sun/star/chart2/RegressionCurve.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_RegressionCurve_idl +#define com_sun_star_chart2_RegressionCurve_idl + +#include <com/sun/star/beans/PropertySet.idl> +#include <com/sun/star/drawing/LineProperties.idl> +#include <com/sun/star/chart2/XRegressionCurve.idl> +#include <com/sun/star/lang/XServiceName.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +service RegressionCurve +{ + service ::com::sun::star::beans::PropertySet; + service ::com::sun::star::drawing::LineProperties; + + interface XRegressionCurve; + + [property] long MovingAverageType; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/RegressionCurveEquation.idl b/offapi/com/sun/star/chart2/RegressionCurveEquation.idl new file mode 100644 index 000000000..0aea580b9 --- /dev/null +++ b/offapi/com/sun/star/chart2/RegressionCurveEquation.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_RegressionCurveEquation_idl +#define com_sun_star_chart2_RegressionCurveEquation_idl + +#include <com/sun/star/beans/PropertySet.idl> +#include <com/sun/star/drawing/LineProperties.idl> +#include <com/sun/star/drawing/FillProperties.idl> +#include <com/sun/star/style/CharacterProperties.idl> +#include <com/sun/star/chart2/RelativePosition.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +service RegressionCurveEquation +{ + service ::com::sun::star::beans::PropertySet; + service ::com::sun::star::drawing::FillProperties; + service ::com::sun::star::drawing::LineProperties; + service ::com::sun::star::style::CharacterProperties; + + [property] boolean ShowEquation; + [property] string XName; + [property] string YName; + [property] boolean ShowCorrelationCoefficient; + + [property, maybevoid] ::com::sun::star::chart2::RelativePosition RelativePosition; + [property, maybevoid] ::com::sun::star::awt::Size ReferencePageSize; + + [property] long NumberFormat; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/RegressionEquation.idl b/offapi/com/sun/star/chart2/RegressionEquation.idl new file mode 100644 index 000000000..e95459aaf --- /dev/null +++ b/offapi/com/sun/star/chart2/RegressionEquation.idl @@ -0,0 +1,35 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_RegressionEquation_idl +#define com_sun_star_chart2_RegressionEquation_idl + +#include <com/sun/star/beans/XPropertySet.idl> + +module com { module sun { module star { module chart2 { + +/** + @since LibreOffice 4.1 +*/ +service RegressionEquation : com::sun::star::beans::XPropertySet; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/RelativePosition.idl b/offapi/com/sun/star/chart2/RelativePosition.idl new file mode 100644 index 000000000..421e0c11f --- /dev/null +++ b/offapi/com/sun/star/chart2/RelativePosition.idl @@ -0,0 +1,80 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_RelativePosition_idl +#define com_sun_star_chart2_RelativePosition_idl + +#include <com/sun/star/drawing/Alignment.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** Determines a position of an object relative to a size defined by other means. + Values from 0 to 1 cover the entire reference rectangle. Values + may also be outside this range, especially negative. + */ +struct RelativePosition +{ + /** The position in the primary direction. + The direction is defined by the object using this point. + + <p>For example for western languages the primary direction may be + the horizontal distance measured from left to right.</p> + + <p>The values are relative to a reference size (for example the page size). + Values between 0 and 1 span the complete bounding rectangle.</p> + */ + double Primary; + + /** The position in the secondary direction. + The direction is defined by the object using this point. + + <p>For example for western languages the secondary direction may be + the vertical distance measured from top to bottom.</p> + + <p>The values are relative to a reference size (for example the page size). + Values between 0 and 1 span the complete bounding rectangle.</p> + */ + double Secondary; + + /** This indicates how the object is placed at the relative position. + + <p>The Anchor indicates which point of the placed object + will be placed at the coordinates given within Primary and Secondary.</p> + + <p>For example if Anchor is TOP_LEFT the top left corner of an object will + be placed at the given coordinates. If Anchor is RIGHT the right middle corner of the object will + be placed at the given coordinates.</p> + */ + ::com::sun::star::drawing::Alignment Anchor; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/RelativeSize.idl b/offapi/com/sun/star/chart2/RelativeSize.idl new file mode 100644 index 000000000..f83e40997 --- /dev/null +++ b/offapi/com/sun/star/chart2/RelativeSize.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_RelativeSize_idl +#define com_sun_star_chart2_RelativeSize_idl + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** Gives a position relative to some size defined by other means. + Values from 0 to 1 cover the entire reference rectangle. Values + may also be greater than one, meaning a bigger size than the + reference size. Negative values are not allowed. + */ +struct RelativeSize +{ + /** The extension in the primary direction. The direction is + defined by the object using this point. + + <p>Typically, the direction is determined by an + Orientation. Another typical use would be the + direction of a given orientation-angle.</p> + + <p>The values are relative to the page or an object. Values + between 0 and 1 span the complete bounding rectangle of the + page/object.</p> + + <p>For a western Orientation this is the + width.</p> + */ + double Primary; + + /** The extension in the secondary direction. The direction is + defined by the object using this point. + + <p>Typically, the direction is determined by an + Orientation. Another typical use would be the + direction perpendicular to a given orientation-angle.</p> + + <p>The values are relative to the page or an object. Values + between 0 and 1 span the complete bounding rectangle of the + page/object.</p> + + <p>For a western Orientation this is the + height.</p> + */ + double Secondary; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/ScaleData.idl b/offapi/com/sun/star/chart2/ScaleData.idl new file mode 100644 index 000000000..b4d7111a7 --- /dev/null +++ b/offapi/com/sun/star/chart2/ScaleData.idl @@ -0,0 +1,111 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_ScaleData_idl +#define com_sun_star_chart2_ScaleData_idl + +#include <com/sun/star/chart2/XScaling.idl> +#include <com/sun/star/chart2/AxisOrientation.idl> +#include <com/sun/star/chart2/data/XLabeledDataSequence.idl> +#include <com/sun/star/chart2/AxisType.idl> +#include <com/sun/star/chart2/IncrementData.idl> +#include <com/sun/star/chart/TimeIncrement.idl> + + +module com { module sun { module star { module chart2 { + + +struct ScaleData +{ + /** if the any contains a double value this is used as a fixed + maximum. Otherwise, if the any is empty or contains an + incompatible type, the maximum is automatic. + + <p>If the maximum is automatic, this means, each view that + represents the model containing this scale, has to calculate a + maximum by its own means.</p> + */ + any Minimum; + + /** if the any contains a double value this is used as a fixed + minimum. Otherwise, if the any is empty or contains an + incompatible type, the minimum is automatic. + + <p>If the minimum is automatic, this means, each view that + represents the model containing this scale, has to calculate a + minimum by its own means.</p> + */ + any Maximum; + + + /** The Origin indicates where other axes cross this axis. + If the any contains a double value that value is used. + Otherwise an appropriate value has to be calculated + by that instances using Origin. + */ + any Origin; + + /** Axis orientation (standard or reversed). + + <p>If used at the Y axis in pie charts or doughnut charts, specifies + the rotation direction of the pie. The value + AxisOrientation::MATHEMATICAL rotates the pie + counterclockwise, the value AxisOrientation::REVERSE + rotates the pie clockwise.</p> + + <p>Note: Is this a good place for the axis orientation? Two axes may + use the same scale, but point into two different directions.</p> + */ + AxisOrientation Orientation; + + XScaling Scaling; + + com::sun::star::chart2::data::XLabeledDataSequence Categories; + + /** describes the type of the axis. + + <p>It can be a real number axis or a category axis or something else. + AxisType is one value out of the constant group AxisType.</p> + */ + long AxisType; + + /** if true an AxisType CATEGORY is interpreted as DATE if the underlying data given in Categories are dates + */ + boolean AutoDateAxis; + + /** describes whether data points on category or date axis are placed between tickmarks or not + if true the maximum on the scale will be expanded for one interval + */ + boolean ShiftedCategoryPosition; + + /** increment data to be used for not date-time axis + */ + IncrementData IncrementData; + + /** increment data to be used in case of date-time axis + */ + ::com::sun::star::chart::TimeIncrement TimeIncrement; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/Scaling.idl b/offapi/com/sun/star/chart2/Scaling.idl new file mode 100644 index 000000000..e68c52314 --- /dev/null +++ b/offapi/com/sun/star/chart2/Scaling.idl @@ -0,0 +1,37 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_Scaling_idl +#define com_sun_star_chart2_Scaling_idl + +#include <com/sun/star/chart2/XScaling.idl> + + +module com { module sun { module star { module chart2 { + + +/** stateless service +*/ +service Scaling : com::sun::star::chart2::XScaling; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/StackingDirection.idl b/offapi/com/sun/star/chart2/StackingDirection.idl new file mode 100644 index 000000000..f39f56890 --- /dev/null +++ b/offapi/com/sun/star/chart2/StackingDirection.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_StackingDirection_idl +#define com_sun_star_chart2_StackingDirection_idl + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +enum StackingDirection +{ + NO_STACKING, + Y_STACKING, + Z_STACKING +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl b/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl new file mode 100644 index 000000000..2546aef50 --- /dev/null +++ b/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_StandardDiagramCreationParameters_idl +#define com_sun_star_chart2_StandardDiagramCreationParameters_idl + +#include <com/sun/star/beans/PropertyValue.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** parameters that may be passed to + XChartTypeTemplate::createDiagramByDataSource(). + */ +service StandardDiagramCreationParameters +{ + /** States whether the first XLabeledDataSequence in + a data-source is used as categories. + */ + [optional, property] boolean HasCategories; + + /** If categories are given they should be used as x values also if a chart type requires x values. + Default is true. + */ + [optional, property] boolean UseCategoriesAsX; +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/SubIncrement.idl b/offapi/com/sun/star/chart2/SubIncrement.idl new file mode 100644 index 000000000..b771ccac5 --- /dev/null +++ b/offapi/com/sun/star/chart2/SubIncrement.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_SubIncrement_idl +#define com_sun_star_chart2_SubIncrement_idl + + +module com { module sun { module star { module chart2 { + + +struct SubIncrement +{ + /** should contain nothing for <em>auto</em>, or an integer value + for an explicit interval count. + */ + any IntervalCount; + + /** should contain nothing for <em>auto</em>, or a boolean value + for an explicit setting. + */ + any PostEquidistant; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/Symbol.idl b/offapi/com/sun/star/chart2/Symbol.idl new file mode 100644 index 000000000..6187a9b42 --- /dev/null +++ b/offapi/com/sun/star/chart2/Symbol.idl @@ -0,0 +1,104 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_Symbol_idl +#define com_sun_star_chart2_Symbol_idl + +#include <com/sun/star/drawing/PolyPolygonBezierCoords.idl> +#include <com/sun/star/awt/Size.idl> +#include <com/sun/star/graphic/XGraphic.idl> +#include <com/sun/star/chart2/SymbolStyle.idl> + + +module com { module sun { module star { module chart2 { + + +/** properties that are used for DataSeries that display symbols. + */ +struct Symbol +{ + /** determines which of the following members determines the + appearance of the symbol. + */ + SymbolStyle Style; + + /** The given polygon is used as symbol. + */ + com::sun::star::drawing::PolyPolygonBezierCoords PolygonCoords; + + /** Use the nth standard symbol, if #Style is set + to SymbolStyle::STANDARD. + + <p>If n is the number of standard symbols available in an + implementation, the symbol number is + #StandardSymbol modulo n.</p> + + <p>The default implementation for example currently uses 8 different + standard symbols that are matched to the numbers 0 to 7. + + <table border=1> + <tr><th> 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..484d4c256 --- /dev/null +++ b/offapi/com/sun/star/chart2/XChartDocument.idl @@ -0,0 +1,139 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XChartDocument_idl +#define com_sun_star_chart2_XChartDocument_idl + +#include <com/sun/star/chart2/XDiagram.idl> +#include <com/sun/star/chart2/XChartTypeManager.idl> +#include <com/sun/star/chart2/data/XDataProvider.idl> +#include <com/sun/star/frame/XModel.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/util/CloseVetoException.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XChartDocument : ::com::sun::star::frame::XModel +{ + /** @todo allow more than one diagram + + <p>Notes: this is preliminary, we need an API that supports + more than one diagram. The method name getDiagram exists in + the css.chart API, so there is would be no way to choose either + this or the other method from Basic (it would chose one or the + other by random).</p> + */ + XDiagram getFirstDiagram(); + + /** @todo allow more than one diagram + + <p>Notes: this is preliminary, we need an API that supports + more than one diagram. The method name setDiagram exists in + the css.chart API, so there is would be no way to choose either + this or the other method from Basic (it would chose one or the + other by random).</p> + */ + void setFirstDiagram( [in] XDiagram xDiagram ); + + /** creates an internal + com::sun::star::chart2::XDataProvider that + is handled by the chart document itself. + + <p>When the model is stored, the data provider will also be + stored in a sub-storage.</p> + + @param bCloneExistingData + if `TRUE` and a data provider was previously attached, + its referred data will be copied to the new internal data + provider. Note, that the range representation set before + will usually change after cloning.</p> + + @throws com::sun::star::util:CloseVetoException + If the new data provider could not be created due to a + failed removal of the former data provider. + */ + void createInternalDataProvider( [in] boolean bCloneExistingData ) + raises( com::sun::star::util::CloseVetoException ); + + /** @return `TRUE` if the data provider set at the chart document + is an internal one. + + <p>This is the case directly after + createInternalDataProvider() has been called, + but this is not necessary. The chart can also create an + internal data provider by other means, e.g. a call to + com::sun::star::frame::XModel::initNew(). + </p> + */ + boolean hasInternalDataProvider(); + + /** Returns the currently set data provider. This may be an + internal one, if createInternalDataProvider() + has been called before, or an external one if + XDataReceiver::attachDataProvider() has been + called. + */ + com::sun::star::chart2::data::XDataProvider getDataProvider(); + + /** sets a new component that is able to create different chart + type templates (components of type + ChartTypeTemplate) + */ + void setChartTypeManager( [in] XChartTypeManager xNewManager ); + + /** retrieves the component that is able to create different chart + type templates (components of type + ChartTypeTemplate) + */ + XChartTypeManager getChartTypeManager(); + + /** Gives access to the page background appearance. + + @return + the properties of the background area of the chart + document. + + <p>The area's extent is equal to the document size. If you + want to access properties of the background area of a single + diagram (the part where data points are actually plotted in), + you have to get its wall. You can get the wall by calling + XDiagram::getWall().</p> + */ + com::sun::star::beans::XPropertySet getPageBackground(); + + /** Creates a default chart type for a brand-new chart object. + */ + void createDefaultChart(); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XChartShape.idl b/offapi/com/sun/star/chart2/XChartShape.idl new file mode 100644 index 000000000..08bab11ce --- /dev/null +++ b/offapi/com/sun/star/chart2/XChartShape.idl @@ -0,0 +1,87 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_XChartShape_idl +#define com_sun_star_chart2_XChartShape_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/beans/UnknownPropertyException.idl> +#include <com/sun/star/beans/PropertyVetoException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/lang/WrappedTargetException.idl> +#include <com/sun/star/awt/Point.idl> +#include <com/sun/star/awt/Size.idl> + + + +module com { module sun { module star { module chart2 { + + +/** +this interface is used for a wrapper of objects implementing the service com::sun::star::drawing::Shape +*/ + +//interface XChartShape : ::com::sun::star::beans::XPropertySet +interface XChartShape : ::com::sun::star::uno::XInterface +{ + /** the method corresponds to the identical methods of the interface com::sun::star::beans::XPropertySet + */ + void setPropertyValue( [in] string aPropertyName, + [in] any aValue ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + /** the method corresponds to the identical methods of the interface com::sun::star::beans::XPropertySet + */ + any getPropertyValue( [in] string PropertyName ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + + /** the method corresponds to the identical methods of the interface com::sun::star::drawing::XShape + */ + com::sun::star::awt::Point getPosition(); + + /** the method corresponds to the identical methods of the interface com::sun::star::drawing::XShape + */ + void setPosition( [in] com::sun::star::awt::Point aPosition ); + + /** the method corresponds to the identical methods of the interface com::sun::star::drawing::XShape + */ + com::sun::star::awt::Size getSize(); + + /** the method corresponds to the identical methods of the interface com::sun::star::drawing::XShape + */ + void setSize( [in] com::sun::star::awt::Size aSize ) + raises( com::sun::star::beans::PropertyVetoException ); + + /** the method corresponds to the identical methods of the interface com::sun::star::drawing::XShape + * ??????????? deprecated + * + */ + string getShapeType(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XChartShapeContainer.idl b/offapi/com/sun/star/chart2/XChartShapeContainer.idl new file mode 100644 index 000000000..ee8384b23 --- /dev/null +++ b/offapi/com/sun/star/chart2/XChartShapeContainer.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_XChartShapeContainer_idl +#define com_sun_star_chart2_XChartShapeContainer_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/drawing/XShape.idl> + + +module com { module sun { module star { module chart2 { + + +interface XChartShapeContainer : ::com::sun::star::uno::XInterface +{ + /** a renderer creates ChartShapes and adds it to this container + */ + void addShape( [in] com::sun::star::drawing::XShape xShape ); + + /** a renderer can remove ChartShapes from this container (e.g. if the visible range has changed) + */ + void removeShape( [in] com::sun::star::drawing::XShape xShape ); + com::sun::star::drawing::XShape getShape(); + + //... provide something for creation of Transformation ... +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XChartType.idl b/offapi/com/sun/star/chart2/XChartType.idl new file mode 100644 index 000000000..67b12b50e --- /dev/null +++ b/offapi/com/sun/star/chart2/XChartType.idl @@ -0,0 +1,94 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_XChartType_idl +#define com_sun_star_chart2_XChartType_idl + +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/chart2/XCoordinateSystem.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XChartType : com::sun::star::uno::XInterface +{ + /** A string representation of the chart type. + This needs to be the service-name which can be used to create a chart type. + */ + string getChartType(); + + /** Creates a coordinate systems that fits the chart-type with its + current settings and for the given dimension. + + @throws IllegalArgumentException + This chart type cannot be displayed in the given dimension. + */ + XCoordinateSystem createCoordinateSystem( [in] long DimensionCount ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** Returns a sequence of roles that are understood by this chart + type. + + <p>All roles must be listed in the order in which they are + usually parsed. This ensures that gluing sequences together + and splitting them up apart again results in the same + structure as before.</p> + + <p>Note, that this does not involve optional roles, like + error-bars.</p> + */ + sequence< string > getSupportedMandatoryRoles(); + + /** Returns a sequence of roles that are understood in addition to + the mandatory roles (see + XChartType::getSupportedMandatoryRoles()). + + <p>An example for an optional role are error-bars.</p> + */ + sequence< string > getSupportedOptionalRoles(); + + /** Returns a sequence with supported property mapping roles. + + <p>An example for a property mapping role is FillColor.</p> + */ + sequence< string > getSupportedPropertyRoles(); + + /** Returns the role of the XLabeledDataSequence of + which the label will be taken to identify the + DataSeries in dialogs or the legend. + */ + string getRoleOfSequenceForSeriesLabel(); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XChartTypeContainer.idl b/offapi/com/sun/star/chart2/XChartTypeContainer.idl new file mode 100644 index 000000000..12c1a7bd4 --- /dev/null +++ b/offapi/com/sun/star/chart2/XChartTypeContainer.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XChartTypeContainer_idl +#define com_sun_star_chart2_XChartTypeContainer_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/chart2/XChartType.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/container/NoSuchElementException.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XChartTypeContainer : com::sun::star::uno::XInterface +{ + /** add a chart type to the chart type container + + @throws IllegalArgumentException + If the given chart type is already contained in the chart type container. + */ + void addChartType( [in] XChartType aChartType ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** removes one data series from the chart type container. + */ + void removeChartType( [in] XChartType aChartType ) + raises( com::sun::star::container::NoSuchElementException ); + + /** retrieve all chart types + */ + sequence< XChartType > getChartTypes(); + + /** set all chart types + */ + void setChartTypes( [in] sequence< XChartType > aChartTypes ) + raises( com::sun::star::lang::IllegalArgumentException ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XChartTypeManager.idl b/offapi/com/sun/star/chart2/XChartTypeManager.idl new file mode 100644 index 000000000..abafeb346 --- /dev/null +++ b/offapi/com/sun/star/chart2/XChartTypeManager.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_XChartTypeManager_idl +#define com_sun_star_chart2_XChartTypeManager_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/chart2/XChartTypeTemplate.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XChartTypeManager : ::com::sun::star::uno::XInterface +{ +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XChartTypeTemplate.idl b/offapi/com/sun/star/chart2/XChartTypeTemplate.idl new file mode 100644 index 000000000..147343d4b --- /dev/null +++ b/offapi/com/sun/star/chart2/XChartTypeTemplate.idl @@ -0,0 +1,224 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XChartTypeTemplate_idl +#define com_sun_star_chart2_XChartTypeTemplate_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/beans/PropertyValue.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/chart2/XDiagram.idl> +#include <com/sun/star/chart2/data/XDataSource.idl> +#include <com/sun/star/chart2/XChartType.idl> +#include <com/sun/star/chart2/XDataInterpreter.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XChartTypeTemplate : ::com::sun::star::uno::XInterface +{ + /** Creates a new diagram based upon the given data . + + @param xDataSource + This data source will be interpreted in a chart-type + specific way and appropriate DataSeries will + be created which serve as input for the new diagram. + + @param aArguments + Arguments that tell the template how to slice the given + range. The properties should be defined in a separate + service. + + <p>For standard parameters that may be used, see the + service StandardDiagramCreationParameters. + </p> + + @return + The new diagram which represents this + ChartTypeTemplate. + */ + XDiagram createDiagramByDataSource( + [in] com::sun::star::chart2::data::XDataSource xDataSource, + [in] sequence< com::sun::star::beans::PropertyValue > aArguments ); + + /** @return + `TRUE` if the template does support categories + */ + boolean supportsCategories(); + + /** Analyses the given diagram and reinterprets its + DataSeries and Categories and + creates a new diagram based on these series. + + <p>Note, that if matchesTemplate() returns + `TRUE` for the given XDiagram, the latter should + not be changed.</p> + + @param xDiagram + The diagram given will be modified such that it represents + this ChartTypeTemplate. + */ + void changeDiagram( [in] XDiagram xDiagram ); + + /** Changes the given diagram <code>xDiagram</code> by using the + new data given in <code>xDataSource</code>. + + <p>Note that the data is interpreted in a way that fits this + template, but not necessarily the chart-types of the diagram. + This method should only be called if the data-format of the + diagram is compatible with the data-format of this + template.</p> + + <p>Ideally a matchesTemplate() call for the + given diagram should return `TRUE` before this method is + called.</p> + + @param xDiagram + The diagram to be changed. + + @param xDataSource + This data source will be interpreted in a chart-type + specific way and the DataSeries found in + <code>xDiagram</code> will be adapted to the new data. + Missing data series will be created and unused ones will + be deleted in <code>xDiagram</code>. + + @param aArguments + Arguments that tell the template how to slice the given + range. The properties should be defined in a separate + service. + + <p>For standard parameters that may be used, see the + service StandardDiagramCreationParameters. + </p> + */ + void changeDiagramData( + [in] XDiagram xDiagram, + [in] com::sun::star::chart2::data::XDataSource xDataSource, + [in] sequence< com::sun::star::beans::PropertyValue > aArguments ); + + /** States whether the given diagram could have been created by + the template. + + <p>The template will parse the DataSeriesTree of + the diagram to determine if the structure matches the one + which would have been created by + createDiagramByDataSource().</p> + + <p>For analysis all parts of the diagram may be used, + e.g. also properties set at the data series (like symbols)./p> + + @param xDiagram + The diagram to be analyzed. + + @param bAdaptProperties + If `TRUE` the properties of the template are set, such + that the template matches more accurately. E.g. for a + line-chart with symbols the property "Symbol" would be set + to `TRUE`. If this parameter is `FALSE` the template + itself stays unmodified. + + @return + `TRUE` if the diagram given is structurally identical to + a diagram that was created using + createDiagramByDataSource() or + changeDiagram(). If `FALSE` is returned + the template stays unmodified even if + <code>bAdaptProperties</code> is `TRUE`. + */ + boolean matchesTemplate( [in] XDiagram xDiagram, + [in] boolean bAdaptProperties ); + + /** Provides a chart type object that can be used to create new + series. + + @param aFormerlyUsedChartTypes + The list can be used to copy some aspects from old chart types during the creation of a new chart type. + The list might be empty. + */ + XChartType getChartTypeForNewSeries( [in] sequence< XChartType > aFormerlyUsedChartTypes ); + + /** + This used to have a return type of XDataInterpreter. + Then I removed the whole XChartTypeTemplate interface in + commit 58766f997d59e4684f2887fd8cdeb12d2f8a9366. + Which turned out to be a bad idea, so I restored it. + I restored it in this form because I want to restore binary compatibily with vtable + layout, but I don't want to restore the XDataInterpreter stuff, which was not + useful for external use. + */ + com::sun::star::uno::XInterface getDataInterpreter(); + + /** Applies a chart-type specific style (e.g. symbols) to all series in the + sequence aSeries. + + @param xSeries + a single data series to which a style will be applied + + @param nChartTypeGroupIndex + Denotes in which chart-type group the series lies, such this method + can apply different styles for different chart-type groups + + @param nSeriesIndex + The index of the series inside the current chart-type group. + nSeriesIndex does not uniquely identify a data series alone, but + only together with nChartTypeGroupIndex + + @param nSeriesCount + The number of series in the current chart-type group. + + @todo In the future, this should only change the "Style" property and no + hard attributes. + */ + void applyStyle( [in] XDataSeries xSeries, + [in] long nChartTypeGroupIndex, + [in] long nSeriesIndex, + [in] long nSeriesCount ); + + /** Resets all styles that were changed from the default at any + object in the chart and have not been later modified. + + <p>In createDiagramByDataSource() or + changeDiagram() a template might e.g. change + the page background color or the line style of all data + series. This method should reset all objects that still have + the changed settings to the default.</p> + + <p>If for example the template changed the + com::sun::star::drawing::LineStyle of all + series to NONE, this method should reset all series with + LineStyle NONE back to SOLID. If a series has a style DASH, + it must not be changed.</p> + */ + void resetStyles( [in] XDiagram xDiagram ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XColorScheme.idl b/offapi/com/sun/star/chart2/XColorScheme.idl new file mode 100644 index 000000000..133d675c9 --- /dev/null +++ b/offapi/com/sun/star/chart2/XColorScheme.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XColorScheme_idl +#define com_sun_star_chart2_XColorScheme_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/util/Color.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XColorScheme : ::com::sun::star::uno::XInterface +{ + /** returns the default color for the nth data series. + + <p>This may be a system wide color or a color coming from a + color scheme.</p> + + <p>Usually there exist a fixed number of default colors. This + method should always return a valid Color. If the index (i) + is higher than the number of default colors (n), the method + should return the modulus (i mod n), i.e., the colors should + repeat in a cyclic way.</p> + + @param nIndex + The index of the series. This is used to obtain the + correct default color. + */ + ::com::sun::star::util::Color getColorByIndex( [in] long nIndex ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XCoordinateSystem.idl b/offapi/com/sun/star/chart2/XCoordinateSystem.idl new file mode 100644 index 000000000..be9478411 --- /dev/null +++ b/offapi/com/sun/star/chart2/XCoordinateSystem.idl @@ -0,0 +1,84 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XCoordinateSystem_idl +#define com_sun_star_chart2_XCoordinateSystem_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> +#include <com/sun/star/chart2/XAxis.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XCoordinateSystem : ::com::sun::star::uno::XInterface +{ + /** the dimension of the coordinate-system. + */ + long getDimension(); + + /** identifies the type of coordinate system (e.g. Cartesian, polar ...) + */ + string getCoordinateSystemType(); + + /** return a service name from which the view component for this coordinate system can be created + */ + string getViewServiceName(); + + /** The dimension says whether it is a x, y or z axis. + The index says whether it is a primary or a secondary axis. + Use nIndex == 0 for a primary axis. + */ + void setAxisByDimension( [in] long nDimension, + [in] XAxis xAxis, + [in] long nIndex ) + raises( com::sun::star::lang::IndexOutOfBoundsException ); + + /** The dimension says whether it is a x, y or z axis. + The index indicates whether it is a primary or a secondary axis or maybe more in future. + Use nIndex == 0 for a primary axis. + An empty Reference will be returned if the given nDimension and nIndex are in the valid range but no axis is set for those values. + An IndexOutOfBoundsException will be thrown if nDimension is lower than 0 or greater than the value returned by getDimension() + and/or if nIndex is lower 0 or greater than the value returned by getMaxAxisIndexByDimension(nDimension). + */ + XAxis getAxisByDimension( [in] long nDimension, [in] long nIndex ) + raises( com::sun::star::lang::IndexOutOfBoundsException ); + + /** In one dimension there could be several axes to enable main and secondary axis and maybe more in future. + This method returns the maximum index at which an axis exists for the given dimension. + It is allowed that some indexes in between do not have an axis. + */ + long getMaximumAxisIndexByDimension( [in] long nDimension ) + raises( com::sun::star::lang::IndexOutOfBoundsException ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XCoordinateSystemContainer.idl b/offapi/com/sun/star/chart2/XCoordinateSystemContainer.idl new file mode 100644 index 000000000..94bdb19fe --- /dev/null +++ b/offapi/com/sun/star/chart2/XCoordinateSystemContainer.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XCoordinateSystemContainer_idl +#define com_sun_star_chart2_XCoordinateSystemContainer_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/chart2/XCoordinateSystem.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/container/NoSuchElementException.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XCoordinateSystemContainer : com::sun::star::uno::XInterface +{ + /** add a coordinate system to the coordinate system container + + @throws IllegalArgumentException + If the given coordinate system is already contained in the container. + */ + void addCoordinateSystem( [in] XCoordinateSystem aCoordSys ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** removes one coordinate system from the coordinate system container. + */ + void removeCoordinateSystem( [in] XCoordinateSystem aCoordSys ) + raises( com::sun::star::container::NoSuchElementException ); + + /** retrieve all coordinate systems + */ + sequence< XCoordinateSystem > getCoordinateSystems(); + + /** set all coordinate systems + */ + void setCoordinateSystems( [in] sequence< XCoordinateSystem > aCoordinateSystems ) + raises( com::sun::star::lang::IllegalArgumentException ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XDataPointCustomLabelField.idl b/offapi/com/sun/star/chart2/XDataPointCustomLabelField.idl new file mode 100644 index 000000000..8291e9001 --- /dev/null +++ b/offapi/com/sun/star/chart2/XDataPointCustomLabelField.idl @@ -0,0 +1,71 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +#ifndef com_sun_star_chart2_DataPointCustomLabelField_idl +#define com_sun_star_chart2_DataPointCustomLabelField_idl + +#include <com/sun/star/chart2/XFormattedString2.idl> +#include <com/sun/star/chart2/DataPointCustomLabelFieldType.idl> + +module com { module sun { module star { module chart2 { + +/** + Provides interface for DataPointCustomLabelField service. + + @since LibreOffice 6.1 +*/ +interface XDataPointCustomLabelField : XFormattedString2 +{ + DataPointCustomLabelFieldType getFieldType(); + + void setFieldType( [in] DataPointCustomLabelFieldType fieldType ); + + string getGuid(); + + void setGuid( [in] string guid ); + + /** + Indicates whether the label field's content is sourced from a cell[range] or not. + + @since LibreOffice 7.3 + */ + boolean getDataLabelsRange(); + + /** + Sets whether the label field's content is sourced from a cell[range] or not. + + @since LibreOffice 7.3 + */ + void setDataLabelsRange( [in] boolean dataLabelsRange ); + + /** + Returns the address of the cell[range] from which the content of this field is sourced. + + @since LibreOffice 7.3 + */ + string getCellRange(); + + /** + Sets the address of the cell[range] from which the content of this field is sourced. + + @since LibreOffice 7.3 + */ + void setCellRange( [in] string cellRange ); + +}; + + + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/offapi/com/sun/star/chart2/XDataProviderAccess.idl b/offapi/com/sun/star/chart2/XDataProviderAccess.idl new file mode 100644 index 000000000..e8d8b902d --- /dev/null +++ b/offapi/com/sun/star/chart2/XDataProviderAccess.idl @@ -0,0 +1,40 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +#ifndef __com_sun_star_chart2_XDataProviderCreator_idl__ +#define __com_sun_star_chart2_XDataProviderCreator_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/uno/chart/data/XDataProvider.idl> + +module com { module sun { module star { module chart2 { + + +/** Provides access to chart2 data providers for a given document + + @since LibreOffice 6.1 + + */ +interface XDataProviderAccess : com::sun::star::uno::XInterface +{ + + /** creates a data provider for chart2, if possible + + @see com::sun::star::chart2::data::XDataProvider + + */ + com::sun::star::chart2::data::XDataProvider createDataProvider(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XDataSeries.idl b/offapi/com/sun/star/chart2/XDataSeries.idl new file mode 100644 index 000000000..7af8cdd00 --- /dev/null +++ b/offapi/com/sun/star/chart2/XDataSeries.idl @@ -0,0 +1,72 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XDataSeries_idl +#define com_sun_star_chart2_XDataSeries_idl + +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** A data series represents the object that has all the knowledge to + be rendered as a visual data series. + */ +interface XDataSeries : ::com::sun::star::uno::XInterface +{ + /** @returns + the element at the specified index. + + @param nIndex + specifies the index of the data point within the series. The first index is 0. + + @throws com::sun::star::lang::IndexOutOfBoundsException + if the index is not valid. + */ + ::com::sun::star::beans::XPropertySet getDataPointByIndex( [in] long nIndex ) + raises( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** the formatting of the specified data point is cleared + + @param nIndex + specifies the index of the data point within the series. The first index is 0. + */ + void resetDataPoint( [in] long nIndex ); + + /** all data point formatting are cleared + */ + void resetAllDataPoints(); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XDataSeriesContainer.idl b/offapi/com/sun/star/chart2/XDataSeriesContainer.idl new file mode 100644 index 000000000..2436953e7 --- /dev/null +++ b/offapi/com/sun/star/chart2/XDataSeriesContainer.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XDataSeriesContainer_idl +#define com_sun_star_chart2_XDataSeriesContainer_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/chart2/XDataSeries.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/container/NoSuchElementException.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XDataSeriesContainer : com::sun::star::uno::XInterface +{ + /** add a data series to the data series container + + @throws IllegalArgumentException + If the given data series is already contained in the data series container. + */ + void addDataSeries( [in] XDataSeries aDataSeries ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** removes one data series from the data series container. + */ + void removeDataSeries( [in] XDataSeries aDataSeries ) + raises( com::sun::star::container::NoSuchElementException ); + + /** retrieve all data series + */ + sequence< XDataSeries > getDataSeries(); + + /** set all data series + */ + void setDataSeries( [in] sequence< XDataSeries > aDataSeries ) + raises( com::sun::star::lang::IllegalArgumentException ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XDefaultSizeTransmitter.idl b/offapi/com/sun/star/chart2/XDefaultSizeTransmitter.idl new file mode 100644 index 000000000..da4a4b1af --- /dev/null +++ b/offapi/com/sun/star/chart2/XDefaultSizeTransmitter.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_xdefaultsizetransmitter_idl +#define com_sun_star_chart2_xdefaultsizetransmitter_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/awt/Size.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** Allows to set a default size. This size will be used in case no further information si available. + */ +interface XDefaultSizeTransmitter : ::com::sun::star::uno::XInterface +{ + /** set a default size + @param aSize100ThMm + specifies a size in hundredth mm. + */ + void setDefaultSize( [in] ::com::sun::star::awt::Size aSize100ThMm ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XDiagram.idl b/offapi/com/sun/star/chart2/XDiagram.idl new file mode 100644 index 000000000..a878759be --- /dev/null +++ b/offapi/com/sun/star/chart2/XDiagram.idl @@ -0,0 +1,103 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XDiagram_idl +#define com_sun_star_chart2_XDiagram_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/beans/PropertyValue.idl> +#include <com/sun/star/chart2/XLegend.idl> +#include <com/sun/star/chart2/XColorScheme.idl> +#include <com/sun/star/chart2/data/XDataSource.idl> +#include <com/sun/star/chart2/data/XLabeledDataSequence.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XDiagram : ::com::sun::star::uno::XInterface +{ + /** returns the property set that determines the visual appearance + of the wall. + + <p>The wall is the area behind the union of all + coordinate systems used in a diagram.</p> + */ + com::sun::star::beans::XPropertySet getWall(); + + /** returns the property set that determines the visual appearance + of the floor if any. + + <p>The floor is the bottom of a 3D diagram. + For a 2D diagram NULL is returned.</p> + */ + com::sun::star::beans::XPropertySet getFloor(); + + /** returns the legend, which may represent data series and other + information about a diagram in a separate box. + */ + XLegend getLegend(); + + /** sets a new legend. + */ + void setLegend( [in] XLegend xLegend ); + + /** returns an XColorScheme that defines the default + colors for data series (or data points) in the diagram. + */ + XColorScheme getDefaultColorScheme(); + + /** sets an XColorScheme that defines the default + colors for data series (or data points) in the diagram. + */ + void setDefaultColorScheme( [in] XColorScheme xColorScheme ); + + /** sets new data to the diagram. + + @param xDataSource + This data source will be interpreted in a chart-type + specific way and the DataSeries found in + <code>xDiagram</code> will be adapted to the new data. + Missing data series will be created and unused ones will + be deleted. + + @param aArguments + Arguments tells how to slice the given data. + + <p>For standard parameters that may be used, see the + service StandardDiagramCreationParameters. + </p> + */ + void setDiagramData( [in] com::sun::star::chart2::data::XDataSource xDataSource, + [in] sequence< com::sun::star::beans::PropertyValue > aArguments ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XDiagramProvider.idl b/offapi/com/sun/star/chart2/XDiagramProvider.idl new file mode 100644 index 000000000..fea934e4a --- /dev/null +++ b/offapi/com/sun/star/chart2/XDiagramProvider.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XDiagramProvider_idl +#define com_sun_star_chart2_XDiagramProvider_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/chart2/XDiagram.idl> +#include <com/sun/star/chart2/XChartTypeTemplate.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** Gives access to a single diagram. This interface is needed by the + wrapper for the old API (namespace com::sun::star::chart). + */ +interface XDiagramProvider : ::com::sun::star::uno::XInterface +{ + XDiagram getDiagram(); + + void setDiagram( [in] XDiagram xDiagram ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XFormattedString.idl b/offapi/com/sun/star/chart2/XFormattedString.idl new file mode 100644 index 000000000..b16fe06c8 --- /dev/null +++ b/offapi/com/sun/star/chart2/XFormattedString.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_XFormattedString_idl +#define com_sun_star_chart2_XFormattedString_idl + +#include <com/sun/star/uno/XInterface.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XFormattedString : ::com::sun::star::uno::XInterface +{ + string getString(); + + void setString( [in] string String ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XFormattedString2.idl b/offapi/com/sun/star/chart2/XFormattedString2.idl new file mode 100644 index 000000000..c780dd9e2 --- /dev/null +++ b/offapi/com/sun/star/chart2/XFormattedString2.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_XFormattedString2_idl +#define com_sun_star_chart2_XFormattedString2_idl + +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/style/CharacterProperties.idl> +#include <com/sun/star/style/CharacterPropertiesAsian.idl> +#include <com/sun/star/style/CharacterPropertiesComplex.idl> +#include <com/sun/star/chart2/XFormattedString.idl> + +module com { module sun { module star { module chart2 { + +/** + Provides unified interface for FormattedString service. + + @since LibreOffice 4.1 +*/ +interface XFormattedString2 +{ + /** Access to various character properties. + + Supports the properties of the + com::sun::star::style::CharacterProperties service, and also optionally + those of the com::sun::star::style::CharacterPropertiesAsian and + com::sun::star::style::CharacterPropertiesComplex services. + */ + interface com::sun::star::beans::XPropertySet; + + interface com::sun::star::chart2::XFormattedString; + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XInternalDataProvider.idl b/offapi/com/sun/star/chart2/XInternalDataProvider.idl new file mode 100644 index 000000000..ed5c51868 --- /dev/null +++ b/offapi/com/sun/star/chart2/XInternalDataProvider.idl @@ -0,0 +1,89 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XInternalDataProvider_idl +#define com_sun_star_chart2_XInternalDataProvider_idl + +#include <com/sun/star/chart2/data/XDataProvider.idl> +#include <com/sun/star/chart2/data/XDataSequence.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** An internal DataProvider that has more access to data than a plain + DataProvider. + */ +interface XInternalDataProvider : com::sun::star::chart2::data::XDataProvider +{ + boolean hasDataByRangeRepresentation( [in] string aRange ); + sequence< any > getDataByRangeRepresentation( [in] string aRange ); + void setDataByRangeRepresentation( [in] string aRange, [in] sequence< any > aNewData ); + + /** @note Note that -1 is allowed as the sequence is inserted + after the given index. So to insert a sequence as the + new first sequence (index 0), you would pass -1 here. + */ + void insertSequence( [in] long nAfterIndex ); + void deleteSequence( [in] long nAtIndex ); + /** same as insertSequence with nAfterIndex being the largest + current index of the data, i.e. (size - 1) + */ + void appendSequence(); + + void insertDataPointForAllSequences( [in] long nAfterIndex ); + void deleteDataPointForAllSequences( [in] long nAtIndex ); + void swapDataPointWithNextOneForAllSequences( [in] long nAtIndex ); + + /** If range representations of data sequences change due to + internal structural changes, they must be registered at the + data provider. + + <p>Sequences that are directly retrieved via the methods of + the XDataProvider interface are already registered. If a + labeled data sequence was created by cloning an existing one, + it has to be explicitly registered via this method.</p> + */ + void registerDataSequenceForChanges( [in] com::sun::star::chart2::data::XDataSequence xSeq ); + + /** insert an additional sequence for categories nLevel>=1; + categories at level 0 are always present and cannot be inserted or deleted + @since OOo 3.3 + */ + void insertComplexCategoryLevel( [in] long nLevel ); + /** deletes an additional sequence for categories at nLevel>=1; + categories at level 0 are always present and cannot be deleted + @since OOo 3.3 + */ + void deleteComplexCategoryLevel( [in] long nLevel ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XLabeled.idl b/offapi/com/sun/star/chart2/XLabeled.idl new file mode 100644 index 000000000..af05f9089 --- /dev/null +++ b/offapi/com/sun/star/chart2/XLabeled.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XLabeled_idl +#define com_sun_star_chart2_XLabeled_idl + +#include <com/sun/star/frame/XModel.idl> +#include <com/sun/star/chart2/XTitle.idl> +#include <com/sun/star/drawing/RectanglePoint.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XLabeled +{ + void setLabel( [in] XTitle xTitle ); + + XTitle getLabel(); + + void setOwnAnchor( [in] ::com::sun::star::drawing::RectanglePoint aAnchorPoint ); + + ::com::sun::star::drawing::RectanglePoint getOwnAnchor(); + + void setLabelAnchor( [in] ::com::sun::star::drawing::RectanglePoint aAnchorPoint ); + + ::com::sun::star::drawing::RectanglePoint getLabelAnchor(); + + void setOffset( [in] sequence< double > aOffsetVector ); + + sequence< double > getOffset(); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XLegend.idl b/offapi/com/sun/star/chart2/XLegend.idl new file mode 100644 index 000000000..4db147376 --- /dev/null +++ b/offapi/com/sun/star/chart2/XLegend.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_XLegend_idl +#define com_sun_star_chart2_XLegend_idl + +#include <com/sun/star/uno/XInterface.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** interface for the legend of a diagram + */ +interface XLegend : ::com::sun::star::uno::XInterface +{ +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XRegressionCurve.idl b/offapi/com/sun/star/chart2/XRegressionCurve.idl new file mode 100644 index 000000000..7db25123f --- /dev/null +++ b/offapi/com/sun/star/chart2/XRegressionCurve.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XRegressionCurve_idl +#define com_sun_star_chart2_XRegressionCurve_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/chart2/XRegressionCurveCalculator.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XRegressionCurve : com::sun::star::uno::XInterface +{ + XRegressionCurveCalculator getCalculator(); + + ::com::sun::star::beans::XPropertySet getEquationProperties(); + + void setEquationProperties( [in] ::com::sun::star::beans::XPropertySet xEquationProperties ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl b/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl new file mode 100644 index 000000000..c4313f42b --- /dev/null +++ b/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl @@ -0,0 +1,187 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XRegressionCurveCalculator_idl +#define com_sun_star_chart2_XRegressionCurveCalculator_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/util/XNumberFormatsSupplier.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/geometry/RealPoint2D.idl> +#include <com/sun/star/chart2/XScaling.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XRegressionCurveCalculator : com::sun::star::uno::XInterface +{ + /** set calculation properties for curve calculation. + + @param degree + Degree of polynomial regression curve, value should be greater than zero + If the curve is not polynomial, this property has no effect. + + @param period + Period of a moving average regression curve, value should be greater or equal to 2 + If the curve is not moving average regression curve, this property has no effect. + + @param forceIntercept + Should force the intercept value. + + @param interceptValue + Intercept value. + + @param movingType + Only if regression type is "Moving Average" + @see ::com::sun::star::chart2::MovingAverageType + + */ + void setRegressionProperties( [in] long degree, + [in] boolean forceIntercept, + [in] double interceptValue, + [in] long period, + [in] long movingType); + + /** recalculates the parameters of the internal regression curve according to + the <i>x</i>- and <i>y</i>-values given. + + @param aXValues + All x-values that represent the measurement points on + which the regression is based + + @param aYValues + All y-values that represent the measurement points on + which the regression is based + */ + void recalculateRegression( [in] sequence< double > aXValues, + [in] sequence< double > aYValues); + + + /** calculates the value of the regression curve for <i>x</i>. + + @param x + The abscissa value for which the value of the regression + curve should be calculated. All numbers that are part of + the domain of the regression function are valid. + + @return + If <i>x</i> is element of the domain of the regression + curve function, the result is its value. + + @throws com::sun::star::lang::IllegalArgumentException + If <i>x</i> is not part of the domain of the regression + function. + */ + double getCurveValue( [in] double x ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** calculate multiple points of a regression curve at once. Note + that this method may optimize the output by returning less + points, e.g. for a line you may get only two resulting points + instead of nPointCount() points. This is only + allowed if the parameter + bMaySkipPointsInCalculation() is set to + `TRUE`. + + <p>It is important that a renderer takes the scalings into + account. When one of these parameters is unknown, no + optimization must be done.</p> + + @param min the abscissa value for the starting point. + @param max the abscissa value for the ending point. + + @param nPointCount the number of points to calculate. + + @param bMaySkipPointsInCalculation determines whether it is + allowed to skip points in the calculation. When this + parameter is `TRUE` it is assumed that the underlying + coordinate system is Cartesian. + + @param xScalingX a scaling that is used for the values in + x-direction + + @param xScalingY a scaling that is used for the values in + y-direction + */ + sequence< com::sun::star::geometry::RealPoint2D > getCurveValues( + [in] double min, + [in] double max, + [in] long nPointCount, + [in] XScaling xScalingX, + [in] XScaling xScalingY, + [in] boolean bMaySkipPointsInCalculation ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** Returns the value of the correlation coefficient for the given + regression. This value is often denoted as <i>r</i> or + <i>R</i>. + + <p>The value of <i>r</i> is signed. Often + <i>r</i><sup>2</sup> is used instead of <i>r</i> to denote + a regression curve's accuracy.</p> + + @return + The return value is the fraction of the variance in the + data that is explained by the regression. + */ + double getCorrelationCoefficient(); + + /** Retrieve a string showing the regression curve's function with + calculated parameters. + + @return + The string returned contains the regression curve's + formula in a form <pre>"f(x) = ..."</pre>, where the + calculated parts are filled out. For a linear regression + you might get <pre>"f(x) = 0.341 x + 1.45"</pre>. + */ + string getRepresentation(); + + /** Returns a representation using the given number format for formatting all numbers + contained in the formula. Wrap equation to fit in nFormulaLength characters + + @see getRepresentation + */ + string getFormattedRepresentation( [in] com::sun::star::util::XNumberFormatsSupplier xNumFmtSupplier, + [in] long nNumberFormatKey, + [in] long nFormulaLength ); + + /** Set the names of X and Y variables of the equation to replace "x" and "f(x)" in representation + + @param aXName string of the name of X variable + @param aYName string of the name of Y variable + */ + void setXYNames( [in] string aXName, + [in] string aYName ); + +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XRegressionCurveContainer.idl b/offapi/com/sun/star/chart2/XRegressionCurveContainer.idl new file mode 100644 index 000000000..05b76365b --- /dev/null +++ b/offapi/com/sun/star/chart2/XRegressionCurveContainer.idl @@ -0,0 +1,69 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XRegressionCurveContainer_idl +#define com_sun_star_chart2_XRegressionCurveContainer_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/chart2/XRegressionCurve.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/container/NoSuchElementException.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XRegressionCurveContainer : com::sun::star::uno::XInterface +{ + /** add a regression curve to the container + + @throws IllegalArgumentException + If the given regression curve is already contained in the + container. + */ + void addRegressionCurve( [in] XRegressionCurve aRegressionCurve ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** removes one regression curve from the container. + */ + void removeRegressionCurve( [in] XRegressionCurve aRegressionCurve ) + raises( com::sun::star::container::NoSuchElementException ); + + /** retrieve all regression curves + */ + sequence< XRegressionCurve > getRegressionCurves(); + + /** set all regression curves + */ + void setRegressionCurves( [in] sequence< XRegressionCurve > aRegressionCurves ) + raises( com::sun::star::lang::IllegalArgumentException ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XScaling.idl b/offapi/com/sun/star/chart2/XScaling.idl new file mode 100644 index 000000000..fe9a3baff --- /dev/null +++ b/offapi/com/sun/star/chart2/XScaling.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_XScaling_idl +#define com_sun_star_chart2_XScaling_idl + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module chart2 { + + +interface XScaling : ::com::sun::star::uno::XInterface +{ + /** + * Given a numeric value, return the scaled value that conforms + * to a predefined scaling rule. For instance, for linear + * scaling, given a x value, the method may return a y value as + * defined by y = Ax + B for predefined values of A and B. + * + * @param value input value from which to calculate the scaled + * value. + * + * @return scaled value based on a predefined scaling rule. + */ + double doScaling( [in] double value ); + + /** + * Get an interface object that conforms to a scaling rule that + * is the reverse of the original scaling rule. + * + * @return interface object that represents the reversed + * scaling rule. + */ + com::sun::star::chart2::XScaling getInverseScaling(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XTarget.idl b/offapi/com/sun/star/chart2/XTarget.idl new file mode 100644 index 000000000..f0f914958 --- /dev/null +++ b/offapi/com/sun/star/chart2/XTarget.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_XTarget_idl +#define com_sun_star_chart2_XTarget_idl + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module chart2 { + +//................... wrong --> XDrawGroup + +// [in] com::sun::star::drawing::XShapes xShapes + +interface XTarget : ::com::sun::star::uno::XInterface +{ + void addDrawElement(); //(DrawElement); + + //... provide something for creation of Transformation ... +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XTimeBased.idl b/offapi/com/sun/star/chart2/XTimeBased.idl new file mode 100644 index 000000000..487e22ecb --- /dev/null +++ b/offapi/com/sun/star/chart2/XTimeBased.idl @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +#ifndef com_sun_star_chart2_XTimeBased_idl +#define com_sun_star_chart2_XTimeBased_idl + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module chart2 { + +interface XTimeBased : com::sun::star::uno::XInterface +{ + + /** + * @return + * FALSE if the data wrapped around + */ + boolean switchToNext( [in] boolean wrap); + + /** + * point is the zero based index into the time based array + * + * @return FALSE if the point is outside of the supported array + */ + boolean setToPointInTime( [in] long point ); + + void setRange( [in] long start, [in] long end ); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XTitle.idl b/offapi/com/sun/star/chart2/XTitle.idl new file mode 100644 index 000000000..a1104cbc0 --- /dev/null +++ b/offapi/com/sun/star/chart2/XTitle.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XTitle_idl +#define com_sun_star_chart2_XTitle_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/chart2/XFormattedString.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XTitle : ::com::sun::star::uno::XInterface +{ + sequence< XFormattedString > getText(); + + void setText( [in] sequence< XFormattedString > Strings ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/XTitled.idl b/offapi/com/sun/star/chart2/XTitled.idl new file mode 100644 index 000000000..80f03254c --- /dev/null +++ b/offapi/com/sun/star/chart2/XTitled.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_XTitled_idl +#define com_sun_star_chart2_XTitled_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/chart2/XTitle.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +/** Interface to be implemented by objects that support having a title of type + XTitle. + */ +interface XTitled : ::com::sun::star::uno::XInterface +{ + /** get the object holding the title's content and formatting + */ + XTitle getTitleObject(); + + /** set a new title object replacing the former one + */ + void setTitleObject( [in] XTitle Title ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/DataFilter.idl b/offapi/com/sun/star/chart2/data/DataFilter.idl new file mode 100644 index 000000000..9f1d831ab --- /dev/null +++ b/offapi/com/sun/star/chart2/data/DataFilter.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_DataFilter_idl +#define com_sun_star_chart2_data_DataFilter_idl + +#include <com/sun/star/chart2/data/DataSource.idl> +#include <com/sun/star/chart2/data/DataSink.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** A filter gets some data and provides some data. The received data + is typically (but not necessarily) different from the data that + can be retrieved by a filter. + */ +service DataFilter +{ + /** A DataFilter is a DataSink, because you can set some data at a + DataFilter. + */ + service DataSink; + + /** A DataFilter is a DataSource, because you can get some data + from a DataFilter. + */ + service DataSource; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/DataProvider.idl b/offapi/com/sun/star/chart2/data/DataProvider.idl new file mode 100644 index 000000000..bcda9996e --- /dev/null +++ b/offapi/com/sun/star/chart2/data/DataProvider.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_DataProvider_idl +#define com_sun_star_chart2_data_DataProvider_idl + +#include <com/sun/star/chart2/data/XDataProvider.idl> +#include <com/sun/star/chart2/data/XRangeXMLConversion.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +service DataProvider +{ + /** For accessing data a component provides for being used by + charts. + */ + interface ::com::sun::star::chart2::data::XDataProvider; + + /** allows you to convert the ranges a data provider deals with + internally into valid XML. + */ + [optional] interface ::com::sun::star::chart2::data::XRangeXMLConversion; + + /** If set to false `FALSE`, values from hidden cells are not returned. + */ + [optional, property] boolean IncludeHiddenCells; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/DataSequence.idl b/offapi/com/sun/star/chart2/data/DataSequence.idl new file mode 100644 index 000000000..34d655800 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/DataSequence.idl @@ -0,0 +1,148 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_DataSequence_idl +#define com_sun_star_chart2_data_DataSequence_idl + +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/container/XIndexReplace.idl> +#include <com/sun/star/util/XCloneable.idl> +#include <com/sun/star/util/XModifyBroadcaster.idl> +#include <com/sun/star/chart2/data/XDataSequence.idl> +#include <com/sun/star/chart2/data/XNumericalDataSequence.idl> +#include <com/sun/star/chart2/data/XTextualDataSequence.idl> +#include <com/sun/star/chart2/data/DataSequenceRole.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** describes a container for a sequence of values. + + <p>With the interface XDataSequence it is possible to + transfer a complete sequence of values. + + <p>With the optional + com::sun::star::container::XIndexReplace it is + possible to modify single elements, if the corresponding + DataProvider supports modification of its values.</p> + */ +service DataSequence +{ + /** provides read- and write-access to the underlying data. + */ + interface XDataSequence; + + /** you may implement this interface to allow a fast access to + numerical data. With this interface you can get a + `sequence` of `double` values. + */ + [optional] interface XNumericalDataSequence; + + /** you may implement this interface to allow a fast access to + textual data. With this interface you can get a + `sequence` of `string` values. + */ + [optional] interface XTextualDataSequence; + + /** provides read- and write-access to single elements of the + underlying data. + + <p>Only when supporting this interface, it is possible for + client applications to modify the content of the data that is + provided by this DataSequence.</p> + */ + [optional] interface ::com::sun::star::container::XIndexReplace; + + /** Allows creating copies of data sequences. If this interface + is not supported, the same object will be shared if used by + multiple objects. + + <p>Cloning is especially useful when using identifiers. A + cloned data sequence will get a new identifier while the + source range representation is identical to the original + one.</p> + + <p>Note that, when this interface is not implemented the + releasing of identifiers at the XDataProvider + will not work properly, because more than one object may use + the same identifier. So, when an object releases the + identifier, another object might use a stale identifier.</p> + */ + [optional] interface ::com::sun::star::util::XCloneable; + + /** is used to broadcast change events whenever the content (data) + or the range representations change. + */ + interface com::sun::star::util::XModifyBroadcaster; + + /** the property interface by which the properties of all + supported services are exchanged + */ + interface ::com::sun::star::beans::XPropertySet; + + + /** The key (index) of the number format that this sequence should + be formatted with. + + <p>The key identifies a number format in an + com::sun::star::util::XNumberFormats + object. This object can be retrieved by the + com::sun::star::util::XNumberFormatsSupplier + interface supported by + com::sun::star::chart::ChartDocument.</p> + + @todo use proper number format instead of a transient key. + */ +// [optional, property] long NumberFormatKey; + + /** The role of the series inside a data series. This may be any + string. However some strings are predefined and should always + be used in the same way. + + @see DataSequenceRole + */ + [property] DataSequenceRole Role; + + /** If set to false `FALSE`, values from hidden cells are not returned. + */ + [optional, property] boolean IncludeHiddenCells; + + /** a sequence of indexes that identify values that are hidden in the underlying + data provider. + */ + [optional, property] sequence< long > HiddenValues; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/DataSequenceRole.idl b/offapi/com/sun/star/chart2/data/DataSequenceRole.idl new file mode 100644 index 000000000..90fd2abd9 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/DataSequenceRole.idl @@ -0,0 +1,102 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_DataSequenceRole_idl +#define com_sun_star_chart2_data_DataSequenceRole_idl + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** a string that states in what way a DataSequence + should be used. If this property is an empty string, no + proposition about usage is made. + + <p>The strings can have any value. However some values are + predefined and should always be interpreted in the same way.</p> + + <dl> + <dt>label</dt> + <dd>values are used as a label for a series. Usually, you + will have just one cell containing a string.</dd> + <dt>values-x</dt> + <dd>values are used as x-values in an XY- or bubble + diagram</dd> + <dt>values-y</dt> + <dd>values are used as y-values in an XY-Diagram or as values + in a bar, line, etc. chart</dd> + <dt>values-z</dt> + <dd>values may be used as z-values in a three-dimensional + XYZ-Diagram or a surface-chart</dd> + <dt>sizes</dt> + <dd>values are used as radius of the bubbles in a + Bubble-Diagram</dd> + <dt>error-bars-x-positive</dt> + <dd>values are used as error-information in positive x-direction for + displaying error-bars</dd> + <dt>error-bars-x-negative</dt> + <dd>values are used as error-information in negative x-direction for + displaying error-bars</dd> + <dt>error-bars-y-positive</dt> + <dd>values are used as error-information in positive y-direction for + displaying error-bars</dd> + <dt>error-bars-y-negative</dt> + <dd>values are used as error-information in negative y-direction for + displaying error-bars</dd> + <dt>categories</dt> + <dd>values are used for categories in the diagram</dd> + </dl> + + <p>In a candle-stick chart you have the following roles:</p> + + <dl> + <dt>values-first</dt> + <dd>the first value of a series of values. In a stock-chart this + would be the opening course.</dd> + <dt>values-last</dt> + <dd>the last value of a series of values. In a stock-chart this + would be the closing course.</dd> + <dt>values-min</dt> + <dd>the minimum value of a series of values. In a stock-chart + this would be the lowest course that occurred during + trading.</dd> + <dt>values-max</dt> + <dd>the maximum value of a series of values. In a stock-chart + this would be the highest course that occurred during + trading.</dd> + </dl> + */ +typedef string DataSequenceRole; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/DataSink.idl b/offapi/com/sun/star/chart2/data/DataSink.idl new file mode 100644 index 000000000..24b26aa21 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/DataSink.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_DataSink_idl +#define com_sun_star_chart2_data_DataSink_idl + +#include <com/sun/star/chart2/data/XDataSink.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** describes a service that allows reading two-dimensional data in + the form of a sequence of DataSequences. + */ +service DataSink +{ + /** allows the write-access of the actual data. + */ + interface XDataSink; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/DataSource.idl b/offapi/com/sun/star/chart2/data/DataSource.idl new file mode 100644 index 000000000..9ea7669c3 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/DataSource.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_DataSource_idl +#define com_sun_star_chart2_data_DataSource_idl + +#include <com/sun/star/chart2/data/XDataSource.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** describes a service that allows reading two-dimensional data in + the form of a sequence of DataSequences. + */ +service DataSource +{ + /** allows the read-access of the actual data. + */ + interface XDataSource; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/DatabaseDataProvider.idl b/offapi/com/sun/star/chart2/data/DatabaseDataProvider.idl new file mode 100644 index 000000000..a9bf0fee4 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/DatabaseDataProvider.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_chart2_data_DatabaseDataProvider_idl__ +#define __com_sun_star_chart2_data_DatabaseDataProvider_idl__ + +#include <com/sun/star/chart2/data/XDatabaseDataProvider.idl> + + + module com { module sun { module star { module chart2 { module data { + + +service DatabaseDataProvider : XDatabaseDataProvider +{ + createWithConnection([in] com::sun::star::sdbc::XConnection connection); +}; + + }; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/HighlightedRange.idl b/offapi/com/sun/star/chart2/data/HighlightedRange.idl new file mode 100644 index 000000000..dbd8a9b26 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/HighlightedRange.idl @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_HighlightedRange_idl +#define com_sun_star_chart2_data_HighlightedRange_idl + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +struct HighlightedRange +{ + /** The range representation string of the highlighted range. + */ + string RangeRepresentation; + + /** Only take the cell at position Index out of the given + Range. If this value is -1 take the whole sequence. + */ + long Index; + + /** Use this color for marking the range. This color may be + ignored and replaced by a better fitting color, if it would be + otherwise not well visible. + */ + long PreferredColor; + + /** If the highlighted range is visually highlighted and this + member is `TRUE`, the range given in + #RangeRepresentation may be included in a + merged range rectangle spanning a bigger range. + */ + boolean AllowMerginigWithOtherRanges; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/LabelOrigin.idl b/offapi/com/sun/star/chart2/data/LabelOrigin.idl new file mode 100644 index 000000000..cec70732a --- /dev/null +++ b/offapi/com/sun/star/chart2/data/LabelOrigin.idl @@ -0,0 +1,86 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_data_LabelOrigin_idl +#define com_sun_star_chart2_data_LabelOrigin_idl + + +module com { module sun { module star { module chart2 { module data { + + +/** is used to specify how the labels have to be created. + + @see XDataSequence::generateLabel(). + */ +enum LabelOrigin +{ + + /** If a range spans a single row over more than one column, this + parameter has the same effect as ROW. If the range spans a + single column over more than one row, this is the same as + COLUMN. + + <p>In case of a range spanning more than one column and row, + the shorter range of both should be used (e.g. a spreadsheet + range A1:B10 should treat columns as short side).</p> + + <p>In case of a rectangular range, or a range that is composed + of more than one contiguous sub-regions, the short side cannot + be determined, thus + XDataSequence::generateLabel() will return an + empty sequence.</p> + */ + SHORT_SIDE, + + + /** This is exactly the opposite of SHORT_SIDE. I.e., if + SHORT_SIDE has the same effect as ROW, LONG_SIDE will have the + same effect as COLUMN and the other way round. + + @see LabelOrigin::SHORT_SIDE + */ + LONG_SIDE, + + + /** Uses the column name for label generation. A spreadsheet + range A1:A6 could, e.g., result in "Column A". + + <p>If a range consists of more than one column the result of + label generation may be empty. Of course, it could also + succeed with a string like "Columns A to B". + */ + COLUMN, + + + /** Uses the column name for label generation. A spreadsheet + range A2:D2 could, e.g., result in "Row 2". + + <p>If a range consists of more than one row the result of + label generation may be empty. Of course, it could also + succeed with a string like "Rows 1-3". + */ + ROW +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/LabeledDataSequence.idl b/offapi/com/sun/star/chart2/data/LabeledDataSequence.idl new file mode 100644 index 000000000..58d78598a --- /dev/null +++ b/offapi/com/sun/star/chart2/data/LabeledDataSequence.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_LabeledDataSequence_idl +#define com_sun_star_chart2_data_LabeledDataSequence_idl + +#include <com/sun/star/chart2/data/XLabeledDataSequence2.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** describes a container for a sequence pair of value-sequences, one + for a label and one for the associated data. + */ +service LabeledDataSequence : XLabeledDataSequence2; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/PivotTableFieldEntry.idl b/offapi/com/sun/star/chart2/data/PivotTableFieldEntry.idl new file mode 100644 index 000000000..e14e1253d --- /dev/null +++ b/offapi/com/sun/star/chart2/data/PivotTableFieldEntry.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + */ +#ifndef com_sun_star_chart2_data_PivotTableFieldEntry_idl +#define com_sun_star_chart2_data_PivotTableFieldEntry_idl + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** + * Pivot table field entry data. + * + * @since LibreOffice 5.4 + */ +struct PivotTableFieldEntry +{ + /** + * Name of the field entry. + */ + string Name; + + /** + * The index of the field entry. + */ + long DimensionIndex; + + /** + * The output position of the field entry in its field type. + */ + long DimensionPositionIndex; + + /** + * Does it have some members that are hidden (filtered). + */ + boolean HasHiddenMembers; +}; + +}; // data +}; // chart2 +}; // com +}; // sun +}; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/RangeHighlightListener.idl b/offapi/com/sun/star/chart2/data/RangeHighlightListener.idl new file mode 100644 index 000000000..d3c6eaa8c --- /dev/null +++ b/offapi/com/sun/star/chart2/data/RangeHighlightListener.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_RangeHighlightListener_idl +#define com_sun_star_chart2_data_RangeHighlightListener_idl + +#include <com/sun/star/view/XSelectionChangeListener.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** A selection change listener that is attached to a + XRangeHighlighter in order to get notified about + selection changes that affect range highlighting. + */ +service RangeHighlightListener +{ + interface ::com::sun::star::view::XSelectionChangeListener; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/RangeHighlighter.idl b/offapi/com/sun/star/chart2/data/RangeHighlighter.idl new file mode 100644 index 000000000..e2b98cbc1 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/RangeHighlighter.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_RangeHighlighter_idl +#define com_sun_star_chart2_data_RangeHighlighter_idl + +#include <com/sun/star/chart2/data/XRangeHighlighter.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +service RangeHighlighter +{ + interface XRangeHighlighter; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl b/offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl new file mode 100644 index 000000000..ebd2c6955 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl @@ -0,0 +1,153 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_TabularDataProviderArguments_idl +#define com_sun_star_chart2_data_TabularDataProviderArguments_idl + +#include <com/sun/star/chart/ChartDataRowSource.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +service TabularDataProviderArguments +{ + /** the range address string spanning all data. + + <p>The range address string must be interpretable by the + component that implements XDataProvider and gets + this property as argument to + XDataProvider::detectArguments().</p> + + <p>The representation string is of a form that may be used in the + user interface. Example for OOo Calc: "$Sheet1.$A$1:$D$7", + example for OOo Writer: "<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..e0f450a1a --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XDataProvider.idl @@ -0,0 +1,179 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XDataProvider_idl +#define com_sun_star_chart2_data_XDataProvider_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/chart2/data/XDataSource.idl> +#include <com/sun/star/beans/PropertyValue.idl> +#include <com/sun/star/sheet/XRangeSelection.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** An application that provides data for a chart must implement this + interface. + */ +interface XDataProvider : ::com::sun::star::uno::XInterface +{ + /** If `TRUE` is returned, a call to createDataSource with the + same arguments must return a valid XDataSequence object. If + `FALSE` is returned, createDataSource throws an exception. + */ + boolean createDataSourcePossible( [in] sequence< com::sun::star::beans::PropertyValue > aArguments ); + + /** Creates a data source object that matches the given range + representation string. + + <p>This can be used for creating the necessary data for a new + chart out of a previously selected range of cells in a + spreadsheet.</p> + + @param aArguments + Arguments that tell the data provider how to slice the + given range. The properties should be defined in a + separate service. + + <p>For spreadsheets and text document tables there exists a + service TabularDataProviderArguments + describing valid values for this list.</p> + + @return + a data source containing DataSequences that + span the entire region given in <code>aArguments</code>. + + @throws ::com::sun::star::lang::IllegalArgumentException + may be raised by the XDataProvider if it is + unable to interpret the arguments passed in + <code>aArguments</code> appropriately. + */ + XDataSource createDataSource( + [in] sequence< com::sun::star::beans::PropertyValue > aArguments ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** Tries to find out with what parameters the passed + DataSource most probably was created. + + <p>if xDataSource is a data source that was created with + createDataSource(), the arguments returned here + should be the same than the ones passed to the function. + Of course, this cannot be guaranteed. However, if detection + is ambiguous, the returned arguments should be empty. </p> + + <p>This method may merge representation strings together if + adjacent ranges appear successively in the range identifiers. + E.g., if the first range refers to "$Sheet1.$A$1:$A$8" and the + second range refers to "$Sheet1.$B$1:$B$8", those should be + merged together to "$Sheet1.$A$1:$B$8".</p> + + @param xDataSource + A data source containing all data used in a chart. + + @return + Arguments that when being passed to + createDataSource() should in an ideal case + return the same data source as <code>xDataSource</code>. + */ + sequence< com::sun::star::beans::PropertyValue > detectArguments( + [in] XDataSource xDataSource ); + + /** If `TRUE` is returned, a call to + createDataSequenceByRangeRepresentation with the same argument must + return a valid XDataSequence object. If `FALSE` is returned, + createDataSequenceByRangeRepresentation throws an exception. + */ + boolean createDataSequenceByRangeRepresentationPossible( [in] string aRangeRepresentation ); + + /** creates a single data sequence for the given data range. + + @param aRangeRepresentation + is a string that can be interpreted by the component that + implements this interface. The representation string is + of a form that may be used in the user interface. + + @see createDataSource + + @throws com::sun::star::lang::IllegalArgumentException + if the given range does not contain a valid range + representation for a one-dimensional range of data. + */ + XDataSequence createDataSequenceByRangeRepresentation( + [in] string aRangeRepresentation ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** Creates a single data sequence from the string value array representation + + @param aRole + The role of the sequence inside a data series. This may be any + string. However some strings are predefined and should always + be used in the same way. + + @param aValueArray + is a string that contains the value representation of the + sequence to be created. + + @param aRoleQualifier + is a string that describes the role of the sequence. + This may be any string. However some strings are predefined + and should always be used in the same way. + + @throws com::sun::star::lang::IllegalArgumentException + if the given value array does not contain a valid value array + representation. + */ + XDataSequence createDataSequenceByValueArray( [in] string aRole, [in] string aValueArray, + [in] string aRoleQualifier ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** Returns a component that is able to change a given range + representation to another one. This usually is a + controller-component that uses the GUI to allow a user to + select a new range. + + <p>This method may return nothing, if it does not support + range selection or if there is no current controller available + that offers the functionality.</p> + + @return + The component for selecting a new range. It must support + XComponent, in order to inform the receiver + about its lifetime.</p> + */ + com::sun::star::sheet::XRangeSelection getRangeSelection(); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XDataReceiver.idl b/offapi/com/sun/star/chart2/data/XDataReceiver.idl new file mode 100644 index 000000000..a7c853b1f --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XDataReceiver.idl @@ -0,0 +1,106 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XDataReceiver_idl +#define com_sun_star_chart2_data_XDataReceiver_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/chart2/data/XDataProvider.idl> +#include <com/sun/star/chart2/data/XRangeHighlighter.idl> +#include <com/sun/star/beans/PropertyValue.idl> +#include <com/sun/star/util/XNumberFormatsSupplier.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +interface XDataReceiver : ::com::sun::star::uno::XInterface +{ + /** attaches a component that provides data for the document. + + <p>The previously set data provider will be released.</p> + + @param xProvider + The new DataProvider. If it is an empty reference, the + ChartDocument will have no data. + */ + void attachDataProvider( [in] XDataProvider xProvider ); + + void setArguments( [in] sequence< com::sun::star::beans::PropertyValue > aArguments ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** returns a list of all range strings for which data has been + requested by the most recently attached data provider, and + which is still used. + + <p>This list may be used by the data provider to swap charts + out of memory, but still get informed by changes of ranges + while the chart is not loaded.</p> + @return a list of used range strings. + */ + sequence< string > getUsedRangeRepresentations(); + + /** Returns the data requested by the most recently attached data + provider, that is still used. + */ + XDataSource getUsedData(); + + /** attaches an XNumberFormatsSupplier to this + XDataReceiver. + + <p>The given number formats will be used for display purposes.</p> + */ + void attachNumberFormatsSupplier( [in] com::sun::star::util::XNumberFormatsSupplier xSupplier ); + + /** Returns a component at which a view representing the data of + the attached data provider may listen for highlighting the + data ranges used by the currently selected objects in the data + receiver component. + + <p>This is typically used by a spreadsheet to highlight the + ranges used by the currently selected object in a chart.</p> + + <p>The range highlighter is optional, i.e., this method may + return an empty object.</p> + */ + XRangeHighlighter getRangeHighlighter(); + + /** A callback object to execute a foreign popup menu window. + + @since LibreOffice 5.4 + */ + com::sun::star::awt::XRequestCallback getPopupRequest(); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XDataSequence.idl b/offapi/com/sun/star/chart2/data/XDataSequence.idl new file mode 100644 index 000000000..28999c01c --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XDataSequence.idl @@ -0,0 +1,132 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XDataSequence_idl +#define com_sun_star_chart2_data_XDataSequence_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/chart2/data/LabelOrigin.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** allows access to a one-dimensional sequence of data. + + <p>The data that is stored in this container may contain different + types.</p> + */ +interface XDataSequence : ::com::sun::star::uno::XInterface +{ + /** retrieves the data stored in this component. + + @return a sequence containing the actual data. This sequence + is a copy of the internal data. Therefore changing + this object does not affect the content of the + XDataSequence object. + */ + sequence< any > getData(); + + /** returns the (UI) range representation string used by this + XDataSequence. + */ + string getSourceRangeRepresentation(); + + /** creates a label that describes the origin of this data + sequence. + + <p>This is useful, if a XLabeledDataSequence has + no label sequence. In this case you can call this method at + the value sequence to obtain a fitting replacement label.</p> + + <p>The sequence returned here may be empty if no suitable + label can be generated.</p> + + <p>The strings returned should be localized.</p> + + @param eLabelOrigin + denotes what part of the range should be used for label + generation. If you have, e.g., one cell only, the + parameter COLUMN enables you to get the name of the cell's + column, the parameter ROW will give you its row name. + + If you have a non quadratic range you can ask for labels for + the longer side with parameter LONG_SIDE or you can obtain labels + for the shorter side with parameter SHORT_SIDE. + + If the range is not structured in a tabular way you may receive + no label. + + @return + Suitable labels for the given sequence depending on the range + of the sequence and the parameter <code>eLabelOrigin</code> passed. + In a spreadsheet this would typically be a label like "Column x" + for the short side used as DataSeries name and maybe a + sequence "Row 1" "Row 2" "Row 3" for the long side to be used + as categories for example. + + Example: Assuming this sequence has a Range representation spanning + row 5 and 6 in column 8. Following sequences of strings or similar strings + are expected as return values: + + generateLabel( SHORT_SIDE ) -> "Column 8" + generateLabel( LONG_SIDE ) -> "Row 5" "Row 6" + generateLabel( COLUMN ) -> "Column 8" + generateLabel( ROW ) -> "Row 5" "Row 6" + + Which strings exactly you return depends on the naming scheme of the application + which provides its tabular data. + */ + sequence< string > generateLabel( [in] com::sun::star::chart2::data::LabelOrigin eLabelOrigin ); + + /** returns a number format key for the value at the given index + in the data sequence. If nIndex is -1, a key for the entire + sequence should be returned, e.g. the most commonly used one. + + <p>If number formats are not supported, or there is no + heuristic to return a key for the entire series, return 0 + here.</p> + + <p>The number format key must be valid for the + com::sun::star::util::XNumberFormatsSupplier + given by the XDataProvider, or 0 which is assumed + to be always valid.</p> + */ + long getNumberFormatKeyByIndex( [in] long nIndex ) + raises( ::com::sun::star::lang::IndexOutOfBoundsException ); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XDataSink.idl b/offapi/com/sun/star/chart2/data/XDataSink.idl new file mode 100644 index 000000000..6595109f2 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XDataSink.idl @@ -0,0 +1,71 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XDataSink_idl +#define com_sun_star_chart2_data_XDataSink_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/chart2/data/XLabeledDataSequence.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** is a container for sequences of data. With this interface data + can only be written to. + + <p>If you want to be able to also read the data set here, your + component must also implement XDataSource.</p> + */ +interface XDataSink : ::com::sun::star::uno::XInterface +{ + /** sets new data sequences. The elements set here must support + the service DataSequence. + + <p>If the data consist only of floating point numbers (double + values), the instances set here should also support the + service NumericalDataSequence.</p> + + <p>If the data consist only of strings, the instances set here + should also support the service + TextualDataSequence.</p> + + <p>If one of the derived services is supported by one element + of the sequence, it should be available for all elements in + the sequence.</p> + */ + void setData( [in] sequence< XLabeledDataSequence > aData ); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XDataSource.idl b/offapi/com/sun/star/chart2/data/XDataSource.idl new file mode 100644 index 000000000..4312460ee --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XDataSource.idl @@ -0,0 +1,76 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XDataSource_idl +#define com_sun_star_chart2_data_XDataSource_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/chart2/data/XLabeledDataSequence.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + + +/** provides access to sequences of data. With this interface data + can only be read from. + + <p>If the data stored consists only of floating point numbers (double + values), the returned instances should also support the service + NumericalDataSequence.</p> + + <p>If the data stored consists only of strings, the returned + instances should also support the service + TextualDataSequence.</p> + */ +interface XDataSource : ::com::sun::star::uno::XInterface +// : ::com::sun::star::container::XIndexAccess +{ + /** returns data sequences. + + @return a sequence of objects that support at least the + service DataSequence. + + <p>If the data stored consist only of floating point numbers + (double values), the returned instances should also support + the service NumericalDataSequence.</p> + + <p>If the data stored consist only of strings, the returned + instances should also support the service + TextualDataSequence.</p> + */ + sequence< XLabeledDataSequence > getDataSequences(); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl b/offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl new file mode 100644 index 000000000..c8c0bcafb --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl @@ -0,0 +1,206 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart2_data_XDatabaseDataProvider_idl__ +#define __com_sun_star_chart2_data_XDatabaseDataProvider_idl__ + +#include <com/sun/star/container/NoSuchElementException.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/beans/UnknownPropertyException.idl> +#include <com/sun/star/lang/XInitialization.idl> +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/sdbc/XConnection.idl> +#include <com/sun/star/sdbc/XParameters.idl> +#include <com/sun/star/sdbc/XRowSet.idl> +#include <com/sun/star/chart2/data/XDataProvider.idl> +#include <com/sun/star/chart2/data/XRangeXMLConversion.idl> + + + module com { module sun { module star { module chart2 { module data { + + +/** identifies a XDataProvider for result sets. + + @see XDataProvider + @see DataProvider + */ +interface XDatabaseDataProvider +{ + /** For accessing data a component provides for being used by + charts. + */ + interface XDataProvider; + + /** allows you to convert the ranges a data provider deals with + internally into valid XML. + */ + interface XRangeXMLConversion; + + /** allows access to the properties of the instance. + */ + interface com::sun::star::lang::XInitialization; + + /** allows life-time control of the database data provider. + */ + interface com::sun::star::lang::XComponent; + + /** allows access to the properties of the instance. + */ + interface com::sun::star::beans::XPropertySet; + + interface com::sun::star::sdbc::XParameters; + interface com::sun::star::sdbc::XRowSet; + + /** is used for subreports and contains the names of columns of the parent report. + <p> These columns are typically the foreign key fields of the parent report. + The values of these columns are used to identify the data for the subreport. + Each time the parent report changes its current row, the subreport requeries + it's data based on the values of the master fields.</p> + <p>If the report is no sub report (e.g. its parent is not a report itself), this + property is not evaluated.</p> + + */ + [attribute,bound] sequence<string> MasterFields; + + /**is used for subreports and contains the names of the columns of the subreport + which are related to the master fields of the parent report. + <p>Entries in this sequence can either denote column names in the sub report, + or parameter names.<br/> + For instance, you could base the report on the SQL statement + <code>SELECT * FROM invoices WHERE cust_ref = :cid</code>, and add <code>cid</code> + to the DetailFields property. In this case, the parameter will be filled from + the corresponding master field.<br/> + Alternatively, you could simply base your report on the table <code>invoices</code>, + and add the column name <code>cust_ref</code> to the DetailFields. In this case, + and implicit filter clause <code>WHERE cust_ref = :<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: */ |