1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef OOX_DRAWINGML_CHART_CHARTSPACEMODEL_HXX
29 #define OOX_DRAWINGML_CHART_CHARTSPACEMODEL_HXX
30 
31 #include "oox/drawingml/shape.hxx"
32 #include "oox/drawingml/chart/plotareamodel.hxx"
33 #include "oox/drawingml/chart/titlemodel.hxx"
34 
35 namespace oox {
36 namespace drawingml {
37 namespace chart {
38 
39 // ============================================================================
40 
41 struct ChartSpaceModel
42 {
43     typedef ModelRef< Shape >           ShapeRef;
44     typedef ModelRef< TextBody >        TextBodyRef;
45     typedef ModelRef< PlotAreaModel >   PlotAreaRef;
46     typedef ModelRef< WallFloorModel >  WallFloorRef;
47     typedef ModelRef< View3DModel >     View3DRef;
48     typedef ModelRef< TitleModel >      TitleRef;
49     typedef ModelRef< LegendModel >     LegendRef;
50 
51     ShapeRef            mxShapeProp;        /// Chart frame formatting.
52     TextBodyRef         mxTextProp;         /// Global chart text formatting.
53     PlotAreaRef         mxPlotArea;         /// Plot area of the chart.
54     WallFloorRef        mxFloor;            /// Floor formatting in 3D charts.
55     WallFloorRef        mxBackWall;         /// Back wall formatting in 3D charts.
56     WallFloorRef        mxSideWall;         /// Side wall formatting in 3D charts.
57     View3DRef           mxView3D;           /// 3D settings.
58     TitleRef            mxTitle;            /// Chart main title.
59     LegendRef           mxLegend;           /// Chart legend.
60     ::rtl::OUString     maDrawingPath;      /// Path to drawing fragment with embedded shapes.
61     sal_Int32           mnDispBlanksAs;     /// Mode how to display blank values.
62     sal_Int32           mnStyle;            /// Index to default formatting.
63     bool                mbAutoTitleDel;     /// True = automatic title deleted manually.
64     bool                mbPlotVisOnly;      /// True = plot visible cells in a sheet only.
65     bool                mbShowLabelsOverMax;/// True = show labels over chart maximum.
66     bool                mbPivotChart;       /// True = pivot chart.
67 
68     explicit            ChartSpaceModel();
69                         ~ChartSpaceModel();
70 };
71 
72 // ============================================================================
73 
74 } // namespace chart
75 } // namespace drawingml
76 } // namespace oox
77 
78 #endif
79