/* -*- 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_chart_ChartDataPointProperties_idl__
#define __com_sun_star_chart_ChartDataPointProperties_idl__

#include <com/sun/star/drawing/FillProperties.idl>

#include <com/sun/star/drawing/LineProperties.idl>

#include <com/sun/star/style/CharacterProperties.idl>

#include <com/sun/star/chart/Chart3DBarProperties.idl>

#include <com/sun/star/beans/XPropertySet.idl>
#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>


 module com {  module sun {  module star {  module chart {


/** specifies all the properties for the graphic object of
    a data point (e.g., a single bar in a bar chart).

    <p>Text properties correlate to the data description of the data
    point.  There is a similar service for a group of graphic elements
    called ChartDataRowProperties for the properties of
    whole data rows.</p>

    @see ChartDataRowProperties
 */
published service ChartDataPointProperties
{
    /** This service has to be supported for data points that can be
        filled.
     */
    [optional] service com::sun::star::drawing::FillProperties;

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

    /** These properties affect the characters of data captions if
        those are displayed.
     */
    service com::sun::star::style::CharacterProperties;

    /** If ChartDataPointProperties may be stored as XML
        element, this service should be supported in order to preserve
        unparsed XML attributes.

    @since OOo 1.1.2
     */
    [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;


    /** is only available if the chart is of type
        BarDiagram and Dim3DDiagram and the
        property ChartDataPointProperties::Dim3D is
        set to `TRUE`.

        @see BarDiagram
        @see Dim3DDiagram@see BarDiagram
        @see Dim3DDiagram
     */
    [optional] service com::sun::star::chart::Chart3DBarProperties;

    interface com::sun::star::beans::XPropertySet;


    /** specifies how the captions of data points are displayed.@see ChartDataCaption
     */
    [property] long DataCaption;



    /** 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 DataLabelPlacement
     */
    [optional, property] long LabelPlacement;


    /** specifies the type of symbols if the current chart type
        supports the usage of symbols.

        @see ChartSymbolType
     */
    [optional, property] long SymbolType;


    /** In charts that support symbols, you can set this property to
        any valid URL that points to a graphic file.  This graphic is
        then used as symbol for each data point.

        <p>When you query this value you get an internal URL of the
        embedded graphic.</p>

        @deprecated as of Libreoffice 6.1

        @see ChartSymbolType
     */
    [optional, property] string SymbolBitmapURL;

    /** the offset by which pie segments in a PieDiagram
        are dragged outside from the center.  This value is given in
        percent of the radius.
     */
    [optional, property] long SegmentOffset;

    /** specifies if the text of a data label (caption) must be wrapped

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

    /** In charts that support symbols, you can set this property to
        a graphic object.  This graphic is then used as symbol for each
        data point.

        @since LibreOffice 6.1

        @see ChartSymbolType
     */
    [optional, property] com::sun::star::graphic::XGraphic SymbolBitmap;
};


}; }; }; };

#endif

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