sync master with lastest vba changes
[ooovba.git] / binfilter / inc / bf_sch / chdescr.hxx
blobc4966f7270e089370352266834fb5678c6e31d00
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: chdescr.hxx,v $
10 * $Revision: 1.7 $
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 ************************************************************************/
31 #ifndef _SCH_CHTDESCR_HXX_
32 #define _SCH_CHTDESCR_HXX_
34 //STRIP008 class SdrObjList;
35 //STRIP008 class SchObjGroup;
36 //STRIP008 class ChartAxis;
38 #ifndef _SVDOBJ_HXX //autogen wg. SdrObject
39 #include <bf_svx/svdobj.hxx>
40 #endif
42 #include "adjust.hxx"
43 #include "tools/solar.h"
44 #ifndef _SV_GEN_HXX //autogen
45 #include <tools/gen.hxx>
46 #endif
47 #include "schattr.hxx"
48 #ifndef _SVX_CHRTITEM_HXX //autogen
49 #define ITEMID_DOUBLE 0
50 #define ITEMID_CHARTTEXTORDER SCHATTR_TEXT_ORDER
51 #define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
52 #define ITEMID_CHARTLEGENDPOS SCHATTR_LEGEND_POS
53 #define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
54 #include <bf_svx/chrtitem.hxx>
55 #endif
56 #ifndef _SVX_VECTOR3D_HXX //autogen
57 #include <bf_goodies/vector3d.hxx>
58 #endif
60 #include <float.h> // for DBL_MIN
61 namespace binfilter {
63 class SfxItemSet;
64 class Matrix4D;
65 class SdrObjList;
66 class SchObjGroup;
67 class ChartAxis;
68 class ChartModel;
69 class ChartScene;
71 struct DataDescription
73 public:
74 Vector3D aTextPos3D;
75 Point aTextPos2D;
76 double fValue;
77 SvxChartDataDescr eDescr;
78 ChartAdjust eAdjust;
79 BOOL bSymbol;
80 BOOL bShow;
81 SdrObject *pLabelObj;
83 DataDescription() : // (BM) default constructor
84 aTextPos3D( 0, 0, 0 ),
85 aTextPos2D( 0, 0 ),
86 fValue( DBL_MIN ),
87 eDescr( CHDESCR_NONE ),
88 eAdjust( CHADJUST_CENTER_CENTER ),
89 bSymbol( FALSE ),
90 bShow( FALSE ),
91 pLabelObj( NULL )
95 class ChartDataDescription
98 long mnRows;
99 long mnCols;
100 ChartModel* mpModel;
101 SdrObjList** mpDescrLists;
102 SdrObjList* mpList;
103 DataDescription* mpDescrArray;
104 BOOL mbEnable;
105 SchObjGroup** mpDescrGroups;
106 void Dirty2D(BOOL bRowDescr);
108 public:
110 BOOL Enabled() { return mbEnable; }
111 void Build( BOOL bRowDescr=TRUE ); // insert data description in list (i.e. page)
113 void Build3D( ChartScene* pScene, Matrix4D* pMatrix=NULL );
114 DataDescription* Insert( long nCol, long nRow, const SfxItemSet& rAttr, Point aPos,
115 BOOL bPercent, ChartAdjust eAdjust, ChartAxis* pAxis);
117 ChartDataDescription( long nCols, long nRows, SdrObjList *pList, ChartModel* mpModel, BOOL bEnable=TRUE );
118 ~ChartDataDescription();
121 } //namespace binfilter
122 #endif