Files
crm.e5.pl/include/ECM/open_flash_chart2/dot-net-library/written-by-xiao-yifang/OpenFlashChart/OpenFlashChart.cs
2024-04-27 09:23:34 +02:00

175 lines
5.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Text;
using JsonFx.Json;
using OpenFlashChart;
namespace OpenFlashChart
{
public class OpenFlashChart
{
private Title title;
private IList<ChartBase> elements;
private XAxis x_axis;
private YAxis y_axis;
private YAxis y_axis_right;
private Legend x_legend;
private Legend y_legend;
private Legend y2_legend;
private string bgcolor;
private RadarAxis radar_axis;
private ToolTip tooltip;
private int? num_decimals;
private bool? is_fixed_num_decimals_forced;
private bool? is_decimal_separator_comma;
private bool? is_thousand_separator_disabled;
public OpenFlashChart()
{
title = new Title("Chart Title");
Elements = new List<ChartBase>();
//x_axis = new XAxis();
//y_axis= new YAxis();
//y_axis_right = new YAxis();
}
[JsonProperty("title")]
public Title Title
{
set { this.title = value; }
get { return this.title; }
}
[JsonProperty("x_axis")]
public XAxis X_Axis
{
get
{
if(x_axis==null)
x_axis= new XAxis();
return this.x_axis;
}
set{ this.x_axis = value;}
}
[JsonProperty("y_axis")]
public YAxis Y_Axis
{
get
{
if(y_axis==null)
y_axis= new YAxis();
return this.y_axis;
}
set { this.y_axis = value; }
}
[JsonProperty("y_axis_right")]
public YAxis Y_Axis_Right
{
get
{
return y_axis_right;
}
set { y_axis_right = value; }
}
[JsonProperty("elements")]
public IList<ChartBase> Elements
{
get { return elements; }
set { elements = value; }
}
public void AddElement(ChartBase chart)
{
this.elements.Add(chart);
//Y_Axis.SetRange(chart.GetMinValue(), chart.GetMaxValue());
// X_Axis.SetRange(0,chart.GetValueCount());
X_Axis.Steps = 1;
}
[JsonProperty("x_legend")]
public Legend X_Legend
{
get { return x_legend; }
set { x_legend = value; }
}
[JsonProperty("y_legend")]
public Legend Y_Legend
{
get { return y_legend; }
set { y_legend = value; }
}
[JsonProperty("y2_legend")]
public Legend Y_RightLegend
{
get { return y2_legend; }
set { y2_legend = value; }
}
[JsonProperty("bg_colour")]
public string Bgcolor
{
get { return bgcolor; }
set { bgcolor = value; }
}
[JsonProperty("tooltip")]
public ToolTip Tooltip
{
get { return tooltip; }
set { tooltip = value; }
}
[JsonProperty("radar_axis")]
public RadarAxis Radar_Axis
{
get
{
return this.radar_axis;
}
set { this.radar_axis = value; }
}
[JsonProperty("num_decimals")]
public int? NumDecimals
{
get { return num_decimals; }
set { num_decimals = value; }
}
[JsonProperty("is_fixed_num_decimals_forced")]
public bool? IsFixedNumDecimalsForced
{
get { return is_fixed_num_decimals_forced; }
set { is_fixed_num_decimals_forced = value; }
}
[JsonProperty("is_decimal_separator_comma")]
public bool? IsDecimalSeparatorComma
{
get { return is_decimal_separator_comma; }
set { is_decimal_separator_comma = value; }
}
[JsonProperty("is_thousand_separator_disabled")]
public bool? IsThousandSeparatorDisabled
{
get { return is_thousand_separator_disabled; }
set { is_thousand_separator_disabled = value; }
}
public override string ToString()
{
StringWriter sw = new StringWriter(CultureInfo.InvariantCulture);
using (JsonWriter writer = new JsonWriter(sw))
{
writer.SkipNullValue = true;
writer.Write(this);
}
return sw.ToString();
}
public string ToPrettyString()
{
StringWriter sw = new StringWriter(CultureInfo.InvariantCulture);
using (JsonWriter writer = new JsonWriter(sw))
{
writer.SkipNullValue = true;
writer.PrettyPrint = true;
writer.Write(this);
}
return sw.ToString();
}
}
}