summaryrefslogtreecommitdiff
path: root/offapi
diff options
context:
space:
mode:
authorIngrid Halama [iha] <Ingrid.Halama@oracle.com>2010-11-30 01:45:03 +0100
committerIngrid Halama [iha] <Ingrid.Halama@oracle.com>2010-11-30 01:45:03 +0100
commit5fee0ab21c6b405da560cf4b78b6058230bcffa6 (patch)
treefa6a9835a91a18b4e1c661d19115e4e5643b3f05 /offapi
parent1ed36293dcf8c363b3889c83a7eb7898a8b131d0 (diff)
chart46: #i25706# implement date axis
Diffstat (limited to 'offapi')
-rw-r--r--offapi/com/sun/star/chart/ChartAxis.idl22
-rw-r--r--offapi/com/sun/star/chart/ChartAxisType.idl57
-rw-r--r--offapi/com/sun/star/chart/TimeIncrement.idl67
-rw-r--r--offapi/com/sun/star/chart/TimeInterval.idl57
-rw-r--r--offapi/com/sun/star/chart/TimeUnit.idl (renamed from offapi/com/sun/star/chart2/Break.idl)16
-rwxr-xr-xoffapi/com/sun/star/chart/XDateCategories.idl70
-rw-r--r--offapi/com/sun/star/chart/makefile.mk5
-rw-r--r--offapi/com/sun/star/chart2/AxisType.idl3
-rw-r--r--offapi/com/sun/star/chart2/ExplicitIncrementData.idl96
-rw-r--r--offapi/com/sun/star/chart2/ExplicitScaleData.idl45
-rw-r--r--offapi/com/sun/star/chart2/ExplicitSubIncrement.idl30
-rw-r--r--offapi/com/sun/star/chart2/IncrementData.idl4
-rw-r--r--offapi/com/sun/star/chart2/ScaleData.idl36
-rw-r--r--offapi/com/sun/star/chart2/SubIncrement.idl4
-rwxr-xr-xoffapi/com/sun/star/chart2/XAnyDescriptionAccess.idl103
-rw-r--r--offapi/com/sun/star/chart2/XPlotter.idl128
-rw-r--r--offapi/com/sun/star/chart2/makefile.mk6
17 files changed, 411 insertions, 338 deletions
diff --git a/offapi/com/sun/star/chart/ChartAxis.idl b/offapi/com/sun/star/chart/ChartAxis.idl
index 4e564d848b9d..816bb92af003 100644
--- a/offapi/com/sun/star/chart/ChartAxis.idl
+++ b/offapi/com/sun/star/chart/ChartAxis.idl
@@ -55,6 +55,14 @@
#include <com/sun/star/chart/ChartAxisMarkPosition.idl>
#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_xml_UserDefinedAttributeSupplier_idl_
#include <com/sun/star/xml/UserDefinedAttributeSupplier.idl>
#endif
@@ -169,6 +177,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-time 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 000000000000..e705424115e8
--- /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/TimeIncrement.idl b/offapi/com/sun/star/chart/TimeIncrement.idl
new file mode 100644
index 000000000000..3eba8d903c63
--- /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 000000000000..565a46d8b4b7
--- /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-time 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 b5dbe80d2933..37cbd55d1a94 100644
--- a/offapi/com/sun/star/chart2/Break.idl
+++ b/offapi/com/sun/star/chart/TimeUnit.idl
@@ -24,19 +24,23 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef com_sun_star_chart2_Break_idl
-#define com_sun_star_chart2_Break_idl
+#ifndef __com_sun_star_chart_TimeUnit_idl__
+#define __com_sun_star_chart_TimeUnit_idl__
//=============================================================================
-module com { module sun { module star { module chart2 {
+ module com { module sun { module star { module chart {
//=============================================================================
-struct Break
+/** Specifies a unit for intervals on a date-time axis
+@since OOo 3.4
+ */
+published constants TimeUnit
{
- double Min;
- double Max;
+ const long DAY = 0;
+ const long MONTH = 1;
+ const long YEAR = 2;
};
//=============================================================================
diff --git a/offapi/com/sun/star/chart/XDateCategories.idl b/offapi/com/sun/star/chart/XDateCategories.idl
new file mode 100755
index 000000000000..868670cb9c6f
--- /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 fdbf07173c5e..b05edf2ad5dd 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,6 +96,8 @@ IDLFILES=\
PieDiagram.idl\
StackableDiagram.idl\
StockDiagram.idl\
+ TimeUnit.idl\
+ TimeInterval.idl\
X3DDefaultSetter.idl\
X3DDisplay.idl\
XAxisXSupplier.idl\
@@ -104,6 +108,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 16d977c34801..47cebc96388e 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 48f01c7560c4..000000000000
--- 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 7639a4d33378..000000000000
--- 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 c1af626c5db1..000000000000
--- 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 f487c26e576d..ffd595807ce9 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 addd66e10320..9bb51005e206 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/SubIncrement.idl b/offapi/com/sun/star/chart2/SubIncrement.idl
index f076db0eef92..b886f2c531fb 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 000000000000..ca455c401264
--- /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/XPlotter.idl b/offapi/com/sun/star/chart2/XPlotter.idl
deleted file mode 100644
index dfa77e09c38e..000000000000
--- 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 dcce7e71d4d2..33071a594338 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 \