bump product version to 4.1.6.2
[LibreOffice.git] / include / oox / drawingml / chart / axismodel.hxx
blob30ceae499b0a43250e16faf3b3748b3636fb2884
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef OOX_DRAWINGML_CHART_AXISMODEL_HXX
21 #define OOX_DRAWINGML_CHART_AXISMODEL_HXX
23 #include "oox/drawingml/shape.hxx"
24 #include "oox/drawingml/chart/titlemodel.hxx"
26 namespace oox {
27 namespace drawingml {
28 namespace chart {
30 // ============================================================================
32 struct AxisDispUnitsModel
34 typedef ModelRef< Shape > ShapeRef;
35 typedef ModelRef< TextBody > TextBodyRef;
36 typedef ModelRef< LayoutModel > LayoutRef;
37 typedef ModelRef< TextModel > TextRef;
39 ShapeRef mxShapeProp; /// Label frame formatting.
40 TextBodyRef mxTextProp; /// Label text formatting.
41 LayoutRef mxLayout; /// Layout/position of the axis units label.
42 TextRef mxText; /// Text source of the axis units label.
43 double mfCustomUnit; /// Custom unit size on value axis.
44 sal_Int32 mnBuiltInUnit; /// Built-in unit on value axis.
46 explicit AxisDispUnitsModel();
47 ~AxisDispUnitsModel();
50 // ============================================================================
52 struct AxisModel
54 typedef ModelRef< Shape > ShapeRef;
55 typedef ModelRef< TextBody > TextBodyRef;
56 typedef ModelRef< TitleModel > TitleRef;
57 typedef ModelRef< AxisDispUnitsModel > AxisDispUnitsRef;
59 ShapeRef mxShapeProp; /// Axis line formatting.
60 TextBodyRef mxTextProp; /// Axis label text formatting.
61 TitleRef mxTitle; /// Axis title.
62 AxisDispUnitsRef mxDispUnits; /// Axis units label.
63 ShapeRef mxMajorGridLines; /// Major grid lines formatting.
64 ShapeRef mxMinorGridLines; /// Minor grid lines formatting.
65 NumberFormat maNumberFormat; /// Number format for axis tick labels.
66 OptValue< double > mofCrossesAt; /// Position on this axis where another axis crosses.
67 OptValue< double > mofMajorUnit; /// Unit for major tick marks on date/value axis.
68 OptValue< double > mofMinorUnit; /// Unit for minor tick marks on date/value axis.
69 OptValue< double > mofLogBase; /// Logarithmic base for logarithmic axes.
70 OptValue< double > mofMax; /// Maximum axis value.
71 OptValue< double > mofMin; /// Minimum axis value.
72 OptValue< sal_Int32 > monBaseTimeUnit; /// Base time unit shown on a date axis.
73 sal_Int32 mnAxisId; /// Unique axis identifier.
74 sal_Int32 mnAxisPos; /// Position of the axis (top/bottom/left/right).
75 sal_Int32 mnCrossAxisId; /// Identifier of a crossing axis.
76 sal_Int32 mnCrossBetween; /// This value axis crosses between or inside category.
77 sal_Int32 mnCrossMode; /// Mode this axis crosses another axis (min, max, auto).
78 sal_Int32 mnLabelAlign; /// Tick mark label alignment.
79 sal_Int32 mnLabelOffset; /// Tick mark label distance from axis.
80 sal_Int32 mnMajorTickMark; /// Major tick mark style.
81 sal_Int32 mnMajorTimeUnit; /// Time unit for major tick marks on date axis.
82 sal_Int32 mnMinorTickMark; /// Mainor tick mark style.
83 sal_Int32 mnMinorTimeUnit; /// Time unit for minor tick marks on date axis.
84 sal_Int32 mnOrientation; /// Axis orientation (value order min to max, or max to min).
85 sal_Int32 mnTickLabelPos; /// Position of tick mark labels relative to the axis.
86 sal_Int32 mnTickLabelSkip; /// Number of tick mark labels to skip.
87 sal_Int32 mnTickMarkSkip; /// Number of tick marks to skip.
88 sal_Int32 mnTypeId; /// Type identifier of this axis.
89 bool mbAuto; /// True = automatic selection of text/date axis type.
90 bool mbDeleted; /// True = axis has been deleted manually.
91 bool mbNoMultiLevel; /// True = no multi-level categories supported.
93 explicit AxisModel( sal_Int32 nTypeId );
94 ~AxisModel();
97 // ============================================================================
99 } // namespace chart
100 } // namespace drawingml
101 } // namespace oox
103 #endif
105 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */