123 lines
3.2 KiB
C#
123 lines
3.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using JsonFx.Json;
|
|
|
|
|
|
namespace OpenFlashChart
|
|
{
|
|
public class PieValue
|
|
{
|
|
private double val;
|
|
private string text;
|
|
private string click;
|
|
public PieValue(double val)
|
|
{
|
|
this.val = val;
|
|
}
|
|
public static implicit operator PieValue(double val)
|
|
{
|
|
return new PieValue(val,"");
|
|
}
|
|
public PieValue(double val, string text)
|
|
{
|
|
this.val = val;
|
|
this.Text = text;
|
|
}
|
|
[JsonProperty("value")]
|
|
public double Value
|
|
{
|
|
get { return val; }
|
|
set { val = value; }
|
|
}
|
|
[JsonProperty("label")]
|
|
public string Text
|
|
{
|
|
get { return text; }
|
|
set { text = value; }
|
|
}
|
|
[JsonProperty("on-click")]
|
|
public string Click
|
|
{
|
|
get { return click; }
|
|
set { click = value; }
|
|
}
|
|
}
|
|
public class Pie : Chart<PieValue>
|
|
{
|
|
private int border;
|
|
private IEnumerable<String> colours;
|
|
private double alpha;
|
|
private PieAnimationSeries animate;
|
|
private double start_angle;
|
|
private bool? gradientfill;
|
|
private bool? nolabels;
|
|
|
|
public Pie()
|
|
{
|
|
this.ChartType = "pie";
|
|
this.border = 2;
|
|
this.colours = new string[] { "#d01f3c", "#356aa0", "#C79810" };
|
|
this.alpha = 0.6;
|
|
//this.animate = true;
|
|
//gradientfill = true;
|
|
|
|
}
|
|
[JsonProperty("colours")]
|
|
public IEnumerable<string> Colours
|
|
{
|
|
get { return this.colours; }
|
|
set
|
|
{
|
|
this.colours = value;
|
|
}
|
|
}
|
|
[JsonProperty("border")]
|
|
public int Border
|
|
{
|
|
get { return border; }
|
|
set { border = value; }
|
|
}
|
|
[JsonProperty("alpha")]
|
|
public double Alpha
|
|
{
|
|
get { return alpha; }
|
|
set
|
|
{
|
|
if (value < 0)
|
|
alpha = 0;
|
|
else if ((value >= 0) && (value <= 1))
|
|
alpha = value;
|
|
else if ((value > 1)&&(value<=100))
|
|
alpha = value/100;
|
|
else
|
|
alpha = 1.0;
|
|
}
|
|
}
|
|
[JsonProperty("animate")]
|
|
public PieAnimationSeries Animate
|
|
{
|
|
get { return animate; }
|
|
set { animate = value; }
|
|
}
|
|
[JsonProperty("start-angle")]
|
|
public double StartAngle
|
|
{
|
|
get { return start_angle; }
|
|
set { start_angle = value; }
|
|
}
|
|
[JsonProperty("gradient-fill")]
|
|
public bool? GradientFillMode
|
|
{
|
|
get { return gradientfill; }
|
|
set { gradientfill = value; }
|
|
}
|
|
[JsonProperty("no-labels")]
|
|
public bool? NoLabels
|
|
{
|
|
get { return nolabels; }
|
|
set { nolabels = value; }
|
|
}
|
|
}
|
|
}
|