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

144 lines
3.7 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using JsonFx.Json;
namespace OpenFlashChart
{
public abstract class ChartBase
{
private string type;
protected IList values;
private double fillalpha;
private double? alpha;
private double? fontsize;
private string colour;
private string text;
private string tooltip;
private DotStyle dotstyle;
private bool attachtorightaxis;
protected ChartBase()
{
this.values = new ArrayList();
FillAlpha = 0.35;
colour = "#CC3399";
attachtorightaxis = false;
}
public void AttachToRightAxis(bool attach)
{
attachtorightaxis = attach;
}
[JsonProperty("axis")]
[Description("use AttachToRight(),this property only for json generate.")]
public string AttachedAxis
{
get
{
if (attachtorightaxis)
return "right";
return null;
}
set
{
attachtorightaxis = string.Compare(value,"right",StringComparison.CurrentCultureIgnoreCase)==0;
}
}
[JsonProperty("colour")]
public string Colour
{
set { this.colour = value; }
get { return this.colour; }
}
public virtual int GetValueCount()
{
return values.Count;
}
[JsonProperty("tip")]
public virtual string Tooltip
{
set { this.tooltip = value; }
get { return this.tooltip; }
}
[JsonProperty("values")]
public virtual IList Values
{
set
{
// foreach (T t in value)
// {
// this.values.Add(t);
// }
this.values = value;
}
get { return this.values; }
}
[JsonProperty("font-size")]
[System.ComponentModel.DefaultValue(12.0)]
public double? FontSize
{
get { return fontsize; }
set { fontsize = value; }
}
[JsonProperty("text")]
public string Text
{
get { return text; }
set { text = value; }
}
[JsonProperty("fill-alpha")]
public double FillAlpha
{
get { return fillalpha; }
set { fillalpha = value; }
}
[JsonProperty("alpha")]
public double? Alpha
{
get { return alpha; }
set { alpha = value; }
}
[JsonProperty("type")]
public string ChartType
{
get { return type; }
set { type = value; }
}
[JsonProperty("dot-style")]
public DotStyle DotStyleType
{
get
{
if(dotstyle==null)
dotstyle=new DotStyle();
return dotstyle;
}
set
{
if(dotstyle==null)
dotstyle=new DotStyle();
dotstyle = value;
}
}
//public abstract Double GetMinValue();
//public abstract Double GetMaxValue();
public void Set_Key(string key, double font_size)
{
this.Text = key;
FontSize = font_size;
}
public void Add(object v)
{
this.values.Add(v);
}
}
}