diff options
author | Kohei Yoshida <kyoshida@novell.com> | 2011-03-10 16:55:21 -0500 |
---|---|---|
committer | Kohei Yoshida <kyoshida@novell.com> | 2011-03-10 20:21:13 -0500 |
commit | 12343c15568dcc2c9209d8ca41fda2263122448f (patch) | |
tree | 3212a89c6cd8ea2e0aee7103aa9669bbb8a6f307 /chart2/source/inc/chartview | |
parent | Typo. (diff) | |
parent | masterfix DEV300: #i10000# usage of L10N build_type (diff) | |
download | core-12343c15568dcc2c9209d8ca41fda2263122448f.tar.gz core-12343c15568dcc2c9209d8ca41fda2263122448f.zip |
Merge commit 'ooo/DEV300_m101' into integration/dev300_m101
Diffstat (limited to 'chart2/source/inc/chartview')
-rw-r--r-- | chart2/source/inc/chartview/ChartSfxItemIds.hxx | 164 | ||||
-rw-r--r-- | chart2/source/inc/chartview/ExplicitScaleValues.hxx | 165 | ||||
-rw-r--r-- | chart2/source/inc/chartview/ExplicitValueProvider.hxx | 11 | ||||
-rw-r--r-- | chart2/source/inc/chartview/NumberFormatterWrapper.hxx | 85 |
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: */ |