Files
loongoffice/offapi/com/sun/star/chart2/DataPointProperties.idl
Balazs Varga dff7a46fb4 tdf#130032 Chart OOXML Import: fix data label custom position
in case of all chart types except pie chart.

Clean up commit 4223ff2be69f03e571464b0b09ad0d278918631b
(tdf#48436 Chart: add CustomLabelPosition UNO API property).

Note: use the correct default OOXML label placement in case of
radar charts.

Change-Id: I9a8f509304b3c70d879c8c6a95bc91d15ac28521
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87759
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: László Németh <nemeth@numbertext.org>
2020-01-31 10:43:22 +01:00

348 lines
11 KiB
Plaintext

/* -*- 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/drawing/FillProperties.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>
#include <com/sun/star/chart2/XFormattedString2.idl>
#include <com/sun/star/chart2/RelativePosition.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;
/** to give access to the fill properties
Note that there is access for some of them
through some alias.
@since LibreOffice 5.1
*/
service ::com::sun::star::drawing::FillProperties;
/** 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 an 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 text with possible fields that is used as a data point label,
if set then Label property is ignored
@since LibreOffice 6.1
*/
[optional, property] sequence<XDataPointCustomLabelField> CustomLabelFields;
/** specifies a string that is used to separate the parts of a data label (caption)
*/
[optional, property] string LabelSeparator;
/** specifies if the text of a data label (caption) must be wrapped
@since LibreOffice 5.1
*/
[optional, property] boolean TextWordWrap;
/** 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;
/** Custom position on the page associated to the CUSTOM label placement.
@since LibreOffice 7.0
*/
[optional, maybevoid, property] ::com::sun::star::chart2::RelativePosition CustomLabelPosition;
};
} ; // chart2
} ; // com
} ; // sun
} ; // star
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */