From 977ef7bbb7d8db43ba6302e84ff37220c8ec7cfe Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 22 May 2007 18:16:19 +0000 Subject: [PATCH] INTEGRATION: CWS chart2mst3 (1.6.4); FILE MERGED 2006/10/06 18:48:41 iha 1.6.4.17: no ring distance for pies 2006/07/01 21:01:56 iha 1.6.4.16: define and respect aspect ratio of diagram 2006/03/09 17:41:17 iha 1.6.4.15: added header 2005/10/24 11:07:08 iha 1.6.4.14: coordinate system restructure 2005/08/18 11:42:04 iha 1.6.4.13: moved colorscheme transport 2005/07/28 09:34:54 bm 1.6.4.12: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/14 14:56:11 bm 1.6.4.11: removed radius offset parameter as this is now controlled by the UseRings property 2005/05/09 08:57:39 dr 1.6.4.10: #i30462# scaling for stacked charts 2005/04/29 12:23:00 dr 1.6.4.9: #i30426# enhanced linear scaling 2004/09/17 11:24:21 iha 1.6.4.8: implement api redesign - dimension property 2004/06/29 19:42:58 iha 1.6.4.7: Color Per Point 2004/05/08 17:54:55 iha 1.6.4.6: polartransformation fixes and pie offset implementation 2004/04/19 11:50:36 iha 1.6.4.5: enable switching between ring and pie 2004/04/14 08:31:51 iha 1.6.4.4: add methods getMin/MaximumX + setScales to set bSwapXAndYAxis correct 2004/04/13 16:34:23 iha 1.6.4.3: corrected stacking 2004/03/11 12:28:03 iha 1.6.4.2: added meethod getPreferredDiagramAspectRatio() for charttype dependent 3D scene aspect ratio 2004/02/23 18:53:00 iha 1.6.4.1: auto scaling: make automatic border charttype dependent --- chart2/source/view/charttypes/PieChart.hxx | 72 +++++++++++++++++++--- 1 file changed, 64 insertions(+), 8 deletions(-) diff --git a/chart2/source/view/charttypes/PieChart.hxx b/chart2/source/view/charttypes/PieChart.hxx index e0d002e01cc1..987273bf1556 100644 --- a/chart2/source/view/charttypes/PieChart.hxx +++ b/chart2/source/view/charttypes/PieChart.hxx @@ -1,3 +1,38 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: PieChart.hxx,v $ + * + * $Revision: 1.7 $ + * + * last change: $Author: vg $ $Date: 2007-05-22 19:16:19 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + #ifndef _CHART2_PIECHART_HXX #define _CHART2_PIECHART_HXX @@ -17,7 +52,7 @@ class PieChart : public VSeriesPlotter public: PieChart( const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartType >& xChartTypeModel - , double fRadiusOffset=0.0, double fRingDistance=0.0 ); + , sal_Int32 nDimensionCount ); virtual ~PieChart(); //------------------------------------------------------------------------- @@ -25,17 +60,35 @@ public: //------------------------------------------------------------------------- virtual void SAL_CALL createShapes(); + + virtual void SAL_CALL setScales( + const ::com::sun::star::uno::Sequence< + ::com::sun::star::chart2::ExplicitScaleData >& rScales + , sal_Bool bSwapXAndYAxis ) + throw (::com::sun::star::uno::RuntimeException); /* virtual ::rtl::OUString SAL_CALL getCoordinateSystemTypeID( ) throw (::com::sun::star::uno::RuntimeException); virtual void SAL_CALL setScales( const ::com::sun::star::uno::Sequence< ::com::sun::star::chart2::ExplicitScaleData >& rScales ) throw (::com::sun::star::uno::RuntimeException); virtual void SAL_CALL setTransformation( const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XTransformation >& xTransformationToLogicTarget, const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XTransformation >& xTransformationToFinalPage ) throw (::com::sun::star::uno::RuntimeException); */ - virtual void addSeries( VDataSeries* pSeries, sal_Int32 xSlot = -1,sal_Int32 ySlot = -1 ); + virtual void addSeries( VDataSeries* pSeries, sal_Int32 zSlot = -1, sal_Int32 xSlot = -1,sal_Int32 ySlot = -1 ); + + //------------------- + virtual ::com::sun::star::drawing::Direction3D getPreferredDiagramAspectRatio() const; + virtual bool keepAspectRatio() const; //MinimumAndMaximumSupplier - virtual double getMinimumYInRange( double fMinimumX, double fMaximumX ); - virtual double getMaximumYInRange( double fMinimumX, double fMaximumX ); + virtual double getMinimumX(); + virtual double getMaximumX(); + virtual double getMinimumYInRange( double fMinimumX, double fMaximumX, sal_Int32 nAxisIndex ); + virtual double getMaximumYInRange( double fMinimumX, double fMaximumX, sal_Int32 nAxisIndex ); + + virtual bool isExpandBorderToIncrementRhythm( sal_Int32 nDimensionIndex ); + virtual bool isExpandIfValuesCloseToBorder( sal_Int32 nDimensionIndex ); + virtual bool isExpandWideValuesToZero( sal_Int32 nDimensionIndex ); + virtual bool isExpandNarrowValuesTowardZero( sal_Int32 nDimensionIndex ); + virtual bool isSeperateStackingForDifferentSigns( sal_Int32 nDimensionIndex ); //------------------------------------------------------------------------- //------------------------------------------------------------------------- @@ -49,14 +102,17 @@ private: //methods ::com::sun::star::drawing::XShapes >& xTarget , const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& xObjectProperties - , double fLogicStartAngleValue, double fLogicEndAngleValue - , double fLogicInnerRadius, double fLogicOuterRadius - , double fLogicZ, double fDepth ); + , double fUnitCircleStartAngleDegree, double fWidthAngleDegree + , double fUnitCircleInnerRadius, double fUnitCircleOuterRadius + , double fLogicZ, double fDepth, double fExplodePercentage + , tPropertyNameValueMap* pOverWritePropertiesMap ); bool isSingleRingChart() const; + double getMaxOffset() const; private: //member - PiePositionHelper* m_pPosHelper; + PiePositionHelper* m_pPosHelper; + bool m_bUseRings; }; //............................................................................. } //namespace chart