summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/chart2/Axis.idl
blob: 28f5c19283011f1a811d232ca608c7dc74c68602 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */
#ifndef com_sun_star_chart2_Axis_idl
#define com_sun_star_chart2_Axis_idl

#include <com/sun/star/beans/PropertySet.idl>
#include <com/sun/star/awt/Size.idl>
#include <com/sun/star/chart/ChartAxisArrangeOrderType.idl>
#include <com/sun/star/chart/ChartAxisPosition.idl>
#include <com/sun/star/chart/ChartAxisLabelPosition.idl>
#include <com/sun/star/chart/ChartAxisMarkPosition.idl>
#include <com/sun/star/chart2/XAxis.idl>
#include <com/sun/star/chart2/XTitled.idl>
#include <com/sun/star/drawing/LineProperties.idl>
#include <com/sun/star/style/CharacterProperties.idl>
#include <com/sun/star/style/CharacterPropertiesAsian.idl>
#include <com/sun/star/style/CharacterPropertiesComplex.idl>

module com
{
module sun
{
module star
{
module chart2
{

service Axis
{
    service ::com::sun::star::drawing::LineProperties;

    service ::com::sun::star::style::CharacterProperties;
    service ::com::sun::star::beans::PropertySet;
    [optional] service ::com::sun::star::style::CharacterPropertiesAsian;
    [optional] service ::com::sun::star::style::CharacterPropertiesComplex;

    interface ::com::sun::star::chart2::XAxis;
    [optional] interface ::com::sun::star::chart2::XTitled;

    /** Determines, whether the axis should be rendered by the view.
     */
    [property]      boolean   Show;

    /** Determines where the axis crosses the other axis.
     */
    [optional, property] com::sun::star::chart::ChartAxisPosition CrossoverPosition;

    /** Determines the scale value on the other axis when CrossoverPosition is set to VALUE.
     */
    [optional, property] double CrossoverValue;

    /** Determines whether to display text at the axis or not.
     */
    [property]      boolean   DisplayLabels;

    /** Determines where the axis labels are placed.
     */
    [optional, property] com::sun::star::chart::ChartAxisLabelPosition LabelPosition;

    /** Determines how to stagger the labels at the axis (side by side, even, odd, auto )
    */
    [property]      ::com::sun::star::chart::ChartAxisArrangeOrderType ArrangeOrder;

    /** Determines whether the labels are allowed to break into more than one line
    */
    [property]      boolean   TextBreak;

    /** Determines whether the labels are allowed to overlap
    */
    [property]      boolean   TextOverlap;

    /** Determines whether the characters in a single labels should be stacked one upon each other
    */
    [property]      boolean   StackCharacters;

    /** Determines the rotation of the text labels in degrees
     */
    [property]      double    TextRotation;

    /** A NumberFormat key.

        <p>If this property is not set, it is treated as auto.  This
        means linked to the source format.</p>

        <p>To determine a source format, the axis can query the
        XDataSequences used by the data series attached
        to it (see XDataSequence::getNumberFormatKeyByIndex()).
        </p>
     */
    [property, maybevoid]      long      NumberFormat;

    [property]      ::com::sun::star::awt::Size  ReferencePageSize;

    /** determines what kind of tickmarks should be shown for major ticks.

         @see TickmarkStyle.
    */
    [property]      long      MajorTickmarks;

    /** determines what kind of tickmarks should be shown for minor ticks.

        @see TickmarkStyle.
     */
    [property]      long      MinorTickmarks;

    /** Determines where the interval marks are placed.
     */
    [optional, property] com::sun::star::chart::ChartAxisMarkPosition MarkPosition;

    /** Determines display units are avaiblable for axis

        @since LibreOffice 4.3
     */
    [optional, property] boolean DisplayUnits;

    /** Determintes built in display unit value for axis

        @since LibreOffice 4.3
     */
    [optional, property] string BuiltInUnit;

    /** Compatibility option: determines which strategy should be tried first for fixing axis labels overlapping issues

        @since LibreOffice 5.1
     */
    [optional, property] boolean TryStaggeringFirst;

};

} ; // chart2
} ; // com
} ; // sun
} ; // star

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */