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_TITLEMODEL_HXX
25 #define OOX_DRAWINGML_CHART_TITLEMODEL_HXX
26 
27 #include "oox/drawingml/shape.hxx"
28 #include "oox/drawingml/chart/datasourcemodel.hxx"
29 
30 namespace oox {
31 namespace drawingml {
32 namespace chart {
33 
34 // ============================================================================
35 
36 struct TextModel
37 {
38     typedef ModelRef< DataSequenceModel >   DataSequenceRef;
39     typedef ModelRef< TextBody >            TextBodyRef;
40 
41     DataSequenceRef     mxDataSeq;          /// The string data or formula link of this text.
42     TextBodyRef         mxTextBody;         /// Rich-formatted literal text (for title objects only).
43 
44     explicit            TextModel();
45                         ~TextModel();
46 };
47 
48 // ============================================================================
49 
50 struct TitleModel
51 {
52     typedef ModelRef< Shape >       ShapeRef;
53     typedef ModelRef< TextBody >    TextBodyRef;
54     typedef ModelRef< LayoutModel > LayoutRef;
55     typedef ModelRef< TextModel >   TextRef;
56 
57     ShapeRef            mxShapeProp;        /// Title shape formatting.
58     TextBodyRef         mxTextProp;         /// Title text formatting.
59     LayoutRef           mxLayout;           /// Layout/position of the frame.
60     TextRef             mxText;             /// Text source of the title.
61     bool                mbOverlay;          /// True = title may overlay other objects.
62 
63     explicit            TitleModel();
64                         ~TitleModel();
65 };
66 
67 // ============================================================================
68 
69 struct LegendModel
70 {
71     typedef ModelRef< Shape >       ShapeRef;
72     typedef ModelRef< TextBody >    TextBodyRef;
73     typedef ModelRef< LayoutModel > LayoutRef;
74 
75     ShapeRef            mxShapeProp;        /// Legend shape formatting.
76     TextBodyRef         mxTextProp;         /// Legend text formatting.
77     LayoutRef           mxLayout;           /// Layout/position of the legend.
78     sal_Int32           mnPosition;         /// Legend position.
79     bool                mbOverlay;          /// True = legend may overlay other objects.
80 
81     explicit            LegendModel();
82                         ~LegendModel();
83 };
84 
85 // ============================================================================
86 
87 } // namespace chart
88 } // namespace drawingml
89 } // namespace oox
90 
91 #endif
92