    ﻿import {
        Zondy
    } from '../../common/Base';
    import {
        extend
    } from "../../common/Util";
    import {
        CAnnInfo
    } from "./CAnnInfo";
    import {
        CChartLabelFormat
    } from "./CChartLabelFormat";

    /**
     * @class module:专题图服务.CChartThemeRepresentInfo
     * @classdesc 统计图符号参数信息
     * @description Zondy.Object.Theme.CChartThemeRepresentInfo
     * @param {Object} opt_options 属性键值对。
     * @param {Object} [opt_options.AnnInfoLabel = new CAnnInfo()] 统计值作为注记的表现信息 {@link Zondy.Object.Theme.CAnnInfo}
     * @param {Number} [opt_options.DigitLabel = 0] 统计值小数点位置
     * @param {Number} [opt_options.FormatLabel = CChartLabelFormat.Unknown] 统计值类型 {@link Zondy.Object.Theme.CChartLabelFormat}
     * @param {Boolean} [opt_options.IsDrawLabel = true] 是否显示统计值
     * @param {Number} [opt_options.LineColor = -1] 线颜色值
     * @param {Number} [opt_options.MaxLength = 30.00] 统计图标最大长度
     * @param {Number} [opt_options.MinRadius = 10.00] 统计图标最小半径
     * @param {Number} [opt_options.PieSizeFixFlag = 0] 统计图标大小是否固定
     * @param {Number} [opt_options.PieTiltedAngle = 30.00] 统计图标倾斜角度
     * @param {Number} [opt_options.PlotRadius = 1.00] 统计图标半径
     * @param {Number} [opt_options.ThickPersent = 10.00] 统计图标厚度
     * @param {Number} [opt_options.Width = 3.00] 统计图标宽度
     */
    var CChartThemeRepresentInfo = function (opt_options) {
        var options = (opt_options !== undefined) ? opt_options : {};
        extend(this, options);
        /**
         * @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.AnnInfoLabel
         * @type {Object}
         * @description 统计值作为注记的表现信息 {@link Zondy.Object.Theme.CAnnInfo}
         * @default new CAnnInfo()
         */
        this.AnnInfoLabel = (options.AnnInfoLabel !== undefined) ? options.AnnInfoLabel : new CAnnInfo();

        /**
         * @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.DigitLabel
         * @type {Number}
         * @description 统计值小数点位置
         * @default 0
         */
        this.DigitLabel = (options.DigitLabel !== undefined) ? options.DigitLabel : 0;

        /**
         * @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.FormatLabel
         * @type {Number}
         * @description 统计值类型 {@link Zondy.Object.Theme.CChartLabelFormat}
         * @default CChartLabelFormat.Unknown
         */
        this.FormatLabel = (options.FormatLabel !== undefined) ? options.FormatLabel : CChartLabelFormat.Unknown;

        /**
         * @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.IsDrawLabel
         * @type {Boolean}
         * @description 是否显示统计值
         * @default true
         */
        this.IsDrawLabel = (options.IsDrawLabel !== undefined) ? options.IsDrawLabel : true;

        /**
         * @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.LineColor
         * @type {Number}
         * @description 线颜色值
         * @default -1
         */
        this.LineColor = (options.LineColor !== undefined) ? options.LineColor : -1;

        /**
         * @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.MaxLength
         * @type {Number}
         * @description 统计图标最大长度
         * @default 30
         */
        this.MaxLength = (options.MaxLength !== undefined) ? options.MaxLength : 30;

        /**
         * @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.MinRadius
         * @type {Number}
         * @description 统计图标最小半径
         * @default 10
         */
        this.MinRadius = (options.MinRadius !== undefined) ? options.MinRadius : 10;

        /**
         * @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.PieSizeFixFlag
         * @type {Number}
         * @description 统计图标大小是否固定
         * @default 0
         */
        this.PieSizeFixFlag = (options.PieSizeFixFlag !== undefined) ? options.PieSizeFixFlag : 0;

        /**
         * @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.PieTiltedAngle
         * @type {Number}
         * @description 统计图标倾斜角度
         * @default 30
         */
        this.PieTiltedAngle = (options.PieTiltedAngle !== undefined) ? options.PieTiltedAngle : 30;

        /**
         * @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.PlotRadius
         * @type {Number}
         * @description 统计图标半径
         * @default 1
         */
        this.PlotRadius = (options.PlotRadius !== undefined) ? options.PlotRadius : 1;

        /**
         * @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.ThickPersent
         * @type {Number}
         * @description 统计图标厚度
         * @default 10
         */
        this.ThickPersent = (options.ThickPersent !== undefined) ? options.ThickPersent : 10;

        /**
         * @member Zondy.Object.Theme.CChartThemeRepresentInfo.prototype.Width
         * @type {Number}
         * @description 统计图标宽度
         * @default 3
         */
        this.Width = (options.Width !== undefined) ? options.Width : 3;
    };
    export {
        CChartThemeRepresentInfo
    };
    Zondy.Object.Theme.CChartThemeRepresentInfo = CChartThemeRepresentInfo;