tdf#130857 qt weld: Implement QtInstanceWidget::strip_mnemonic
[LibreOffice.git] / oox / inc / drawingml / chart / axismodel.hxx
blob0c179927608326b431a110bf9546f8f4f07e7422
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 INCLUDED_OOX_DRAWINGML_CHART_AXISMODEL_HXX
21 #define INCLUDED_OOX_DRAWINGML_CHART_AXISMODEL_HXX
23 #include <oox/drawingml/shape.hxx>
24 #include <drawingml/chart/titlemodel.hxx>
26 namespace oox::drawingml::chart {
28 struct AxisDispUnitsModel
30 typedef ModelRef< Shape > ShapeRef;
31 typedef ModelRef< TextBody > TextBodyRef;
32 typedef ModelRef< LayoutModel > LayoutRef;
33 typedef ModelRef< TextModel > TextRef;
35 ShapeRef mxShapeProp; /// Label frame formatting.
36 TextBodyRef mxTextProp; /// Label text formatting.
37 LayoutRef mxLayout; /// Layout/position of the axis units label.
38 TextRef mxText; /// Text source of the axis units label.
39 double mfCustomUnit; /// Custom unit size on value axis.
40 OUString mnBuiltInUnit; /// Built-in unit on value axis.
42 explicit AxisDispUnitsModel();
43 ~AxisDispUnitsModel();
46 struct AxisModel
48 typedef ModelRef< Shape > ShapeRef;
49 typedef ModelRef< TextBody > TextBodyRef;
50 typedef ModelRef< TitleModel > TitleRef;
51 typedef ModelRef< AxisDispUnitsModel > AxisDispUnitsRef;
53 ShapeRef mxShapeProp; /// Axis line formatting.
54 TextBodyRef mxTextProp; /// Axis label text formatting.
55 TitleRef mxTitle; /// Axis title.
56 AxisDispUnitsRef mxDispUnits; /// Axis units label.
57 ShapeRef mxMajorGridLines; /// Major grid lines formatting.
58 ShapeRef mxMinorGridLines; /// Minor grid lines formatting.
59 NumberFormat maNumberFormat; /// Number format for axis tick labels.
60 std::optional< double > mofCrossesAt; /// Position on this axis where another axis crosses.
61 std::optional< double > mofMajorUnit; /// Unit for major tick marks on date/value axis.
62 std::optional< double > mofMinorUnit; /// Unit for minor tick marks on date/value axis.
63 std::optional< double > mofLogBase; /// Logarithmic base for logarithmic axes.
64 std::optional< double > mofMax; /// Maximum axis value.
65 std::optional< double > mofMin; /// Minimum axis value.
66 std::optional< sal_Int32 > monBaseTimeUnit; /// Base time unit shown on a date axis.
67 sal_Int32 mnAxisId; /// Unique axis identifier.
68 sal_Int32 mnAxisPos; /// Position of the axis (top/bottom/left/right).
69 sal_Int32 mnCrossAxisId; /// Identifier of a crossing axis.
70 sal_Int32 mnCrossBetween; /// This value axis crosses between or inside category.
71 sal_Int32 mnCrossMode; /// Mode this axis crosses another axis (min, max, auto).
72 sal_Int32 mnLabelAlign; /// Tick mark label alignment.
73 sal_Int32 mnLabelOffset; /// Tick mark label distance from axis.
74 sal_Int32 mnMajorTickMark; /// Major tick mark style.
75 sal_Int32 mnMajorTimeUnit; /// Time unit for major tick marks on date axis.
76 sal_Int32 mnMinorTickMark; /// Minor tick mark style.
77 sal_Int32 mnMinorTimeUnit; /// Time unit for minor tick marks on date axis.
78 sal_Int32 mnOrientation; /// Axis orientation (value order min to max, or max to min).
79 sal_Int32 mnTickLabelPos; /// Position of tick mark labels relative to the axis.
80 sal_Int32 mnTickLabelSkip; /// Number of tick mark labels to skip.
81 sal_Int32 mnTickMarkSkip; /// Number of tick marks to skip.
82 sal_Int32 mnTypeId; /// Type identifier of this axis.
83 bool mbAuto; /// True = automatic selection of text/date axis type.
84 bool mbDeleted; /// True = axis has been deleted manually.
85 bool mbNoMultiLevel; /// True = no multi-level categories supported.
87 explicit AxisModel( sal_Int32 nTypeId, bool bMSO2007Doc );
88 ~AxisModel();
91 } // namespace oox::drawingml::chart
93 #endif
95 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */