update dev300-m58
[ooovba.git] / chart2 / source / view / charttypes / BubbleChart.hxx
blobb647de7e71e77fbe675b079392b606cd2f269299
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: ,v $
10 * $Revision: $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef _CHART2_BUBBLECHART_HXX
31 #define _CHART2_BUBBLECHART_HXX
33 #include "VSeriesPlotter.hxx"
34 #include <com/sun/star/drawing/Direction3D.hpp>
36 //.............................................................................
37 namespace chart
39 //.............................................................................
41 class BubbleChart : public VSeriesPlotter
43 //-------------------------------------------------------------------------
44 // public methods
45 //-------------------------------------------------------------------------
46 public:
47 BubbleChart( const ::com::sun::star::uno::Reference<
48 ::com::sun::star::chart2::XChartType >& xChartTypeModel
49 , sal_Int32 nDimensionCount );
50 virtual ~BubbleChart();
52 //-------------------------------------------------------------------------
53 // chart2::XPlotter
54 //-------------------------------------------------------------------------
56 virtual void SAL_CALL createShapes();
58 virtual void addSeries( VDataSeries* pSeries, sal_Int32 zSlot = -1, sal_Int32 xSlot = -1,sal_Int32 ySlot = -1 );
60 //-------------------
61 virtual ::com::sun::star::drawing::Direction3D getPreferredDiagramAspectRatio() const;
63 //-------------------------------------------------------------------------
64 // MinimumAndMaximumSupplier
65 //-------------------------------------------------------------------------
66 virtual bool isExpandIfValuesCloseToBorder( sal_Int32 nDimensionIndex );
67 virtual bool isSeperateStackingForDifferentSigns( sal_Int32 nDimensionIndex );
69 //-------------------------------------------------------------------------
71 virtual ::com::sun::star::chart2::LegendSymbolStyle getLegendSymbolStyle();
73 //-------------------------------------------------------------------------
74 //-------------------------------------------------------------------------
75 //-------------------------------------------------------------------------
76 private: //methods
77 //no default constructor
78 BubbleChart();
80 void calculateMaximumLogicBubbleSize();
81 void calculateBubbleSizeScalingFactor();
83 com::sun::star::drawing::Direction3D transformToScreenBubbleSize( double fLogicSize );
85 private: //member
87 bool m_bShowNegativeValues;//input parameter
88 bool m_bBubbleSizeAsArea;//input parameter
89 double m_fBubbleSizeScaling;//input parameter
91 double m_fMaxLogicBubbleSize;//calculated values
92 double m_fBubbleSizeFactorToScreen;//calculated values
94 //.............................................................................
95 } //namespace chart
96 //.............................................................................
97 #endif