106 lines
2.5 KiB
C#
106 lines
2.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using DevComponents.DotNetBar;
|
|
using DevComponents.DotNetBar.Charts;
|
|
|
|
namespace DevComponents.Charts.Design
|
|
{
|
|
public class SeriesPointCollectionEditor : BaseCollectionEditor
|
|
{
|
|
#region Private variables
|
|
|
|
private ChartSeries _ChartSeries;
|
|
private SeriesPointCollection _SavedCollection;
|
|
|
|
#endregion
|
|
|
|
public SeriesPointCollectionEditor(Type type)
|
|
: base(type)
|
|
{
|
|
}
|
|
|
|
#region EditValue
|
|
|
|
public override object EditValue(
|
|
ITypeDescriptorContext context, IServiceProvider provider, object value)
|
|
{
|
|
_ChartSeries = context.Instance as ChartSeries;
|
|
|
|
SeriesPointCollection spc = (SeriesPointCollection)value;
|
|
|
|
_SavedCollection = new SeriesPointCollection();
|
|
|
|
foreach (SeriesPoint sp in spc)
|
|
_SavedCollection.Add(sp.Copy());
|
|
|
|
try
|
|
{
|
|
object evalue = base.EditValue(context, provider, value);
|
|
|
|
if (EditCancelled == true)
|
|
return (_SavedCollection);
|
|
|
|
return (evalue);
|
|
}
|
|
catch
|
|
{
|
|
return (_SavedCollection);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region CreateInstance
|
|
|
|
protected override object CreateInstance(Type itemType)
|
|
{
|
|
return (base.CreateInstance(itemType));
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region CopyButton_Click
|
|
|
|
protected override void CopyButton_Click(object sender, EventArgs e)
|
|
{
|
|
SeriesPoint item = ChartItem as SeriesPoint;
|
|
|
|
if (item != null)
|
|
{
|
|
if (AddButton != null)
|
|
{
|
|
ChartControlDesigner ccd = GetDesigner(_ChartSeries.ChartControl);
|
|
|
|
ccd.InCopyItem = true;
|
|
|
|
try
|
|
{
|
|
AddButton.PerformClick();
|
|
|
|
SeriesPointCollection spc = _ChartSeries.SeriesPoints;
|
|
SeriesPoint clone = spc[spc.Count - 1];
|
|
|
|
item.CopyTo(clone);
|
|
}
|
|
finally
|
|
{
|
|
ccd.InCopyItem = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region CreateCollectionItemType
|
|
|
|
protected override Type CreateCollectionItemType()
|
|
{
|
|
return typeof(SeriesPoint);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|