using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DataPerformer;
using DataPerformerUI.Interfaces;
using Chart.Drawing.Series;
using Chart.Drawing.Interfaces;
namespace DataPerformerUI
{
/// <summary>
/// Static extensions
/// </summary>
public static class StaticExtensionDataPerformerUI
{
static DataPerformerUI.Interfaces.IAnimationParameters animationParameters;
static DataPerformerUI.Interfaces.IStartAnimation startAnimation;
/// <summary>
/// Start of animation
/// </summary>
public static DataPerformerUI.Interfaces.IStartAnimation StartAnimation
{
get
{
return startAnimation;
}
set
{
startAnimation = value;
}
}
/// <summary>
/// Animation parameters
/// </summary>
public static DataPerformerUI.Interfaces.IAnimationParameters AnimationParameters
{
get
{
return animationParameters;
}
set
{
animationParameters = value;
}
}
/// <summary>
/// Starts animation
/// </summary>
/// <param name="parameters"></param>
public static void AnimationStart(this DataPerformerUI.Interfaces.IAnimationParameters parameters)
{
animationParameters = parameters;
startAnimation.Start();
}
/// <summary>
/// Saves series
/// </summary>
/// <param name="series">Series for saving</param>
/// <param name="control">Parent control</param>
public static void Save(this Series series, Control control)
{
SaveFileDialog dlg = new SaveFileDialog();
dlg.Filter = "Graph files |*.gra";
if (control == null)
{
if (dlg.ShowDialog() != DialogResult.OK)
{
return;
}
}
if (dlg.ShowDialog(control) != DialogResult.OK)
{
return;
}
series.Save(dlg.FileName);
}
/// <summary>
/// Loads series
/// </summary>
/// <param name="series">Series for loading</param>
/// <param name="control">Parent control</param>
public static void Load(this Series series, Control control)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "Graph files |*.gra";
if (control == null)
{
if (dlg.ShowDialog() != DialogResult.OK)
{
return;
}
}
if (dlg.ShowDialog(control) != DialogResult.OK)
{
return;
}
series.Load(dlg.FileName);
}
/// <summary>
/// Copies series to clipboard
/// </summary>
/// <param name="series">Series to copy to clipboard</param>
public static void CopyToClipboard(this Series series)
{
if (series == null)
{
return;
}
PureSeries ps = new PureSeries();
for (int i = 0; i < series.Count; i++)
{
ps.AddXY(series[i, 0], series[i, 1]);
}
Clipboard.SetDataObject(ps, false);
}
}
}