diff options
author | Vladimir Glazunov <vg@openoffice.org> | 2011-01-31 17:20:05 +0100 |
---|---|---|
committer | Vladimir Glazunov <vg@openoffice.org> | 2011-01-31 17:20:05 +0100 |
commit | 03f7ddf5a4865d42567792ea6642a3ac1367d3f7 (patch) | |
tree | 7bf9f2bab3df87dc0c71aed692bd5fe9e81e1eac /offapi | |
parent | 67d46507ae52ea67272212f07c7ee6d25428debf (diff) | |
parent | b5b8ae17fe9f4fb38edaf03718279c60319ae392 (diff) |
CWS-TOOLING: integrate CWS chart46
Diffstat (limited to 'offapi')
25 files changed, 656 insertions, 366 deletions
diff --git a/offapi/com/sun/star/chart/ChartAxis.idl b/offapi/com/sun/star/chart/ChartAxis.idl index f71d9c07c..77110cf44 100644 --- a/offapi/com/sun/star/chart/ChartAxis.idl +++ b/offapi/com/sun/star/chart/ChartAxis.idl @@ -53,8 +53,20 @@ #ifndef __com_sun_star_chart_ChartAxisMarkPosition_idl__ #include <com/sun/star/chart/ChartAxisMarkPosition.idl> -#endif - +#endif + +#ifndef __com_sun_star_chart_ChartAxisType_idl__ +#include <com/sun/star/chart/ChartAxisType.idl> +#endif + +#ifndef __com_sun_star_chart_TimeIncrement_idl__ +#include <com/sun/star/chart/TimeIncrement.idl> +#endif + +#ifndef __com_sun_star_chart_XAxis_idl__ +#include <com/sun/star/chart/XAxis.idl> +#endif + #ifndef _com_sun_star_xml_UserDefinedAttributeSupplier_idl_ #include <com/sun/star/xml/UserDefinedAttributeSupplier.idl> #endif @@ -72,8 +84,6 @@ */ published service ChartAxis { - - /** set the properties for the entire axis line as well as for the tick marks. */ @@ -83,14 +93,19 @@ published service ChartAxis */ service com::sun::star::style::CharacterProperties; - /** If a <type>ChartAxis</type> may be stored as XML element, this - service should be supported in order to preserve unparsed XML - attributes. + /** If a <type>ChartAxis</type> 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::UserDefinedAttributeSupplier; + /** 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; //------------------------------------------------------------------------- @@ -169,6 +184,20 @@ published service ChartAxis //------------------------------------------------------------------------- + /** 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 choosen 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; diff --git a/offapi/com/sun/star/chart/ChartAxisType.idl b/offapi/com/sun/star/chart/ChartAxisType.idl new file mode 100644 index 000000000..f51c5857c --- /dev/null +++ b/offapi/com/sun/star/chart/ChartAxisType.idl @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#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 choosen 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 diff --git a/offapi/com/sun/star/chart/Diagram.idl b/offapi/com/sun/star/chart/Diagram.idl index 2074285ed..639068d80 100644 --- a/offapi/com/sun/star/chart/Diagram.idl +++ b/offapi/com/sun/star/chart/Diagram.idl @@ -29,7 +29,11 @@ #ifndef __com_sun_star_chart_XDiagram_idl__ #include <com/sun/star/chart/XDiagram.idl> -#endif +#endif + +#ifndef __com_sun_star_chart_XAxisSupplier_idl__ +#include <com/sun/star/chart/XAxisSupplier.idl> +#endif #ifndef __com_sun_star_chart_XDiagramPositioning_idl__ #include <com/sun/star/chart/XDiagramPositioning.idl> @@ -72,8 +76,12 @@ published service Diagram interface com::sun::star::chart::XDiagram; - /** Provides access to the titles of the secondary X axis and Y axis. + /** Provides easier access to the differnet 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; diff --git a/offapi/com/sun/star/chart/TimeIncrement.idl b/offapi/com/sun/star/chart/TimeIncrement.idl new file mode 100644 index 000000000..cdefaace2 --- /dev/null +++ b/offapi/com/sun/star/chart/TimeIncrement.idl @@ -0,0 +1,67 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#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 <type>::com::sun::star::chart::TimeInterval</type> + 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 <type>::com::sun::star::chart::TimeInterval</type> + 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 <type>::com::sun::star::chart::TimeUnit</type> + 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 choosen automatically by the application. + */ + any TimeResolution; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/chart/TimeInterval.idl b/offapi/com/sun/star/chart/TimeInterval.idl new file mode 100644 index 000000000..2146e25e1 --- /dev/null +++ b/offapi/com/sun/star/chart/TimeInterval.idl @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#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 <type>::com::sun::star::chart::TimeUnit</type>.</p> + */ + long TimeUnit; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/chart2/Break.idl b/offapi/com/sun/star/chart/TimeUnit.idl index c45698edc..112c2c639 100644 --- a/offapi/com/sun/star/chart2/Break.idl +++ b/offapi/com/sun/star/chart/TimeUnit.idl @@ -24,23 +24,27 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef com_sun_star_chart2_Break_idl -#define com_sun_star_chart2_Break_idl - -//============================================================================= - -module com { module sun { module star { module chart2 { - -//============================================================================= - -struct Break -{ - double Min; - double Max; -}; - -//============================================================================= - -}; }; }; }; - +#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 diff --git a/offapi/com/sun/star/chart/XAxis.idl b/offapi/com/sun/star/chart/XAxis.idl new file mode 100755 index 000000000..9a1503aa7 --- /dev/null +++ b/offapi/com/sun/star/chart/XAxis.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef com_sun_star_chart_XAxis_idl +#define com_sun_star_chart_XAxis_idl + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +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 <type>ChartTitle</type>. + */ + com::sun::star::beans::XPropertySet getAxisTitle(); + + /** @returns + the properties of the major grid of the axis. The returned object supports service <type>ChartGrid</type>. + */ + com::sun::star::beans::XPropertySet getMajorGrid(); + + /** @returns + the properties of the minor grid of the axis. The returned object supports service <type>ChartGrid</type>. + */ + com::sun::star::beans::XPropertySet getMinorGrid(); +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/chart/XAxisSupplier.idl b/offapi/com/sun/star/chart/XAxisSupplier.idl new file mode 100755 index 000000000..43701ca10 --- /dev/null +++ b/offapi/com/sun/star/chart/XAxisSupplier.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef com_sun_star_chart_XAxisSupplier_idl +#define com_sun_star_chart_XAxisSupplier_idl + +#ifndef __com_sun_star_chart_XAxis_idl__ +#include <com/sun/star/chart/XAxis.idl> +#endif + +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 <type>ChartAxis</type>. + + @param nDimensionIndex + Parameter nDimensionIndex says wether 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 <type>ChartAxis</type>. + + @param nDimensionIndex + Parameter nDimensionIndex says wether it is a x, y or z-axis (0 for x). + */ + com::sun::star::chart::XAxis getSecondaryAxis( [in] long nDimensionIndex ); +}; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/chart/XChartDocument.idl b/offapi/com/sun/star/chart/XChartDocument.idl index 5522020d7..32c2fdce1 100644 --- a/offapi/com/sun/star/chart/XChartDocument.idl +++ b/offapi/com/sun/star/chart/XChartDocument.idl @@ -143,10 +143,13 @@ published interface XChartDocument: com::sun::star::frame::XModel <p>Since OOo 3.3 the returned object also supports interface <type>XComplexDescriptionAccess</type> which can be used to access complex hierarchical axis descriptions.</p> + + <p>Since OOo 3.4 the returned object also supports interface <type>XDateCategories</type>.</p> @see XChartData @see XChartDataArray @see XComplexDescriptionAccess + @see XDateCategories */ com::sun::star::chart::XChartData getData(); @@ -159,12 +162,16 @@ published interface XChartDocument: com::sun::star::frame::XModel <p>Since OOo 3.3 if the given object might support interface <type>XComplexDescriptionAccess</type> which allows to set complex hierarchical axis descriptions.</p> + <p>Since OOo 3.4 if the given object might support interface <type>XDateCategories</type> + 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. diff --git a/offapi/com/sun/star/chart/XDateCategories.idl b/offapi/com/sun/star/chart/XDateCategories.idl new file mode 100755 index 000000000..d2e86686f --- /dev/null +++ b/offapi/com/sun/star/chart/XDateCategories.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#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 <type>XChartDocument</type> 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 diff --git a/offapi/com/sun/star/chart/makefile.mk b/offapi/com/sun/star/chart/makefile.mk index fdbf07173..7c9d53e12 100644 --- a/offapi/com/sun/star/chart/makefile.mk +++ b/offapi/com/sun/star/chart/makefile.mk @@ -52,6 +52,7 @@ IDLFILES=\ ChartAxisPosition.idl\ ChartAxisLabelPosition.idl\ ChartAxisMarkPosition.idl\ + ChartAxisType.idl\ ChartAxisXSupplier.idl\ ChartAxisYSupplier.idl\ ChartAxisZSupplier.idl\ @@ -84,6 +85,7 @@ IDLFILES=\ ChartTwoAxisXSupplier.idl\ ChartTwoAxisYSupplier.idl\ DataLabelPlacement.idl\ + TimeIncrement.idl \ Diagram.idl\ Dim3DDiagram.idl\ DonutDiagram.idl\ @@ -94,8 +96,12 @@ IDLFILES=\ PieDiagram.idl\ StackableDiagram.idl\ StockDiagram.idl\ + TimeUnit.idl\ + TimeInterval.idl\ X3DDefaultSetter.idl\ X3DDisplay.idl\ + XAxis.idl\ + XAxisSupplier.idl\ XAxisXSupplier.idl\ XAxisYSupplier.idl\ XAxisZSupplier.idl\ @@ -104,6 +110,7 @@ IDLFILES=\ XChartDataChangeEventListener.idl\ XChartDocument.idl\ XComplexDescriptionAccess.idl\ + XDateCategories.idl\ XDiagram.idl\ XDiagramPositioning.idl\ XStatisticDisplay.idl\ diff --git a/offapi/com/sun/star/chart2/AxisType.idl b/offapi/com/sun/star/chart2/AxisType.idl index f981eda17..c79d03abf 100644 --- a/offapi/com/sun/star/chart2/AxisType.idl +++ b/offapi/com/sun/star/chart2/AxisType.idl @@ -50,6 +50,9 @@ constants AxisType /** the axis shows the series names (z axis) */ const long SERIES = 3; + /** the axis shows dates + */ + const long DATE = 4; }; } ; // chart2 diff --git a/offapi/com/sun/star/chart2/ExplicitIncrementData.idl b/offapi/com/sun/star/chart2/ExplicitIncrementData.idl deleted file mode 100644 index 70e0120df..000000000 --- a/offapi/com/sun/star/chart2/ExplicitIncrementData.idl +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef com_sun_star_chart2_ExplicitIncrementData_idl -#define com_sun_star_chart2_ExplicitIncrementData_idl - -#include <com/sun/star/chart2/ExplicitSubIncrement.idl> - -//============================================================================= - -module com { module sun { module star { module chart2 { - -//============================================================================= - -/** An Increment describes how tickmarks are positioned on the scale of an axis. - -@see <type>Axis</type> -@see <type>Grid</type> -@see <type>Scale</type> -@see <type>XScaling</type> -*/ -struct ExplicitIncrementData -{ - /** <member>Distance</member> describes the distance between two - neighboring main tickmarks on a <type>Scale</type> of an axis. - All neighboring main tickmarks have the same constant distance. - - <p>If the Scale has a <type>XScaling</type> the <member>Distance</member> - may be measured in two different ways - that is - before or after the - scaling is applied.</p> - - <p>On a logarithmic scale for example the distance between two main - tickmarks is typically measured after the scaling is applied: - Distance = log(tick2)-log(tick1) - ( log(1000)-log(100)==log(100)-log(10)==log(10)-log(1)==1==Distance ). - The resulting tickmarks will always look equidistant on the screen. - The other possibility is to have a Distance = tick2-tick1 measured constant - before a scaling is applied, which may lead to non equidistant tickmarks - on the screen.</p> - - <p><member>PostEquidistant</member> rules wether the <member>Distance</member> - is meant to be a value before or after scaling.</p> - */ - double Distance; - - /** - <member>PostEquidistant</member> rules wether the member <member>Distance</member> - describes a distance before or after the scaling is applied. - - <p>If <member>PostEquidistant</member> equals <TRUE/> <member>Distance</member> - is given in values after <type>XScaling</type> is applied, thus resulting - main tickmarks will always look equidistant on the screen. - If <member>PostEquidistant</member> equals <FALSE/> <member>Distance</member> - is given in values before <type>XScaling</type> is applied.</p> - */ - boolean PostEquidistant; - - /** The <member>BaseValue</member> gives a starting point on the scale - to which all further main tickmarks are relatively positioned. - - <p>The <member>BaseValue</member> is always a value on the scale before - a possible scaling is applied. If the given value is not valid in the - associated scaling the minimum of the scaling is assumed, - if there is no minimum any other obvious value will be assumed.</p> - - <p>E.g.: assume a scale from 0 to 6 with identical scaling. - Further assume this Increment to have Distance==2 and PostEquidistant==false. - Setting BaseValue=0 would lead to main tickmarks 0; 2; 4; 6; - Setting BaseValue=1,3 would lead to main tickmarks 1,3; 3,3; 5,3; - Setting BaseValue=-0,7 would also lead to main tickmarks 1,3; 3,3; 5,3; - And setting BaseValue to 2, -2, 4, -4 etc. in this example - leads to the same result as BaseValue=0.</p> - */ - double BaseValue; - - /** <member>SubIncrements</member> describes the positioning of further - sub tickmarks on the scale of an axis. - - <p>The first SubIncrement in this sequence determines how the - distance between two neighboring main tickmarks is divided for positioning - of further sub tickmarks. Every following SubIncrement determines the - positions of subsequent tickmarks in relation to their parent tickmarks - iven by the preceding SubIncrement.</p> - */ - sequence< ::com::sun::star::chart2::ExplicitSubIncrement > SubIncrements; - - /** If ShiftedPosition is false all ticks are set at the positions as described above. - E.g. having tickmarks for whole numbers 1, 2 and 3 the ticks are exactly placed on positions for the values 1, 2 and 3. - In contrast it is possible to have the tickmarks shifted thus they are placed between the indicated values. - So if ShiftedPosition is set to true the tickmarks in the example are placed at 0.5 1.5 2.5 and 3.5. - */ - boolean ShiftedPosition; -}; - -//============================================================================= - -}; }; }; }; - -#endif diff --git a/offapi/com/sun/star/chart2/ExplicitScaleData.idl b/offapi/com/sun/star/chart2/ExplicitScaleData.idl deleted file mode 100644 index 7639a4d33..000000000 --- a/offapi/com/sun/star/chart2/ExplicitScaleData.idl +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef com_sun_star_chart2_ExplicitScaleData_idl -#define com_sun_star_chart2_ExplicitScaleData_idl - -#ifndef com_sun_star_chart2_Break_idl -#include <com/sun/star/chart2/Break.idl> -#endif - -#ifndef com_sun_star_chart2_XScaling_idl -#include <com/sun/star/chart2/XScaling.idl> -#endif - -#ifndef com_sun_star_chart2_AxisOrientation_idl -#include <com/sun/star/chart2/AxisOrientation.idl> -#endif - -//============================================================================= - -module com { module sun { module star { module chart2 { - -//============================================================================= - -/** This structure contains the explicit values for a scale like Minimum and Maximum. - In contrast these values may also be implicit (automatically - calculated) as indicated within the structure <type>ScaleData</type>. - */ -struct ExplicitScaleData -{ - double Minimum; - double Maximum; - double Origin; - - AxisOrientation Orientation; - - XScaling Scaling; - - sequence< Break > Breaks; - - long AxisType; -}; - -//============================================================================= - -}; }; }; }; - -#endif diff --git a/offapi/com/sun/star/chart2/ExplicitSubIncrement.idl b/offapi/com/sun/star/chart2/ExplicitSubIncrement.idl deleted file mode 100644 index c1af626c5..000000000 --- a/offapi/com/sun/star/chart2/ExplicitSubIncrement.idl +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef com_sun_star_chart2_ExplicitSubIncrement_idl -#define com_sun_star_chart2_ExplicitSubIncrement_idl - -//============================================================================= - -module com { module sun { module star { module chart2 { - -//============================================================================= - -struct ExplicitSubIncrement -{ - /** Numbers of intervals between two superior ticks. For an axis - this usually means, that <code>IntervalCount - 1</code> - sub-tick-marks are displayed between two superior ticks. - - */ - long IntervalCount; - - /** If <TRUE/>, the distance between two sub-tick-marks on the - screen is always the same. If <FALSE/>, the distances may - differ depending on the <type>XScaling</type>. - */ - boolean PostEquidistant; -}; - -//============================================================================= - -}; }; }; }; - -#endif diff --git a/offapi/com/sun/star/chart2/IncrementData.idl b/offapi/com/sun/star/chart2/IncrementData.idl index f487c26e5..ffd595807 100644 --- a/offapi/com/sun/star/chart2/IncrementData.idl +++ b/offapi/com/sun/star/chart2/IncrementData.idl @@ -23,8 +23,6 @@ struct IncrementData incompatible type, the Distance is meant to be calculated automatically by the view component representing the model containing this increment. - - @see <type>ExplicitIncrementData</type> */ any Distance; @@ -45,8 +43,6 @@ struct IncrementData incompatible type, the BaseValue is meant to be calculated automatically by the view component representing the model containing this increment. - - @see <type>ExplicitIncrementData</type> */ any BaseValue; diff --git a/offapi/com/sun/star/chart2/ScaleData.idl b/offapi/com/sun/star/chart2/ScaleData.idl index addd66e10..9bb51005e 100644 --- a/offapi/com/sun/star/chart2/ScaleData.idl +++ b/offapi/com/sun/star/chart2/ScaleData.idl @@ -1,29 +1,12 @@ #ifndef com_sun_star_chart2_ScaleData_idl #define com_sun_star_chart2_ScaleData_idl -#ifndef com_sun_star_chart2_Break_idl -#include <com/sun/star/chart2/Break.idl> -#endif - -#ifndef com_sun_star_chart2_XScaling_idl #include <com/sun/star/chart2/XScaling.idl> -#endif - -#ifndef com_sun_star_chart2_AxisOrientation_idl #include <com/sun/star/chart2/AxisOrientation.idl> -#endif - -#ifndef com_sun_star_chart2_data_XLabeledDataSequence_idl #include <com/sun/star/chart2/data/XLabeledDataSequence.idl> -#endif - -#ifndef com_sun_star_chart2_AxisType_idl #include <com/sun/star/chart2/AxisType.idl> -#endif - -#ifndef com_sun_star_chart_IncrementData_idl #include <com/sun/star/chart2/IncrementData.idl> -#endif +#include <com/sun/star/chart/TimeIncrement.idl> //============================================================================= @@ -76,8 +59,6 @@ struct ScaleData XScaling Scaling; - sequence< Break > Breaks; - data::XLabeledDataSequence Categories; /** describes the type of the axis. @@ -87,7 +68,22 @@ struct ScaleData */ long AxisType; + /** if true an AxisType CATEGORY is interpreted as DATE if the underlying data given in Categories are dates + */ + boolean AutoDateAxis; + + /** describes wether data points on category or date axis are placed between tickmarks or not + if true the maximum on the scale will be expanded for one interval + */ + boolean ShiftedCategoryPosition; + + /** increment data to be used for not date-time axis + */ IncrementData IncrementData; + + /** increment data to be used in case of date-time axis + */ + ::com::sun::star::chart::TimeIncrement TimeIncrement; }; //============================================================================= diff --git a/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl b/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl index 3b5ff4d27..11f509170 100644 --- a/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl +++ b/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl @@ -49,6 +49,11 @@ service StandardDiagramCreationParameters a data-source is used as categories. */ [optional, property] boolean HasCategories; + + /** If categories are given they should be used as x values also if a chart type requires x values. + Default is true. + */ + [optional, property] boolean UseCategoriesAsX; }; } ; // chart2 diff --git a/offapi/com/sun/star/chart2/SubIncrement.idl b/offapi/com/sun/star/chart2/SubIncrement.idl index f076db0ee..b886f2c53 100644 --- a/offapi/com/sun/star/chart2/SubIncrement.idl +++ b/offapi/com/sun/star/chart2/SubIncrement.idl @@ -11,15 +11,11 @@ struct SubIncrement { /** should contain nothing for <em>auto</em>, or an integer value for an explicit interval count. - - @see <type>ExplicitSubIncrement</type> */ any IntervalCount; /** should contain nothing for <em>auto</em>, or a boolean value for an explicit setting. - - @see <type>ExplicitSubIncrement</type> */ any PostEquidistant; }; diff --git a/offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl b/offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl new file mode 100755 index 000000000..7c4e9d431 --- /dev/null +++ b/offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl @@ -0,0 +1,103 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_chart2_XAnyDescriptionAccess_idl__ +#define __com_sun_star_chart2_XAnyDescriptionAccess_idl__ + +#ifndef __com_sun_star_chart_XComplexDescriptionAccess_idl__ +#include <com/sun/star/chart/XComplexDescriptionAccess.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module chart2 { + +//============================================================================= + +/** Offers any access to column and row descriptions. +This allows to set date values as categories. + +<p>Can be obtained from interface <type>XChartDocument</type> via method getData().</p> + +@since OOo 3.4 +*/ + +interface XAnyDescriptionAccess : ::com::sun::star::chart::XComplexDescriptionAccess +{ + //------------------------------------------------------------------------- + + /** retrieves the descriptions for all rows. + + @returns + a sequence of sequences of anys representing the descriptions + of all rows. The outer index represents different rows. + The inner index represents the different levels (usually there is only one). + The any might be strings for category text axis or doubles for date axis. + */ + sequence< sequence< any > > getAnyRowDescriptions(); + + //------------------------------------------------------------------------- + + /** sets the descriptions for all rows. + + @param rRowDescriptions + a sequence of sequences of anys representing the descriptions of all + rows. The outer index represents different rows. + The inner index represents the different levels (usually there is only one). + The any might be strings for category text axis or doubles for date axis. + */ + void setAnyRowDescriptions( [in] sequence< sequence< any > > rRowDescriptions ); + + //------------------------------------------------------------------------- + + /** retrieves the descriptions for all columns. + + @returns + a sequence of sequences of anys representing the descriptions + of all columns. The outer index represents different columns. + The inner index represents the different levels (usually there is only one). + The any might be strings for category text axis or doubles for date axis. + */ + sequence< sequence< any > > getAnyColumnDescriptions(); + + //------------------------------------------------------------------------- + + /** sets the descriptions for all columns. + + @param rColumnDescriptions + a sequence of sequences of anys which represent the descriptions of + all columns. The outer index represents different columns. + The inner index represents the different levels (usually there is only one). + The any might be strings for category text axis or doubles for date axis. + */ + void setAnyColumnDescriptions( [in] sequence< sequence< any > > rColumnDescriptions ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/chart2/XAxis.idl b/offapi/com/sun/star/chart2/XAxis.idl index 9a116c1a3..5651f7a32 100644 --- a/offapi/com/sun/star/chart2/XAxis.idl +++ b/offapi/com/sun/star/chart2/XAxis.idl @@ -1,3 +1,29 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ #ifndef com_sun_star_chart_XAxis_idl #define com_sun_star_chart_XAxis_idl diff --git a/offapi/com/sun/star/chart2/XCoordinateSystem.idl b/offapi/com/sun/star/chart2/XCoordinateSystem.idl index 689abba33..942e7ea50 100644 --- a/offapi/com/sun/star/chart2/XCoordinateSystem.idl +++ b/offapi/com/sun/star/chart2/XCoordinateSystem.idl @@ -1,3 +1,29 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ #ifndef com_sun_star_chart2_XCoordinateSystem_idl #define com_sun_star_chart2_XCoordinateSystem_idl diff --git a/offapi/com/sun/star/chart2/XDiagram.idl b/offapi/com/sun/star/chart2/XDiagram.idl index 6c935c5e7..fe8183208 100644 --- a/offapi/com/sun/star/chart2/XDiagram.idl +++ b/offapi/com/sun/star/chart2/XDiagram.idl @@ -32,9 +32,10 @@ #endif #include <com/sun/star/beans/XPropertySet.idl> - +#include <com/sun/star/beans/PropertyValue.idl> #include <com/sun/star/chart2/XLegend.idl> #include <com/sun/star/chart2/XColorScheme.idl> +#include <com/sun/star/chart2/data/XDataSource.idl> #include <com/sun/star/chart2/data/XLabeledDataSequence.idl> module com @@ -48,11 +49,6 @@ module chart2 interface XDiagram : ::com::sun::star::uno::XInterface { - /** gets the component that creates a new diagram or modifies - an existing diagram according to its rules. - */ -// string getChartTypeTemplateServiceName(); - /** returns the property set that determines the visual appearance of the wall. @@ -87,6 +83,25 @@ interface XDiagram : ::com::sun::star::uno::XInterface colors for data series (or data points) in the diagram. */ void setDefaultColorScheme( [in] XColorScheme xColorScheme ); + + /** sets new data to the diagram. + + @param xDataSource + This data source will be interpreted in a chart-type + specific way and the <type>DataSeries</type> found in + <code>xDiagram</code> will be adapted to the new data. + Missing data series will be created and unused ones will + be deleted. + + @param aArguments + Arguments tells how to slice the given data. + + <p>For standard parameters that may be used, see the + service <type>StandardDiagramCreationParameters</type>. + </p> + */ + void setDiagramData( [in] data::XDataSource xDataSource, + [in] sequence< com::sun::star::beans::PropertyValue > aArguments ); }; } ; // chart2 diff --git a/offapi/com/sun/star/chart2/XPlotter.idl b/offapi/com/sun/star/chart2/XPlotter.idl deleted file mode 100644 index 064db4ebc..000000000 --- a/offapi/com/sun/star/chart2/XPlotter.idl +++ /dev/null @@ -1,128 +0,0 @@ -#ifndef com_sun_star_chart2_XPlotter_idl -#define com_sun_star_chart2_XPlotter_idl - -#ifndef __com_sun_star_uno_XInterface_idl__ -#include <com/sun/star/uno/XInterface.idl> -#endif - -#ifndef __com_sun_star_drawing_XShapes_idl__ -#include <com/sun/star/drawing/XShapes.idl> -#endif - -#ifndef _com_sun_star_drawing_XShapeGrouper_idl_ -#include <com/sun/star/drawing/XShapeGrouper.idl> -#endif - -#ifndef _com_sun_star_lang_xmultiservicefactory_idl_ -#include <com/sun/star/lang/XMultiServiceFactory.idl> -#endif - -#ifndef com_sun_star_chart2_CoordinateSystemTypeID_idl -#include <com/sun/star/chart2/CoordinateSystemTypeID.idl> -#endif - -#ifndef com_sun_star_chart2_ScaleData_idl -#include <com/sun/star/chart2/ScaleData.idl> -#endif - -#ifndef com_sun_star_chart2_XTransformation_idl -#include <com/sun/star/chart2/XTransformation.idl> -#endif - -//============================================================================= - -module com { module sun { module star { module chart2 { - -//============================================================================= - -/** The main task of a Plotter is to create grafic objects which have a certain - logic place within a coordinate system. For example the bars of a barchart - are such grafic objects. The created grafic objects need to be of type - com::sun::star::drawing::Shape. - - <p> - Within the chart application we differentiatebetween two 'types' of shapes - which can be created by a Plotter. - The first type are shapes which are completely defined by coordinates - in the logic coordinate system and will be positioned within this logic - coordinate system. Those shapes are called 'logic shapes' - or 'logically placed shapes'. For example a rectangle of a bar chart - is a 'logic shape'. - </p> - - <p> - The second type of shapes are those who can not or should not - be placed in the logic coordinate system. For example consider a three - dimensional bar chart with text labels for each data point. You probably - would not like to place the text shapes as three dimensional objects within - the logic coordinate system, rather you would like to position the texts as - two dimensional objects on the two dimensional final page. Those shapes are - called 'illogic shapes' in contrast to 'logic shapes'. - 'Illogic shapes' are always two dimensional and placed on the documents page. - </p> - - <p> - For each type of shapes the Plotter gets one Target where it can add - or remove shapes. - </p> - - <p> A Plotter is not allowed to set the property 'Transformation' on a - shape as this will be done elsewhere. - </p> -*/ - -//@ todo ? should this be a XComponent? -interface XPlotter : ::com::sun::star::uno::XInterface -{ - //------------------------------------------------------------------------- - /** Each Plotter implicit uses a certain type of logic coordinate - system for interpreting data as coordinates. - For example a bar-chart uses a cartesian coordinate system for - interpreting x- and y-values from a spreadsheet as cartesian - coordinates. In contrast the pie chart assumes a polar coordinate - system. - The type of this implicit used source coordinate system has to be - returned here. - The returned type of an implementation never changes. - */ - CoordinateSystemTypeID getCoordinateSystemTypeID(); - - //------------------------------------------------------------------------- - /** For each type of shapes ('logic' or 'illogic') there exists one - container. The Plotter will create shapes and then add (or remove) - them from these containers. - - <p> - The lifetime of the container has to be handled by the calling object. The - calling object must assure that the container will exist longer than the - XPlotter Object. - </p> - ... - */ - void init( [in] com::sun::star::drawing::XShapes xLogicTarget - , [in] com::sun::star::drawing::XShapes xFinalTarget - , [in] com::sun::star::lang::XMultiServiceFactory xFactory ); - - //------------------------------------------------------------------------- - /** For each dimension of the 'logic source coordinate system' the - XPlotter object needs a Scale to decide which shapes - need to be created and maybe logically clipped. The XPlotter object - becomes the new owner of the given scales and directions and needs to keep - them alive. Nobody else will change them. - Pay attention that a 'Scale' can have several breaks. - */ - void setScales( [in] sequence< ScaleData > rScales); - - //------------------------------------------------------------------------- - /** - */ - void setTransformation( [in] XTransformation xTransformationToLogicTarget - , [in] XTransformation xTransformationToFinalPage ); -}; - -//============================================================================= - -}; }; }; }; - -#endif - diff --git a/offapi/com/sun/star/chart2/makefile.mk b/offapi/com/sun/star/chart2/makefile.mk index 438a81756..60cc8393e 100644 --- a/offapi/com/sun/star/chart2/makefile.mk +++ b/offapi/com/sun/star/chart2/makefile.mk @@ -41,14 +41,10 @@ PRJNAME=offapi IDLFILES= \ AxisType.idl \ AxisOrientation.idl \ - Break.idl \ CoordinateSystemTypeID.idl \ CurveStyle.idl \ DataPointGeometry3D.idl \ DataPointLabel.idl \ - ExplicitIncrementData.idl \ - ExplicitScaleData.idl \ - ExplicitSubIncrement.idl \ FillBitmap.idl \ IncrementData.idl \ InterpretedData.idl \ @@ -67,6 +63,7 @@ IDLFILES= \ TickmarkStyle.idl \ TransparencyStyle.idl \ ViewLegendEntry.idl \ + XAnyDescriptionAccess.idl\ XAxis.idl \ XCoordinateSystem.idl \ XCoordinateSystemContainer.idl \ @@ -91,7 +88,6 @@ IDLFILES= \ XLegend.idl \ XLegendEntry.idl \ XLegendSymbolProvider.idl \ - XPlotter.idl \ XRegressionCurve.idl \ XRegressionCurveCalculator.idl \ XRegressionCurveContainer.idl \ |