96 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.ComponentModel;
 | |
| using System.ComponentModel.Design;
 | |
| using DevComponents.DotNetBar.Charts;
 | |
| 
 | |
| namespace DevComponents.Charts.Design
 | |
| {
 | |
|     public class ChartTitleCollectionEditor : BaseCollectionEditor
 | |
|     {
 | |
|         #region Private variables
 | |
| 
 | |
|         private ChartContainer _Container;
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         public ChartTitleCollectionEditor(Type type)
 | |
|             : base(type)
 | |
|         {
 | |
|         }
 | |
| 
 | |
|         #region EditValue
 | |
| 
 | |
|         public override object EditValue(
 | |
|             ITypeDescriptorContext context, IServiceProvider provider, object value)
 | |
|         {
 | |
|             _Container = context.Instance as ChartContainer;
 | |
| 
 | |
|             return (base.EditValue(context, provider, value));
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region CreateInstance
 | |
| 
 | |
|         protected override object CreateInstance(Type itemType)
 | |
|         {
 | |
|             if (itemType == typeof(ChartTitle))
 | |
|             {
 | |
|                 ChartTitle title = (ChartTitle)base.CreateInstance(itemType);
 | |
| 
 | |
|                 title.Name = _Container.Titles.GetUniqueName();
 | |
| 
 | |
|                 return (title);
 | |
|             }
 | |
| 
 | |
|             return (base.CreateInstance(itemType));
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region CopyButton_Click
 | |
| 
 | |
|         protected override void CopyButton_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             ChartTitle title = ChartItem as ChartTitle;
 | |
| 
 | |
|             if (title != null)
 | |
|             {
 | |
|                 if (AddButton != null)
 | |
|                 {
 | |
|                     ChartControlDesigner ccd = GetDesigner(_Container.ChartControl);
 | |
| 
 | |
|                     ccd.InCopyItem = true;
 | |
| 
 | |
|                     try
 | |
|                     {
 | |
|                         AddButton.PerformClick();
 | |
| 
 | |
|                         ChartTitleCollection ctc = _Container.Titles;
 | |
|                         ChartTitle clone = ctc[ctc.Count - 1];
 | |
| 
 | |
|                         string name = clone.Name;
 | |
|                         title.CopyTo(clone);
 | |
|                         clone.Name = name;
 | |
|                     }
 | |
|                     finally
 | |
|                     {
 | |
|                         ccd.InCopyItem = false;
 | |
|                     }
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region CreateCollectionItemType
 | |
| 
 | |
|         protected override Type CreateCollectionItemType()
 | |
|         {
 | |
|             return typeof(ChartTitle);
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
|     }
 | |
| }
 |