diff options
Diffstat (limited to 'offapi/com/sun/star/chart')
82 files changed, 6212 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: */ |