summaryrefslogtreecommitdiff
path: root/chart2/source/inc/chartview
diff options
context:
space:
mode:
Diffstat (limited to 'chart2/source/inc/chartview')
-rw-r--r--chart2/source/inc/chartview/ChartSfxItemIds.hxx164
-rw-r--r--chart2/source/inc/chartview/ExplicitScaleValues.hxx165
-rw-r--r--chart2/source/inc/chartview/ExplicitValueProvider.hxx11
-rw-r--r--chart2/source/inc/chartview/NumberFormatterWrapper.hxx85
4 files changed, 231 insertions, 194 deletions
diff --git a/chart2/source/inc/chartview/ChartSfxItemIds.hxx b/chart2/source/inc/chartview/ChartSfxItemIds.hxx
index 7b407edcfe3a..48b638ea929b 100644
--- a/chart2/source/inc/chartview/ChartSfxItemIds.hxx
+++ b/chart2/source/inc/chartview/ChartSfxItemIds.hxx
@@ -28,8 +28,6 @@
#ifndef CHARTSFXITEMIDS_HXX
#define CHARTSFXITEMIDS_HXX
-#include <sfx2/sfxdefs.hxx>
-
// ============================================================
// SCHATTR
// ============================================================
@@ -46,67 +44,24 @@
#define SCHATTR_DATADESCR_PLACEMENT (SCHATTR_DATADESCR_START + 5)
#define SCHATTR_DATADESCR_AVAILABLE_PLACEMENTS (SCHATTR_DATADESCR_START + 6)
#define SCHATTR_DATADESCR_NO_PERCENTVALUE (SCHATTR_DATADESCR_START + 7) //percentage values should not be offered
-#define SCHATTR_DATADESCR_END SCHATTR_DATADESCR_NO_PERCENTVALUE
+#define SCHATTR_PERCENT_NUMBERFORMAT_VALUE (SCHATTR_DATADESCR_START + 8)
+#define SCHATTR_PERCENT_NUMBERFORMAT_SOURCE (SCHATTR_DATADESCR_START + 9)
+#define SCHATTR_DATADESCR_END SCHATTR_PERCENT_NUMBERFORMAT_SOURCE
+//legend
#define SCHATTR_LEGEND_START (SCHATTR_DATADESCR_END + 1)
#define SCHATTR_LEGEND_POS SCHATTR_LEGEND_START
-#define SCHATTR_LEGEND_END SCHATTR_LEGEND_POS
+#define SCHATTR_LEGEND_SHOW (SCHATTR_LEGEND_START + 1)
+#define SCHATTR_LEGEND_END SCHATTR_LEGEND_SHOW
+//text
#define SCHATTR_TEXT_START (SCHATTR_LEGEND_END + 1)
-// name changed, was SCHATTR_TEXT_ORIENT:
-#define SCHATTR_TEXT_STACKED SCHATTR_TEXT_START
-#define SCHATTR_TEXT_ORDER (SCHATTR_TEXT_START + 1)
-#define SCHATTR_TEXT_END SCHATTR_TEXT_ORDER
-
-#define SCHATTR_Y_AXIS_START (SCHATTR_TEXT_END + 1)
-#define SCHATTR_Y_AXIS_AUTO_MIN SCHATTR_Y_AXIS_START
-#define SCHATTR_Y_AXIS_MIN (SCHATTR_Y_AXIS_START + 1)
-#define SCHATTR_Y_AXIS_AUTO_MAX (SCHATTR_Y_AXIS_START + 2)
-#define SCHATTR_Y_AXIS_MAX (SCHATTR_Y_AXIS_START + 3)
-#define SCHATTR_Y_AXIS_AUTO_STEP_MAIN (SCHATTR_Y_AXIS_START + 4)
-#define SCHATTR_Y_AXIS_STEP_MAIN (SCHATTR_Y_AXIS_START + 5)
-#define SCHATTR_Y_AXIS_AUTO_STEP_HELP (SCHATTR_Y_AXIS_START + 6)
-#define SCHATTR_Y_AXIS_STEP_HELP (SCHATTR_Y_AXIS_START + 7)
-#define SCHATTR_Y_AXIS_LOGARITHM (SCHATTR_Y_AXIS_START + 8)
-#define SCHATTR_Y_AXIS_AUTO_ORIGIN (SCHATTR_Y_AXIS_START + 9)
-#define SCHATTR_Y_AXIS_ORIGIN (SCHATTR_Y_AXIS_START + 10)
-#define SCHATTR_Y_AXIS_END SCHATTR_Y_AXIS_ORIGIN
-
-#define SCHATTR_X_AXIS_START (SCHATTR_Y_AXIS_END + 1)
-#define SCHATTR_X_AXIS_AUTO_MIN SCHATTR_X_AXIS_START
-#define SCHATTR_X_AXIS_MIN (SCHATTR_X_AXIS_START + 1)
-#define SCHATTR_X_AXIS_AUTO_MAX (SCHATTR_X_AXIS_START + 2)
-#define SCHATTR_X_AXIS_MAX (SCHATTR_X_AXIS_START + 3)
-#define SCHATTR_X_AXIS_AUTO_STEP_MAIN (SCHATTR_X_AXIS_START + 4)
-#define SCHATTR_X_AXIS_STEP_MAIN (SCHATTR_X_AXIS_START + 5)
-#define SCHATTR_X_AXIS_AUTO_STEP_HELP (SCHATTR_X_AXIS_START + 6)
-#define SCHATTR_X_AXIS_STEP_HELP (SCHATTR_X_AXIS_START + 7)
-#define SCHATTR_X_AXIS_LOGARITHM (SCHATTR_X_AXIS_START + 8)
-#define SCHATTR_X_AXIS_AUTO_ORIGIN (SCHATTR_X_AXIS_START + 9)
-#define SCHATTR_X_AXIS_ORIGIN (SCHATTR_X_AXIS_START + 10)
-#define SCHATTR_X_AXIS_END SCHATTR_X_AXIS_ORIGIN
-
-#define SCHATTR_Z_AXIS_START (SCHATTR_X_AXIS_END + 1)
-#define SCHATTR_Z_AXIS_AUTO_MIN SCHATTR_Z_AXIS_START
-#define SCHATTR_Z_AXIS_MIN (SCHATTR_Z_AXIS_START + 1)
-#define SCHATTR_Z_AXIS_AUTO_MAX (SCHATTR_Z_AXIS_START + 2)
-#define SCHATTR_Z_AXIS_MAX (SCHATTR_Z_AXIS_START + 3)
-#define SCHATTR_Z_AXIS_AUTO_STEP_MAIN (SCHATTR_Z_AXIS_START + 4)
-#define SCHATTR_Z_AXIS_STEP_MAIN (SCHATTR_Z_AXIS_START + 5)
-#define SCHATTR_Z_AXIS_AUTO_STEP_HELP (SCHATTR_Z_AXIS_START + 6)
-#define SCHATTR_Z_AXIS_STEP_HELP (SCHATTR_Z_AXIS_START + 7)
-#define SCHATTR_Z_AXIS_LOGARITHM (SCHATTR_Z_AXIS_START + 8)
-#define SCHATTR_Z_AXIS_AUTO_ORIGIN (SCHATTR_Z_AXIS_START + 9)
-#define SCHATTR_Z_AXIS_ORIGIN (SCHATTR_Z_AXIS_START + 10)
-#define SCHATTR_Z_AXIS_END SCHATTR_Z_AXIS_ORIGIN
+#define SCHATTR_TEXT_DEGREES SCHATTR_TEXT_START
+#define SCHATTR_TEXT_STACKED (SCHATTR_TEXT_START + 1)
+#define SCHATTR_TEXT_END SCHATTR_TEXT_STACKED
-// miscellaneous
-
-#define SCHATTR_AXISTYPE (SCHATTR_Z_AXIS_END + 1)
-#define SCHATTR_PERCENT_NUMBERFORMAT_VALUE (SCHATTR_Z_AXIS_END + 2)
-#define SCHATTR_PERCENT_NUMBERFORMAT_SOURCE (SCHATTR_Z_AXIS_END + 3)
-
-#define SCHATTR_STAT_START (SCHATTR_PERCENT_NUMBERFORMAT_SOURCE + 1)
+// statistic
+#define SCHATTR_STAT_START (SCHATTR_TEXT_END + 1)
#define SCHATTR_STAT_AVERAGE SCHATTR_STAT_START
#define SCHATTR_STAT_KIND_ERROR (SCHATTR_STAT_START + 1)
#define SCHATTR_STAT_PERCENT (SCHATTR_STAT_START + 2)
@@ -118,16 +73,11 @@
#define SCHATTR_STAT_RANGE_NEG (SCHATTR_STAT_START + 8)
#define SCHATTR_STAT_END SCHATTR_STAT_RANGE_NEG
-#define SCHATTR_TEXT2_START ( SCHATTR_STAT_END + 1)
-#define SCHATTR_TEXT_DEGREES ( SCHATTR_TEXT2_START )
-#define SCHATTR_TEXT_OVERLAP ( SCHATTR_TEXT2_START +1 )
-#define SCHATTR_TEXT2_END ( SCHATTR_TEXT_OVERLAP )
-
// --------------------------------------------------------
// these attributes are for replacement of enum eChartStyle
// --------------------------------------------------------
-#define SCHATTR_STYLE_START ( SCHATTR_TEXT2_END +1 )
+#define SCHATTR_STYLE_START ( SCHATTR_STAT_END +1 )
// for whole chart
#define SCHATTR_STYLE_DEEP ( SCHATTR_STYLE_START )
@@ -151,35 +101,44 @@
#define SCHATTR_AXIS (SCHATTR_STYLE_END + 1)// see chtmodel.hxx defines CHART_AXIS_PRIMARY_X, etc.
//Re-mapped:
#define SCHATTR_AXIS_START (SCHATTR_AXIS + 1)
-#define SCHATTR_AXIS_AUTO_MIN SCHATTR_AXIS_START
-#define SCHATTR_AXIS_MIN (SCHATTR_AXIS_START + 1)
-#define SCHATTR_AXIS_AUTO_MAX (SCHATTR_AXIS_START + 2)
-#define SCHATTR_AXIS_MAX (SCHATTR_AXIS_START + 3)
-#define SCHATTR_AXIS_AUTO_STEP_MAIN (SCHATTR_AXIS_START + 4)
-#define SCHATTR_AXIS_STEP_MAIN (SCHATTR_AXIS_START + 5)
-#define SCHATTR_AXIS_AUTO_STEP_HELP (SCHATTR_AXIS_START + 6)
-// SCHATTR_AXIS_STEP_HELP: type changed from double to sal_Int32 !
-#define SCHATTR_AXIS_STEP_HELP (SCHATTR_AXIS_START + 7)
-#define SCHATTR_AXIS_LOGARITHM (SCHATTR_AXIS_START + 8)
-#define SCHATTR_AXIS_AUTO_ORIGIN (SCHATTR_AXIS_START + 9)
-#define SCHATTR_AXIS_ORIGIN (SCHATTR_AXIS_START + 10)
-//New:
-#define SCHATTR_AXIS_TICKS (SCHATTR_AXIS_START + 11)
-#define SCHATTR_AXIS_NUMFMT (SCHATTR_AXIS_START + 12)
-#define SCHATTR_AXIS_NUMFMTPERCENT (SCHATTR_AXIS_START + 13)
-#define SCHATTR_AXIS_SHOWAXIS (SCHATTR_AXIS_START + 14)
-#define SCHATTR_AXIS_SHOWDESCR (SCHATTR_AXIS_START + 15)
-#define SCHATTR_AXIS_SHOWMAINGRID (SCHATTR_AXIS_START + 16)
-#define SCHATTR_AXIS_SHOWHELPGRID (SCHATTR_AXIS_START + 17)
-#define SCHATTR_AXIS_TOPDOWN (SCHATTR_AXIS_START + 18)
-#define SCHATTR_AXIS_HELPTICKS (SCHATTR_AXIS_START + 19)
-#define SCHATTR_AXIS_REVERSE (SCHATTR_AXIS_START + 20)
-#define SCHATTR_AXIS_POSITION (SCHATTR_AXIS_START + 21)
-#define SCHATTR_AXIS_POSITION_VALUE (SCHATTR_AXIS_START + 22)
-#define SCHATTR_AXIS_CROSSING_MAIN_AXIS_NUMBERFORMAT (SCHATTR_AXIS_START + 23)
-#define SCHATTR_AXIS_LABEL_POSITION (SCHATTR_AXIS_START + 24)
-#define SCHATTR_AXIS_MARK_POSITION (SCHATTR_AXIS_START + 25)
-#define SCHATTR_AXIS_END SCHATTR_AXIS_MARK_POSITION
+//axis scale
+#define SCHATTR_AXISTYPE SCHATTR_AXIS_START
+#define SCHATTR_AXIS_REVERSE (SCHATTR_AXIS_START + 1)
+#define SCHATTR_AXIS_AUTO_MIN (SCHATTR_AXIS_START + 2)
+#define SCHATTR_AXIS_MIN (SCHATTR_AXIS_START + 3)
+#define SCHATTR_AXIS_AUTO_MAX (SCHATTR_AXIS_START + 4)
+#define SCHATTR_AXIS_MAX (SCHATTR_AXIS_START + 5)
+#define SCHATTR_AXIS_AUTO_STEP_MAIN (SCHATTR_AXIS_START + 6)
+#define SCHATTR_AXIS_STEP_MAIN (SCHATTR_AXIS_START + 7)
+#define SCHATTR_AXIS_MAIN_TIME_UNIT (SCHATTR_AXIS_START + 8)
+#define SCHATTR_AXIS_AUTO_STEP_HELP (SCHATTR_AXIS_START + 9)
+#define SCHATTR_AXIS_STEP_HELP (SCHATTR_AXIS_START + 10)
+#define SCHATTR_AXIS_HELP_TIME_UNIT (SCHATTR_AXIS_START + 11)
+#define SCHATTR_AXIS_AUTO_TIME_RESOLUTION (SCHATTR_AXIS_START + 12)
+#define SCHATTR_AXIS_TIME_RESOLUTION (SCHATTR_AXIS_START + 13)
+#define SCHATTR_AXIS_LOGARITHM (SCHATTR_AXIS_START + 14)
+#define SCHATTR_AXIS_AUTO_DATEAXIS (SCHATTR_AXIS_START + 15)
+#define SCHATTR_AXIS_ALLOW_DATEAXIS (SCHATTR_AXIS_START + 16)
+#define SCHATTR_AXIS_AUTO_ORIGIN (SCHATTR_AXIS_START + 17)
+#define SCHATTR_AXIS_ORIGIN (SCHATTR_AXIS_START + 18)
+//axis position
+#define SCHATTR_AXIS_POSITION_START (SCHATTR_AXIS_ORIGIN +1)
+#define SCHATTR_AXIS_TICKS SCHATTR_AXIS_POSITION_START
+#define SCHATTR_AXIS_HELPTICKS (SCHATTR_AXIS_POSITION_START + 1)
+#define SCHATTR_AXIS_POSITION (SCHATTR_AXIS_POSITION_START + 2)
+#define SCHATTR_AXIS_POSITION_VALUE (SCHATTR_AXIS_POSITION_START + 3)
+#define SCHATTR_AXIS_CROSSING_MAIN_AXIS_NUMBERFORMAT (SCHATTR_AXIS_POSITION_START + 4)
+#define SCHATTR_AXIS_LABEL_POSITION (SCHATTR_AXIS_POSITION_START + 5)
+#define SCHATTR_AXIS_MARK_POSITION (SCHATTR_AXIS_POSITION_START + 6)
+//axis label
+#define SCHATTR_AXIS_LABEL_START (SCHATTR_AXIS_MARK_POSITION +1)
+#define SCHATTR_AXIS_SHOWDESCR SCHATTR_AXIS_LABEL_START
+#define SCHATTR_AXIS_LABEL_ORDER (SCHATTR_AXIS_LABEL_START + 1)
+#define SCHATTR_AXIS_LABEL_OVERLAP (SCHATTR_AXIS_LABEL_START + 2)
+#define SCHATTR_AXIS_LABEL_BREAK (SCHATTR_AXIS_LABEL_START + 3)
+#define SCHATTR_AXIS_LABEL_END SCHATTR_AXIS_LABEL_BREAK
+
+#define SCHATTR_AXIS_END SCHATTR_AXIS_LABEL_END
#define SCHATTR_SYMBOL_BRUSH (SCHATTR_AXIS_END + 1)
#define SCHATTR_STOCK_VOLUME (SCHATTR_AXIS_END + 2)
@@ -197,13 +156,12 @@
#define SCHATTR_SPLINE_ORDER (SCHATTR_CHARTTYPE_START + 4)
#define SCHATTR_SPLINE_RESOLUTION (SCHATTR_CHARTTYPE_START + 5)
#define SCHATTR_DIAGRAM_STYLE (SCHATTR_CHARTTYPE_START + 6)
-#define SCHATTR_TEXTBREAK (SCHATTR_CHARTTYPE_START + 7)
-#define SCHATTR_GROUP_BARS_PER_AXIS (SCHATTR_CHARTTYPE_START + 8)
-#define SCHATTR_STARTING_ANGLE (SCHATTR_CHARTTYPE_START + 9)
-#define SCHATTR_CLOCKWISE (SCHATTR_CHARTTYPE_START + 10)
-#define SCHATTR_MISSING_VALUE_TREATMENT (SCHATTR_CHARTTYPE_START + 11)
-#define SCHATTR_AVAILABLE_MISSING_VALUE_TREATMENTS (SCHATTR_CHARTTYPE_START + 12)
-#define SCHATTR_INCLUDE_HIDDEN_CELLS (SCHATTR_CHARTTYPE_START + 13)
+#define SCHATTR_GROUP_BARS_PER_AXIS (SCHATTR_CHARTTYPE_START + 7)
+#define SCHATTR_STARTING_ANGLE (SCHATTR_CHARTTYPE_START + 8)
+#define SCHATTR_CLOCKWISE (SCHATTR_CHARTTYPE_START + 9)
+#define SCHATTR_MISSING_VALUE_TREATMENT (SCHATTR_CHARTTYPE_START + 10)
+#define SCHATTR_AVAILABLE_MISSING_VALUE_TREATMENTS (SCHATTR_CHARTTYPE_START + 11)
+#define SCHATTR_INCLUDE_HIDDEN_CELLS (SCHATTR_CHARTTYPE_START + 12)
#define SCHATTR_CHARTTYPE_END SCHATTR_INCLUDE_HIDDEN_CELLS
@@ -232,9 +190,11 @@
#define CHAXIS_MARK_NONE 0
// values for SCHATTR_AXISTYPE items
-#define CHART_AXIS_X 0
-#define CHART_AXIS_Y 1
-#define CHART_AXIS_Z 2
+#define CHART_AXIS_REALNUMBER 0
+#define CHART_AXIS_PERCENT 1
+#define CHART_AXIS_CATEGORY 2
+#define CHART_AXIS_SERIES 3
+#define CHART_AXIS_DATE 4
// values for SCHATTR_STYLE_SHAPE items
#define CHART_SHAPE3D_IGNORE -2 //internal! (GetChartShapeStyle()!)
diff --git a/chart2/source/inc/chartview/ExplicitScaleValues.hxx b/chart2/source/inc/chartview/ExplicitScaleValues.hxx
new file mode 100644
index 000000000000..48c9ef942d03
--- /dev/null
+++ b/chart2/source/inc/chartview/ExplicitScaleValues.hxx
@@ -0,0 +1,165 @@
+/*************************************************************************
+ *
+ * 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 _CHART2_EXPLICITSCALEVALUES_HXX
+#define _CHART2_EXPLICITSCALEVALUES_HXX
+
+#include "chartviewdllapi.hxx"
+#include <com/sun/star/chart/TimeInterval.hpp>
+#include <com/sun/star/chart/TimeUnit.hpp>
+#include <com/sun/star/chart2/AxisOrientation.hpp>
+#include <com/sun/star/chart2/AxisType.hpp>
+#include <com/sun/star/chart2/XScaling.hpp>
+#include <tools/date.hxx>
+#include <vector>
+//.............................................................................
+namespace chart
+{
+//.............................................................................
+
+//-----------------------------------------------------------------------------
+/** This structure contains the explicit values for a scale like Minimum and Maximum.
+ See also ::com::sun::star::chart2::ScaleData.
+*/
+
+struct OOO_DLLPUBLIC_CHARTVIEW ExplicitScaleData
+{
+ ExplicitScaleData();
+
+ double Minimum;
+ double Maximum;
+ double Origin;
+
+ ::com::sun::star::chart2::AxisOrientation Orientation;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XScaling > Scaling;
+
+ sal_Int32 AxisType;//see ::com::sun::star::chart2::AxisType
+ bool ShiftedCategoryPosition;
+ sal_Int32 TimeResolution; //constant of type <type>::com::sun::star::chart::TimeUnit</type>
+ Date NullDate;
+};
+
+struct OOO_DLLPUBLIC_CHARTVIEW ExplicitSubIncrement
+{
+ 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.
+
+ */
+ sal_Int32 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>.
+ */
+ bool PostEquidistant;
+};
+
+/** describes how tickmarks are positioned on the scale of an axis.
+*/
+struct OOO_DLLPUBLIC_CHARTVIEW ExplicitIncrementData
+{
+ ExplicitIncrementData();
+
+ /** the following two members are only for date-time axis
+ */
+ ::com::sun::star::chart::TimeInterval MajorTimeInterval;
+ ::com::sun::star::chart::TimeInterval MinorTimeInterval;
+
+ /** the other members are for *not* date-time axis
+ */
+
+ /** <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>
+ */
+ bool 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>
+ */
+ ::std::vector< ExplicitSubIncrement > SubIncrements;
+};
+
+//.............................................................................
+} //namespace chart
+//.............................................................................
+#endif
diff --git a/chart2/source/inc/chartview/ExplicitValueProvider.hxx b/chart2/source/inc/chartview/ExplicitValueProvider.hxx
index 436cedde3a98..8d944192b2e9 100644
--- a/chart2/source/inc/chartview/ExplicitValueProvider.hxx
+++ b/chart2/source/inc/chartview/ExplicitValueProvider.hxx
@@ -28,9 +28,9 @@
#ifndef _CHART2_EXPLICITVALUEPROVIDER_HXX
#define _CHART2_EXPLICITVALUEPROVIDER_HXX
+#include "ExplicitScaleValues.hxx"
+
#include <boost/shared_ptr.hpp>
-#include <com/sun/star/chart2/ExplicitIncrementData.hpp>
-#include <com/sun/star/chart2/ExplicitScaleData.hpp>
#include <com/sun/star/chart2/XAxis.hpp>
#include <com/sun/star/chart2/XCoordinateSystem.hpp>
#include <com/sun/star/chart2/XDataSeries.hpp>
@@ -60,8 +60,8 @@ public:
*/
virtual sal_Bool getExplicitValuesForAxis(
::com::sun::star::uno::Reference< ::com::sun::star::chart2::XAxis > xAxis
- , ::com::sun::star::chart2::ExplicitScaleData& rExplicitScale
- , ::com::sun::star::chart2::ExplicitIncrementData& rExplicitIncrement )=0;
+ , ExplicitScaleData& rExplicitScale
+ , ExplicitIncrementData& rExplicitIncrement )=0;
/** for rotated objects the shape size and position differs from the visible rectangle
if bSnapRect is set to true you get the resulting visible position (left-top) and size
@@ -100,9 +100,6 @@ public:
, const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XCoordinateSystem > & xCorrespondingCoordinateSystem
, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier >& xNumberFormatsSupplier );
- SAL_DLLPRIVATE static sal_Int32 getPercentNumberFormat( const ::com::sun::star::uno::Reference<
- ::com::sun::star::util::XNumberFormatsSupplier >& xNumberFormatsSupplier );
-
static sal_Int32 getExplicitNumberFormatKeyForDataLabel(
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& xSeriesOrPointProp
, const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDataSeries >& xSeries
diff --git a/chart2/source/inc/chartview/NumberFormatterWrapper.hxx b/chart2/source/inc/chartview/NumberFormatterWrapper.hxx
deleted file mode 100644
index 8ccc3e506487..000000000000
--- a/chart2/source/inc/chartview/NumberFormatterWrapper.hxx
+++ /dev/null
@@ -1,85 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * 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 _CHART2_VIEW_NUMBERFORMATTERWRAPPER_HXX
-#define _CHART2_VIEW_NUMBERFORMATTERWRAPPER_HXX
-
-#include <svl/zforlist.hxx>
-#include <com/sun/star/util/XNumberFormatsSupplier.hpp>
-#include "chartviewdllapi.hxx"
-
-//.............................................................................
-namespace chart
-{
-//.............................................................................
-
-//-----------------------------------------------------------------------------
-/**
-*/
-class FixedNumberFormatter;
-
-class OOO_DLLPUBLIC_CHARTVIEW NumberFormatterWrapper
-{
-public:
- NumberFormatterWrapper( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier >& xSupplier );
- virtual ~NumberFormatterWrapper();
-
- SvNumberFormatter* getSvNumberFormatter() const;
- ::com::sun::star::uno::Reference< com::sun::star::util::XNumberFormatsSupplier >
- getNumberFormatsSupplier() { return m_xNumberFormatsSupplier; };
-
- rtl::OUString getFormattedString( sal_Int32 nNumberFormatKey, double fValue, sal_Int32& rLabelColor, bool& rbColorChanged ) const;
-
-private: //private member
- ::com::sun::star::uno::Reference< com::sun::star::util::XNumberFormatsSupplier >
- m_xNumberFormatsSupplier;
-
- SvNumberFormatter* m_pNumberFormatter;
- ::com::sun::star::uno::Any m_aNullDate;
-};
-
-
-class FixedNumberFormatter
-{
-public:
- FixedNumberFormatter( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier >& xSupplier
- , sal_Int32 nNumberFormatKey );
- virtual ~FixedNumberFormatter();
-
- rtl::OUString getFormattedString( double fValue, sal_Int32& rLabelColor, bool& rbColorChanged ) const;
-
-private:
- NumberFormatterWrapper m_aNumberFormatterWrapper;
- ULONG m_nNumberFormatKey;
-};
-
-//.............................................................................
-} //namespace chart
-//.............................................................................
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */