1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef OOX_DRAWINGML_CHART_CHARTSPACEMODEL_HXX
25 #define OOX_DRAWINGML_CHART_CHARTSPACEMODEL_HXX
26 
27 #include "oox/drawingml/shape.hxx"
28 #include "oox/drawingml/chart/plotareamodel.hxx"
29 #include "oox/drawingml/chart/titlemodel.hxx"
30 
31 namespace oox {
32 namespace drawingml {
33 namespace chart {
34 
35 // ============================================================================
36 
37 struct ChartSpaceModel
38 {
39     typedef ModelRef< Shape >           ShapeRef;
40     typedef ModelRef< TextBody >        TextBodyRef;
41     typedef ModelRef< PlotAreaModel >   PlotAreaRef;
42     typedef ModelRef< WallFloorModel >  WallFloorRef;
43     typedef ModelRef< View3DModel >     View3DRef;
44     typedef ModelRef< TitleModel >      TitleRef;
45     typedef ModelRef< LegendModel >     LegendRef;
46 
47     ShapeRef            mxShapeProp;        /// Chart frame formatting.
48     TextBodyRef         mxTextProp;         /// Global chart text formatting.
49     PlotAreaRef         mxPlotArea;         /// Plot area of the chart.
50     WallFloorRef        mxFloor;            /// Floor formatting in 3D charts.
51     WallFloorRef        mxBackWall;         /// Back wall formatting in 3D charts.
52     WallFloorRef        mxSideWall;         /// Side wall formatting in 3D charts.
53     View3DRef           mxView3D;           /// 3D settings.
54     TitleRef            mxTitle;            /// Chart main title.
55     LegendRef           mxLegend;           /// Chart legend.
56     ::rtl::OUString     maDrawingPath;      /// Path to drawing fragment with embedded shapes.
57     sal_Int32           mnDispBlanksAs;     /// Mode how to display blank values.
58     sal_Int32           mnStyle;            /// Index to default formatting.
59     bool                mbAutoTitleDel;     /// True = automatic title deleted manually.
60     bool                mbPlotVisOnly;      /// True = plot visible cells in a sheet only.
61     bool                mbShowLabelsOverMax;/// True = show labels over chart maximum.
62     bool                mbPivotChart;       /// True = pivot chart.
63 
64     explicit            ChartSpaceModel();
65                         ~ChartSpaceModel();
66 };
67 
68 // ============================================================================
69 
70 } // namespace chart
71 } // namespace drawingml
72 } // namespace oox
73 
74 #endif
75