using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using Chart.Interfaces;
using Chart.UserControls;
namespace Chart.Indicators
{
/// <summary>
/// Object indicator
/// </summary>
public class MouseChartObjectIndicator : IMouseChartIndicator
{
#region Fields
object control;
private bool enabled;
private static readonly string[] texts = { "X = ", " Y = " };
private PropertyInfo pi;
#endregion
#region Ctor
private MouseChartObjectIndicator(object control)
{
this.control = control;
pi = control.GetType().GetProperty("Text");
}
#endregion
#region IMouseChartIndicator Members
void IMouseChartIndicator.Indicate(double x, double y)
{
if (!enabled)
{
return;
}
string s = "X = " + x + "; Y = " + y + ";";
pi.SetValue(control, s, null);
}
void IMouseChartIndicator.Enable()
{
enabled = true;
}
void IMouseChartIndicator.Disable()
{
enabled = false;
pi.SetValue(control, "", null);
}
#endregion
#region Members
public static void SetIndicator(UserControlChart chart, object control)
{
SetIndicator(chart.Performer, control);
}
public static void SetIndicator(ChartPerformer performer, object control)
{
MouseChartObjectIndicator ind = new MouseChartObjectIndicator(control);
performer.Add(ind);
}
#endregion
}
}