1*d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3*d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*d1766043SAndrew Rist * distributed with this work for additional information
6*d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9*d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10*d1766043SAndrew Rist *
11*d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*d1766043SAndrew Rist *
13*d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*d1766043SAndrew Rist * software distributed under the License is distributed on an
15*d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17*d1766043SAndrew Rist * specific language governing permissions and limitations
18*d1766043SAndrew Rist * under the License.
19*d1766043SAndrew Rist *
20*d1766043SAndrew Rist *************************************************************/
21*d1766043SAndrew Rist
22*d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef com_sun_star_chart2_DataPointProperties_idl
24cdf0e10cSrcweir#define com_sun_star_chart2_DataPointProperties_idl
25cdf0e10cSrcweir
26cdf0e10cSrcweir#include <com/sun/star/beans/PropertySet.idl>
27cdf0e10cSrcweir
28cdf0e10cSrcweir#include <com/sun/star/awt/Gradient.idl>
29cdf0e10cSrcweir#include <com/sun/star/drawing/Hatch.idl>
30cdf0e10cSrcweir#include <com/sun/star/drawing/LineDash.idl>
31cdf0e10cSrcweir#include <com/sun/star/style/XStyle.idl>
32cdf0e10cSrcweir
33cdf0e10cSrcweir#include <com/sun/star/chart2/BitmapProperty.idl>
34cdf0e10cSrcweir#include <com/sun/star/chart2/TransparencyStyle.idl>
35cdf0e10cSrcweir#include <com/sun/star/chart2/DataCaptionStyle.idl>
36cdf0e10cSrcweir#include <com/sun/star/chart2/Symbol.idl>
37cdf0e10cSrcweir
38cdf0e10cSrcweirmodule com
39cdf0e10cSrcweir{
40cdf0e10cSrcweirmodule sun
41cdf0e10cSrcweir{
42cdf0e10cSrcweirmodule star
43cdf0e10cSrcweir{
44cdf0e10cSrcweirmodule chart2
45cdf0e10cSrcweir{
46cdf0e10cSrcweir
47cdf0e10cSrcweirservice DataPointProperties
48cdf0e10cSrcweir{
49cdf0e10cSrcweir    /** to give acces to the properties required by this service.
50cdf0e10cSrcweir    */
51cdf0e10cSrcweir    service ::com::sun::star::beans::PropertySet;
52cdf0e10cSrcweir
53cdf0e10cSrcweir    // ----------------------------------------------------------------------
54cdf0e10cSrcweir
55cdf0e10cSrcweir    /** points to a style that also supports this service (but not
56cdf0e10cSrcweir        this property) that is used as default, if the PropertyState
57cdf0e10cSrcweir        of a property is <code>DEFAULT_VALUE</code>.
58cdf0e10cSrcweir     */
59cdf0e10cSrcweir//     [optional, property] ::com::sun::star::style::XStyle        Style;
60cdf0e10cSrcweir
61cdf0e10cSrcweir    // Common Properties
62cdf0e10cSrcweir    // -----------------
63cdf0e10cSrcweir
64cdf0e10cSrcweir
65cdf0e10cSrcweir    /** This is the main color of a data point.
66cdf0e10cSrcweir
67cdf0e10cSrcweir        <p>For charts with filled areas, like bar-charts, this should
68cdf0e10cSrcweir        map to the <code>FillColor</code> of the objects.  For
69cdf0e10cSrcweir        line-charts this should map to the <code>LineColor</code>
70cdf0e10cSrcweir        property.</p>
71cdf0e10cSrcweir
72cdf0e10cSrcweir        @see com::sun::star::drawing::FillProperties
73cdf0e10cSrcweir        @see com::sun::star::drawing::LineProperties
74cdf0e10cSrcweir     */
75cdf0e10cSrcweir    [property] long                                   Color;
76cdf0e10cSrcweir
77cdf0e10cSrcweir    /** This is the main transparency value of a data point.
78cdf0e10cSrcweir
79cdf0e10cSrcweir        <p>For charts with filled areas, like bar-charts, this should
80cdf0e10cSrcweir        map to the <code>FillTransparence</code> of the objects.  For
81cdf0e10cSrcweir        line-charts this should map to the
82cdf0e10cSrcweir        <code>LineTransparence</code> property.</p>
83cdf0e10cSrcweir
84cdf0e10cSrcweir        @see com::sun::star::drawing::FillProperties
85cdf0e10cSrcweir        @see com::sun::star::drawing::LineProperties
86cdf0e10cSrcweir     */
87cdf0e10cSrcweir    [property] short                                  Transparency;
88cdf0e10cSrcweir
89cdf0e10cSrcweir
90cdf0e10cSrcweir    // Fill Properties
91cdf0e10cSrcweir    // ---------------
92cdf0e10cSrcweir
93cdf0e10cSrcweir	/** This enumeration selects the style with which the area will be filled.
94cdf0e10cSrcweir	*/
95cdf0e10cSrcweir    [property] ::com::sun::star::drawing::FillStyle   FillStyle;
96cdf0e10cSrcweir
97cdf0e10cSrcweir	/** This describes the transparency of the fill area as a gradient.
98cdf0e10cSrcweir	*/
99cdf0e10cSrcweir    [optional, property] ::com::sun::star::awt::Gradient        TransparencyGradient;
100cdf0e10cSrcweir    [optional, property] ::com::sun::star::awt::Gradient        Gradient;
101cdf0e10cSrcweir    [optional, property] ::com::sun::star::drawing::Hatch       Hatch;
102cdf0e10cSrcweir
103cdf0e10cSrcweir	[property] string TransparencyGradientName;
104cdf0e10cSrcweir	[property] string GradientName;
105cdf0e10cSrcweir	[property] string HatchName;
106cdf0e10cSrcweir	[property] string FillBitmapName;
107cdf0e10cSrcweir
108cdf0e10cSrcweir    /** If <TRUE/>, fills the background of a hatch with the color
109cdf0e10cSrcweir        given in the <member>Color</member> property.
110cdf0e10cSrcweir     */
111cdf0e10cSrcweir    [property] boolean FillBackground;
112cdf0e10cSrcweir
113cdf0e10cSrcweir    /** Is used for borders around filled objects.  See
114cdf0e10cSrcweir        <code>LineColor</code>.
115cdf0e10cSrcweir
116cdf0e10cSrcweir        @see com::sun::star::drawing::LineProperties
117cdf0e10cSrcweir     */
118cdf0e10cSrcweir    [property] long                                   BorderColor;
119cdf0e10cSrcweir    /** Is used for borders around filled objects.  See
120cdf0e10cSrcweir        <code>LineStyle</code>.
121cdf0e10cSrcweir
122cdf0e10cSrcweir        @see com::sun::star::drawing::LineProperties
123cdf0e10cSrcweir     */
124cdf0e10cSrcweir	[property] ::com::sun::star::drawing::LineStyle   BorderStyle;
125cdf0e10cSrcweir    /** Is used for borders around filled objects.  See
126cdf0e10cSrcweir        <code>LineWidth</code>.
127cdf0e10cSrcweir
128cdf0e10cSrcweir        @see com::sun::star::drawing::LineProperties
129cdf0e10cSrcweir     */
130cdf0e10cSrcweir    [property] long                                   BorderWidth;
131cdf0e10cSrcweir    /** Is used for borders around filled objects.  See
132cdf0e10cSrcweir        <code>LineDash</code>.
133cdf0e10cSrcweir
134cdf0e10cSrcweir        @see com::sun::star::drawing::LineProperties
135cdf0e10cSrcweir     */
136cdf0e10cSrcweir    [property] ::com::sun::star::drawing::LineDash    BorderDash;
137cdf0e10cSrcweir
138cdf0e10cSrcweir    /** The name of a dash that can be found in the
139cdf0e10cSrcweir        <type scope="com::sun::star::container">XNameContainer</type>
140cdf0e10cSrcweir        "com.sun.star.drawing.LineDashTable", that can be created via
141cdf0e10cSrcweir        the
142cdf0e10cSrcweir        <type scope="com::sun::star::uno">XMultiServiceFactory</type>
143cdf0e10cSrcweir        of the <type>ChartDocument</type>.
144cdf0e10cSrcweir     */
145cdf0e10cSrcweir    [optional, property] string                       BorderDashName;
146cdf0e10cSrcweir
147cdf0e10cSrcweir    /** Is used for borders around filled objects.  See
148cdf0e10cSrcweir        <code>LineTransparence</code>.
149cdf0e10cSrcweir
150cdf0e10cSrcweir        @see com::sun::star::drawing::LineProperties
151cdf0e10cSrcweir     */
152cdf0e10cSrcweir    [optional, property] short                        BorderTransparency;
153cdf0e10cSrcweir
154cdf0e10cSrcweir
155cdf0e10cSrcweir    // Line Properties
156cdf0e10cSrcweir    // ---------------
157cdf0e10cSrcweir    [property] ::com::sun::star::drawing::LineStyle   LineStyle;
158cdf0e10cSrcweir    /** Is only used for line-chart types.
159cdf0e10cSrcweir
160cdf0e10cSrcweir        @see com::sun::star::drawing::LineProperties
161cdf0e10cSrcweir     */
162cdf0e10cSrcweir    [property] long                                   LineWidth;
163cdf0e10cSrcweir    /** Is only used for line-chart types.
164cdf0e10cSrcweir
165cdf0e10cSrcweir        @see com::sun::star::drawing::LineProperties
166cdf0e10cSrcweir     */
167cdf0e10cSrcweir    [property] ::com::sun::star::drawing::LineDash    LineDash;
168cdf0e10cSrcweir
169cdf0e10cSrcweir    /** The name of a dash that can be found in the
170cdf0e10cSrcweir        <type scope="com::sun::star::container">XNameContainer</type>
171cdf0e10cSrcweir        "com.sun.star.drawing.LineDashTable", that can be created via
172cdf0e10cSrcweir        the
173cdf0e10cSrcweir        <type scope="com::sun::star::uno">XMultiServiceFactory</type>
174cdf0e10cSrcweir        of the <type>ChartDocument</type>.
175cdf0e10cSrcweir     */
176cdf0e10cSrcweir    [optional, property] string                       LineDashName;
177cdf0e10cSrcweir
178cdf0e10cSrcweir	//-------------------------------------------------------------------------
179cdf0e10cSrcweir
180cdf0e10cSrcweir    // bitmap properties /copied from drawing::FillProperties
181cdf0e10cSrcweir
182cdf0e10cSrcweir	/** This is the horizontal offset where the tile starts.
183cdf0e10cSrcweir
184cdf0e10cSrcweir		<p>It is given in percent in relation to the width of the bitmap.
185cdf0e10cSrcweir	*/
186cdf0e10cSrcweir	[property] short FillBitmapOffsetX;
187cdf0e10cSrcweir
188cdf0e10cSrcweir	/** This is the vertical offset where the tile starts.
189cdf0e10cSrcweir
190cdf0e10cSrcweir		It is given in percent in relation to the width of the bitmap.
191cdf0e10cSrcweir	*/
192cdf0e10cSrcweir	[property] short FillBitmapOffsetY;
193cdf0e10cSrcweir
194cdf0e10cSrcweir	/** Every second line of tiles is moved the given percent of the
195cdf0e10cSrcweir		witdh of the bitmap.
196cdf0e10cSrcweir	*/
197cdf0e10cSrcweir	[property] short FillBitmapPositionOffsetX;
198cdf0e10cSrcweir
199cdf0e10cSrcweir	/** Every second row of tiles is moved the given percent of the
200cdf0e10cSrcweir		width of the bitmap.
201cdf0e10cSrcweir	*/
202cdf0e10cSrcweir	[property] short FillBitmapPositionOffsetY;
203cdf0e10cSrcweir
204cdf0e10cSrcweir	/** The RectanglePoint specifies the position inside of the bitmap to
205cdf0e10cSrcweir		use as the top left position for rendering.
206cdf0e10cSrcweir	*/
207cdf0e10cSrcweir	[property] com::sun::star::drawing::RectanglePoint FillBitmapRectanglePoint;
208cdf0e10cSrcweir
209cdf0e10cSrcweir	/** specifies if the size is given in percentage or
210cdf0e10cSrcweir		as an absolute value.
211cdf0e10cSrcweir
212cdf0e10cSrcweir		<p>If this is <TRUE/>, the properties FillBitmapSizeX
213cdf0e10cSrcweir		and  FillBitmapSizeY contain the size of the tile in percent
214cdf0e10cSrcweir		of the size of the original bitmap. If this
215cdf0e10cSrcweir		is <FALSE/>, the size of the tile is specified
216cdf0e10cSrcweir		with 1/100th mm.
217cdf0e10cSrcweir	*/
218cdf0e10cSrcweir	[property] boolean FillBitmapLogicalSize;
219cdf0e10cSrcweir
220cdf0e10cSrcweir	/** This is the width of the tile for filling.
221cdf0e10cSrcweir
222cdf0e10cSrcweir		<p>Depending on the property FillBitmapLogicalSize, this is
223cdf0e10cSrcweir		either relative or absolute.
224cdf0e10cSrcweir	*/
225cdf0e10cSrcweir	[property] long FillBitmapSizeX;
226cdf0e10cSrcweir
227cdf0e10cSrcweir	/** This is the height of the tile for filling.
228cdf0e10cSrcweir
229cdf0e10cSrcweir		<p>Depending on the property FillBitmapLogicalSize, this
230cdf0e10cSrcweir		is either relative or absolute.
231cdf0e10cSrcweir	*/
232cdf0e10cSrcweir	[property] long FillBitmapSizeY;
233cdf0e10cSrcweir
234cdf0e10cSrcweir	/** this enum selects how a area is filled with a single bitmap.
235cdf0e10cSrcweir	*/
236cdf0e10cSrcweir	[property] com::sun::star::drawing::BitmapMode FillBitmapMode;
237cdf0e10cSrcweir
238cdf0e10cSrcweir	//-------------------------------------------------------------------------
239cdf0e10cSrcweir
240cdf0e10cSrcweir    /**
241cdf0e10cSrcweir     */
242cdf0e10cSrcweir    [optional, property] Symbol                       Symbol;
243cdf0e10cSrcweir
244cdf0e10cSrcweir    /** describes a value by which a data point is moved from its
245cdf0e10cSrcweir        default position in percent of the maximum allowed distance.
246cdf0e10cSrcweir
247cdf0e10cSrcweir        <p>This is especially useful for the explosion of pie-chart
248cdf0e10cSrcweir        segments.</p>
249cdf0e10cSrcweir     */
250cdf0e10cSrcweir    [optional, property] double                       Offset;
251cdf0e10cSrcweir
252cdf0e10cSrcweir    /** describes the geometry of a 3 dimensional datapoint.
253cdf0e10cSrcweir        Number is one of constant group <type>DataPointGeometry3D</type>.
254cdf0e10cSrcweir        <p>This is especially used for 3D bar-charts.</p>
255cdf0e10cSrcweir        <p>CUBOID==0 CYLINDER==1 CONE==2 PYRAMID==3 CUBOID==else</p>
256cdf0e10cSrcweir    */
257cdf0e10cSrcweir    [optional, property] long                         Geometry3D;
258cdf0e10cSrcweir
259cdf0e10cSrcweir    [property] DataPointLabel                         Label;
260cdf0e10cSrcweir
261cdf0e10cSrcweir    /** specifies a string that is used to separate the parts of a data label (caption)
262cdf0e10cSrcweir	 */
263cdf0e10cSrcweir    [optional, property] string LabelSeparator;
264cdf0e10cSrcweir
265cdf0e10cSrcweir    /** specifies a number format for the display of the value in the data label
266cdf0e10cSrcweir	 */
267cdf0e10cSrcweir    [optional, property] long NumberFormat;
268cdf0e10cSrcweir
269cdf0e10cSrcweir    /** specifies a number format for the display of the percentage value in the data label
270cdf0e10cSrcweir	 */
271cdf0e10cSrcweir    [optional, property] long PercentageNumberFormat;
272cdf0e10cSrcweir
273cdf0e10cSrcweir    /** specifies a relative position for the data label
274cdf0e10cSrcweir
275cdf0e10cSrcweir        @see ::com::sun::star::chart::DataLabelPlacement
276cdf0e10cSrcweir	 */
277cdf0e10cSrcweir    [optional, property] long LabelPlacement;
278cdf0e10cSrcweir
279cdf0e10cSrcweir    /** The size of the page at the moment when the font size for
280cdf0e10cSrcweir        data labels was set.
281cdf0e10cSrcweir
282cdf0e10cSrcweir        <p>This size is used to resize text in the view when the size
283cdf0e10cSrcweir        of the page has changed since the font sizes were set
284cdf0e10cSrcweir        (automatic text scaling).</p>
285cdf0e10cSrcweir     */
286cdf0e10cSrcweir    [maybevoid, property] com::sun::star::awt::Size   ReferencePageSize;
287cdf0e10cSrcweir
288cdf0e10cSrcweir    // statistics
289cdf0e10cSrcweir
290cdf0e10cSrcweir    /** If void, no error bars are shown for the data point in
291cdf0e10cSrcweir        x-direction.
292cdf0e10cSrcweir
293cdf0e10cSrcweir        <p>The <type scope="com::sun::star::beans">XPropertySet</type>
294cdf0e10cSrcweir        must support the service <type>ErrorBar</type>.</p>
295cdf0e10cSrcweir     */
296cdf0e10cSrcweir    [optional, maybevoid, property] com::sun::star::beans::XPropertySet      ErrorBarX;
297cdf0e10cSrcweir
298cdf0e10cSrcweir    /** If void, no error bars are shown for the data point in
299cdf0e10cSrcweir        y-direction.
300cdf0e10cSrcweir
301cdf0e10cSrcweir        <p>The <type scope="com::sun::star::beans">XPropertySet</type>
302cdf0e10cSrcweir        must support the service <type>ErrorBar</type>.</p>
303cdf0e10cSrcweir     */
304cdf0e10cSrcweir    [optional, maybevoid, property] com::sun::star::beans::XPropertySet      ErrorBarY;
305cdf0e10cSrcweir
306cdf0e10cSrcweir    /** In case <member>ErrorBarX</member> and
307cdf0e10cSrcweir        <member>ErrorBarY</member> both are set, and error bars are
308cdf0e10cSrcweir        shown, a box spanning all error-indicators is rendered.
309cdf0e10cSrcweir     */
310cdf0e10cSrcweir    [optional, maybevoid, property] boolean           ShowErrorBox;
311cdf0e10cSrcweir
312cdf0e10cSrcweir
313cdf0e10cSrcweir    /** A value between 0 and 100 indicating the percentage how round an edge should be.
314cdf0e10cSrcweir    */
315cdf0e10cSrcweir    [optional, maybevoid, property] short             PercentDiagonal;
316cdf0e10cSrcweir};
317cdf0e10cSrcweir
318cdf0e10cSrcweir} ; // chart2
319cdf0e10cSrcweir} ; // com
320cdf0e10cSrcweir} ; // sun
321cdf0e10cSrcweir} ; // star
322cdf0e10cSrcweir
323cdf0e10cSrcweir
324cdf0e10cSrcweir#endif
325