summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/chart2/DataPointProperties.idl
blob: 9c46bdf85aa2c7588ea01c8a43f3792e4504c72a (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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
/* -*- 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_DataPointProperties_idl
#define com_sun_star_chart2_DataPointProperties_idl

#include <com/sun/star/beans/PropertySet.idl>
#include <com/sun/star/awt/Gradient.idl>
#include <com/sun/star/style/XStyle.idl>
#include <com/sun/star/drawing/Hatch.idl>
#include <com/sun/star/drawing/LineDash.idl>
#include <com/sun/star/drawing/BitmapMode.idl>
#include <com/sun/star/drawing/FillStyle.idl>
#include <com/sun/star/drawing/LineStyle.idl>
#include <com/sun/star/drawing/RectanglePoint.idl>
#include <com/sun/star/chart2/DataPointLabel.idl>
#include <com/sun/star/chart2/Symbol.idl>

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

service DataPointProperties
{
    /** to give access to the properties required by this service.
    */
    service ::com::sun::star::beans::PropertySet;


    /** points to a style that also supports this service (but not
        this property) that is used as default, if the PropertyState
        of a property is <code>DEFAULT_VALUE</code>.
     */
//     [optional, property] ::com::sun::star::style::XStyle        Style;

    // Common Properties


    /** This is the main color of a data point.

        <p>For charts with filled areas, like bar-charts, this should
        map to the <code>FillColor</code> of the objects.  For
        line-charts this should map to the <code>LineColor</code>
        property.</p>

        @see com::sun::star::drawing::FillProperties
        @see com::sun::star::drawing::LineProperties
     */
    [property] long                                   Color;

    /** This is the main transparency value of a data point.

        <p>For charts with filled areas, like bar-charts, this should
        map to the <code>FillTransparence</code> of the objects.  For
        line-charts this should map to the
        <code>LineTransparence</code> property.</p>

        @see com::sun::star::drawing::FillProperties
        @see com::sun::star::drawing::LineProperties
     */
    [property] short                                  Transparency;


    // Fill Properties

    /** This enumeration selects the style with which the area will be filled.
    */
    [property] ::com::sun::star::drawing::FillStyle   FillStyle;

    /** This describes the transparency of the fill area as a gradient.
    */
    [optional, property] ::com::sun::star::awt::Gradient        TransparencyGradient;
    [optional, property] ::com::sun::star::awt::Gradient        Gradient;
    [optional, property] ::com::sun::star::drawing::Hatch       Hatch;

    [property] string TransparencyGradientName;
    [property] string GradientName;
    [property] string HatchName;
    [property] string FillBitmapName;

    /** If <TRUE/>, fills the background of a hatch with the color
        given in the #Color property.
     */
    [property] boolean FillBackground;

    /** Is used for borders around filled objects.  See
        <code>LineColor</code>.

        @see com::sun::star::drawing::LineProperties
     */
    [property] long                                   BorderColor;
    /** Is used for borders around filled objects.  See
        <code>LineStyle</code>.

        @see com::sun::star::drawing::LineProperties
     */
    [property] ::com::sun::star::drawing::LineStyle   BorderStyle;
    /** Is used for borders around filled objects.  See
        <code>LineWidth</code>.

        @see com::sun::star::drawing::LineProperties
     */
    [property] long                                   BorderWidth;
    /** Is used for borders around filled objects.  See
        <code>LineDash</code>.

        @see com::sun::star::drawing::LineProperties
     */
    [property] ::com::sun::star::drawing::LineDash    BorderDash;

    /** The name of a dash that can be found in the
        com::sun::star::container::XNameContainer
        "com.sun.star.drawing.LineDashTable", that can be created via
        the
        com::sun::star::uno::XMultiServiceFactory
        of the ChartDocument.
     */
    [optional, property] string                       BorderDashName;

    /** Is used for borders around filled objects.  See
        <code>LineTransparence</code>.

        @see com::sun::star::drawing::LineProperties
     */
    [optional, property] short                        BorderTransparency;


    // Line Properties
    [property] ::com::sun::star::drawing::LineStyle   LineStyle;
    /** Is only used for line-chart types.

        @see com::sun::star::drawing::LineProperties
     */
    [property] long                                   LineWidth;
    /** Is only used for line-chart types.

        @see com::sun::star::drawing::LineProperties
     */
    [property] ::com::sun::star::drawing::LineDash    LineDash;

    /** The name of a dash that can be found in the
        com::sun::star::container::XNameContainer
        "com.sun.star.drawing.LineDashTable", that can be created via
        the
        com::sun::star::uno::XMultiServiceFactory
        of the ChartDocument.
     */
    [optional, property] string                       LineDashName;


    // bitmap properties /copied from drawing::FillProperties

    /** This is the horizontal offset where the tile starts.

        <p>It is given in percent in relation to the width of the bitmap.
    */
    [property] short FillBitmapOffsetX;

    /** This is the vertical offset where the tile starts.

        It is given in percent in relation to the width of the bitmap.
    */
    [property] short FillBitmapOffsetY;

    /** Every second line of tiles is moved the given percent of the
        width of the bitmap.
    */
    [property] short FillBitmapPositionOffsetX;

    /** Every second row of tiles is moved the given percent of the
        width of the bitmap.
    */
    [property] short FillBitmapPositionOffsetY;

    /** The RectanglePoint specifies the position inside of the bitmap to
        use as the top left position for rendering.
    */
    [property] com::sun::star::drawing::RectanglePoint FillBitmapRectanglePoint;

    /** specifies if the size is given in percentage or
        as an absolute value.

        <p>If this is <TRUE/>, the properties FillBitmapSizeX
        and  FillBitmapSizeY contain the size of the tile in percent
        of the size of the original bitmap. If this
        is <FALSE/>, the size of the tile is specified
        with 1/100th mm.
    */
    [property] boolean FillBitmapLogicalSize;

    /** This is the width of the tile for filling.

        <p>Depending on the property FillBitmapLogicalSize, this is
        either relative or absolute.
    */
    [property] long FillBitmapSizeX;

    /** This is the height of the tile for filling.

        <p>Depending on the property FillBitmapLogicalSize, this
        is either relative or absolute.
    */
    [property] long FillBitmapSizeY;

    /** this enum selects how a area is filled with a single bitmap.
    */
    [property] com::sun::star::drawing::BitmapMode FillBitmapMode;


    /**
     */
    [optional, property] Symbol                       Symbol;

    /** describes a value by which a data point is moved from its
        default position in percent of the maximum allowed distance.

        <p>This is especially useful for the explosion of pie-chart
        segments.</p>
     */
    [optional, property] double                       Offset;

    /** describes the geometry of a 3 dimensional data point.
        Number is one of constant group DataPointGeometry3D.
        <p>This is especially used for 3D bar-charts.</p>
        <p>CUBOID==0 CYLINDER==1 CONE==2 PYRAMID==3 CUBOID==else</p>
    */
    [optional, property] long                         Geometry3D;

    [property] DataPointLabel                         Label;

    /** specifies a string that is used to separate the parts of a data label (caption)
     */
    [optional, property] string LabelSeparator;

    /** specifies a number format for the display of the value in the data label
     */
    [optional, property] long NumberFormat;

    /** specifies a number format for the display of the percentage value in the data label
     */
    [optional, property] long PercentageNumberFormat;

    /** specifies a relative position for the data label

        @see ::com::sun::star::chart::DataLabelPlacement
     */
    [optional, property] long LabelPlacement;

    /** The size of the page at the moment when the font size for
        data labels was set.

        <p>This size is used to resize text in the view when the size
        of the page has changed since the font sizes were set
        (automatic text scaling).</p>
     */
    [maybevoid, property] com::sun::star::awt::Size   ReferencePageSize;

    // statistics

    /** If void, no error bars are shown for the data point in
        x-direction.

        <p>The com::sun::star::beans::XPropertySet
        must support the service ErrorBar.</p>
     */
    [optional, maybevoid, property] com::sun::star::beans::XPropertySet      ErrorBarX;

    /** If void, no error bars are shown for the data point in
        y-direction.

        <p>The com::sun::star::beans::XPropertySet
        must support the service ErrorBar.</p>
     */
    [optional, maybevoid, property] com::sun::star::beans::XPropertySet      ErrorBarY;

    /** In case #ErrorBarX and
        #ErrorBarY both are set, and error bars are
        shown, a box spanning all error-indicators is rendered.
     */
    [optional, maybevoid, property] boolean           ShowErrorBox;


    /** A value between 0 and 100 indicating the percentage how round an edge should be.
    */
    [optional, maybevoid, property] short             PercentDiagonal;
};

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


#endif

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