586 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			586 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Collections;
 | |
| using System.ComponentModel;
 | |
| using System.ComponentModel.Design;
 | |
| using System.Drawing;
 | |
| using System.Windows.Forms;
 | |
| 
 | |
| namespace DevComponents.DotNetBar.Design
 | |
| {
 | |
| 	/// <summary>
 | |
| 	/// Represents designer for BaseItem objects and derived classes.
 | |
| 	/// </summary>
 | |
| 	public class BaseItemDesigner:System.ComponentModel.Design.ComponentDesigner,IDesignerServices
 | |
|     {
 | |
|         #region Private Variables
 | |
|         protected bool m_AddingItem = false;
 | |
|         protected bool m_CreatingItem = false;
 | |
|         protected DesignerTransaction m_InsertItemTransaction = null;
 | |
|         #endregion
 | |
| 
 | |
|         #region Internal Implementation
 | |
|         /// <summary>
 | |
| 		/// Creates new instance of the class.
 | |
| 		/// </summary>
 | |
| 		public BaseItemDesigner()
 | |
| 		{
 | |
| 		}
 | |
| 
 | |
| 		public override void Initialize(IComponent component) 
 | |
| 		{
 | |
| 			base.Initialize(component);
 | |
| 			if(!component.Site.DesignMode)
 | |
| 				return;
 | |
| 
 | |
| 			ISelectionService ss =(ISelectionService)GetService(typeof(ISelectionService));
 | |
| 			if(ss!=null)
 | |
| 				ss.SelectionChanged+=new EventHandler(OnSelectionChanged);
 | |
| 
 | |
| 			BaseItem c=component as BaseItem;
 | |
| 			if(c!=null)
 | |
| 				this.Visible=c.Visible;
 | |
| 
 | |
| 			// If our component is removed we need to clean-up
 | |
| 			IComponentChangeService cc=(IComponentChangeService)GetService(typeof(IComponentChangeService));
 | |
| 			if(cc!=null)
 | |
| 			{
 | |
| 				cc.ComponentRemoved+=new ComponentEventHandler(this.OnComponentRemoved);
 | |
|                 cc.ComponentAdding += new ComponentEventHandler(ComponentChangeComponentAdding);
 | |
|                 cc.ComponentAdded += new ComponentEventHandler(ComponentChangeComponentAdded);
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| #if FRAMEWORK20
 | |
|         public override void InitializeNewComponent(IDictionary defaultValues)
 | |
|         {
 | |
|             base.InitializeNewComponent(defaultValues);
 | |
|             SetDesignTimeDefaults();
 | |
|         }
 | |
| #else
 | |
| 		public override void OnSetComponentDefaults()
 | |
| 		{
 | |
| 			base.OnSetComponentDefaults();
 | |
| 			SetDesignTimeDefaults();
 | |
| 		}
 | |
| #endif
 | |
| 
 | |
|         protected virtual void SetDesignTimeDefaults()
 | |
|         {
 | |
|         }
 | |
| 
 | |
|         protected virtual void ComponentChangeComponentAdded(object sender, ComponentEventArgs e)
 | |
|         {
 | |
|             if (m_AddingItem)
 | |
|             {
 | |
|                 m_AddingItem = false;
 | |
|                 IComponentChangeService cc = this.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
 | |
|                 BaseItem parent = this.Component as BaseItem;
 | |
| 
 | |
|                 if (cc != null)
 | |
|                     cc.OnComponentChanging(parent, TypeDescriptor.GetProperties(parent)["SubItems"]);
 | |
|                 
 | |
|                 parent.SubItems.Add(e.Component as BaseItem);
 | |
|                 
 | |
|                 if (cc != null)
 | |
|                     cc.OnComponentChanged(parent, TypeDescriptor.GetProperties(parent)["SubItems"], null, null);
 | |
| 
 | |
|                 m_InsertItemTransaction.Commit();
 | |
|                 m_InsertItemTransaction = null;
 | |
|                 this.RecalcLayout();
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         protected virtual void ComponentChangeComponentAdding(object sender, ComponentEventArgs e)
 | |
|         {
 | |
|             if (m_InsertItemTransaction == null && !m_AddingItem && !m_CreatingItem && e.Component is BaseItem)
 | |
|             {
 | |
|                 ISelectionService ss = this.GetService(typeof(ISelectionService)) as ISelectionService;
 | |
|                 if (ss != null && ss.PrimarySelection == this.Component)
 | |
|                 {
 | |
|                     m_AddingItem = true;
 | |
|                     IDesignerHost dh = this.GetService(typeof(IDesignerHost)) as IDesignerHost;
 | |
|                     m_InsertItemTransaction = dh.CreateTransaction("Adding Item Clip");
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 		protected override void Dispose(bool disposing)
 | |
| 		{
 | |
| 			ISelectionService ss =(ISelectionService)GetService(typeof(ISelectionService));
 | |
| 			if(ss!=null)
 | |
| 				ss.SelectionChanged-=new EventHandler(OnSelectionChanged);
 | |
| 
 | |
| 			IComponentChangeService cc=(IComponentChangeService)GetService(typeof(IComponentChangeService));
 | |
| 			if(cc!=null)
 | |
| 			{
 | |
| 				cc.ComponentRemoved-=new ComponentEventHandler(this.OnComponentRemoved);
 | |
| 			}
 | |
| 
 | |
| 			base.Dispose(disposing);
 | |
| 		}
 | |
| 
 | |
| 		private void OnComponentRemoved(object sender,ComponentEventArgs e)
 | |
| 		{
 | |
| 			if(e.Component is BaseItem)
 | |
| 			{
 | |
| 				BaseItem parent=this.Component as BaseItem;
 | |
| 				BaseItem item=e.Component as BaseItem;
 | |
| 				if(item!=null && parent!=null && parent.SubItems.Contains(item))
 | |
| 				{
 | |
| 					IComponentChangeService cc=(IComponentChangeService)GetService(typeof(IComponentChangeService));
 | |
| 					if(cc!=null)
 | |
| 						cc.OnComponentChanging(parent,TypeDescriptor.GetProperties(parent)["SubItems"]);
 | |
| 					parent.SubItems.Remove(item);
 | |
| 					if(cc!=null)
 | |
| 						cc.OnComponentChanged(parent,TypeDescriptor.GetProperties(parent)["SubItems"],null,null);
 | |
| 					this.RecalcLayout();
 | |
| 				}
 | |
| 			}
 | |
|             ComponentRemoved(e);
 | |
| 		}
 | |
| 
 | |
|         protected virtual void ComponentRemoved(ComponentEventArgs e) { }
 | |
| 
 | |
| 		private void OnSelectionChanged(object sender, EventArgs e) 
 | |
| 		{
 | |
| 			ISelectionService ss = (ISelectionService)sender;
 | |
|             
 | |
|             if (ss != null && ss.PrimarySelection != this.Component)
 | |
|             {
 | |
|                 ((BaseItem)this.Component).DesignTimeMouseDownPoint = Point.Empty;
 | |
|             }
 | |
| 
 | |
| 			if(ss!=null && ss.PrimarySelection!=this.Component && ss.PrimarySelection is BaseItem)
 | |
| 			{
 | |
| 				BaseItem item=this.Component as BaseItem;
 | |
| 				if(item!=null)
 | |
| 				{
 | |
| 					BaseItem selected=ss.PrimarySelection as BaseItem;
 | |
| 					IOwner owner=item.GetOwner() as IOwner;
 | |
| 					if(owner!=null)
 | |
| 					{
 | |
| 						if(owner.GetItem(selected.Name)!=selected)
 | |
| 							owner.SetFocusItem(null);
 | |
| 					}
 | |
| 				}
 | |
| 			}
 | |
| 
 | |
|             if (ss != null)
 | |
|             {
 | |
|                 ICollection selectedComponents = ss.GetSelectedComponents();
 | |
|                 bool selected = false;
 | |
|                 foreach(object o in selectedComponents)
 | |
|                 {
 | |
|                     if (o == this.Component)
 | |
|                     {
 | |
|                         selected = true;
 | |
|                         break;
 | |
|                     }
 | |
|                 }
 | |
| 
 | |
|                 BaseItem item = this.Component as BaseItem;
 | |
|                 if (selected)
 | |
|                 {
 | |
|                     if (!item.Focused)
 | |
|                         item.OnGotFocus();
 | |
|                 }
 | |
|                 else if (item.Focused)
 | |
|                     item.OnLostFocus();
 | |
|             }
 | |
| 		}
 | |
| 
 | |
|         protected virtual DesignerVerb[] GetVerbs()
 | |
|         {
 | |
|             DesignerVerb[] verbs = new DesignerVerb[]
 | |
|                 							{
 | |
|                 								new DesignerVerb("Add Button", new EventHandler(CreateButton)),
 | |
|                 								new DesignerVerb("Add Text Box", new EventHandler(CreateTextBox)),
 | |
|                 								new DesignerVerb("Add Combo Box", new EventHandler(CreateComboBox)),
 | |
|                 								new DesignerVerb("Add Label", new EventHandler(CreateLabel)),
 | |
|                 		                        new DesignerVerb("Add Color Picker", new EventHandler(CreateColorPicker)),
 | |
|                 		                        new DesignerVerb("Add Check Box", new EventHandler(CreateCheckBox)),
 | |
|                 		                        new DesignerVerb("Add Control Container", new EventHandler(CreateControlContainer)),
 | |
|                                                 new DesignerVerb("Add Micro-Chart", new EventHandler(CreateMicroChart)),
 | |
|                                                 new DesignerVerb("Add Switch Button", new EventHandler(CreateSwitch)),
 | |
|                 		                        new DesignerVerb("Add Slider", new EventHandler(CreateSlider)),
 | |
|                 		                        new DesignerVerb("Add Rating Item", new EventHandler(CreateRatingItem)),
 | |
|                 		                        new DesignerVerb("Add Horizontal Container", new EventHandler(CreateHorizontalContainer)),
 | |
|                 		                        new DesignerVerb("Add Vertical Container", new EventHandler(CreateVerticalContainer)),
 | |
|                 		                        new DesignerVerb("Add Gallery Container", new EventHandler(CreateGallery))
 | |
|                 						};
 | |
|             return verbs;
 | |
|         }
 | |
| 
 | |
|         public override DesignerVerbCollection Verbs 
 | |
| 		{
 | |
| 			get 
 | |
| 			{
 | |
|                 DesignerVerb[] verbs = GetVerbs();
 | |
| 				return new DesignerVerbCollection(verbs);
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
|         protected virtual void CreateMicroChart(object sender, EventArgs e)
 | |
|         {
 | |
|             CreateNewItem(typeof(MicroChartItem));
 | |
|         }
 | |
| 
 | |
| 
 | |
|         protected virtual void CreateCheckBox(object sender, EventArgs e)
 | |
|         {
 | |
|             CreateNewItem(typeof(CheckBoxItem));
 | |
|         }
 | |
| 
 | |
|         protected virtual void CreateRatingItem(object sender, EventArgs e)
 | |
|         {
 | |
|             CreateNewItem(typeof(RatingItem));
 | |
|         }
 | |
| 
 | |
| 		protected virtual void CreateButton(object sender, EventArgs e)
 | |
| 		{
 | |
| 			CreateNewItem(typeof(ButtonItem));
 | |
| 		}
 | |
| 
 | |
| 		protected virtual void CreateComboBox(object sender, EventArgs e)
 | |
| 		{
 | |
| 			CreateNewItem(typeof(ComboBoxItem));
 | |
| 		}
 | |
| 
 | |
| 		protected virtual void CreateLabel(object sender, EventArgs e)
 | |
| 		{
 | |
| 			CreateNewItem(typeof(LabelItem));
 | |
| 		}
 | |
| 
 | |
| 		protected virtual void CreateTextBox(object sender, EventArgs e)
 | |
| 		{
 | |
| 			CreateNewItem(typeof(TextBoxItem));
 | |
| 		}
 | |
| 
 | |
|         protected virtual void CreateColorPicker(object sender, EventArgs e)
 | |
|         {
 | |
|             CreateNewItem(typeof(ColorPickerDropDown));
 | |
|         }
 | |
| 
 | |
|         protected virtual void CreateControlContainer(object sender, EventArgs e)
 | |
|         {
 | |
|             CreateNewItem(typeof(ControlContainerItem));
 | |
|         }
 | |
| 
 | |
|         protected virtual void CreateSlider(object sender, EventArgs e)
 | |
|         {
 | |
|             CreateNewItem(typeof(SliderItem));
 | |
|         }
 | |
| 
 | |
|         protected virtual void CreateRangeSlider(object sender, EventArgs e)
 | |
|         {
 | |
|             CreateNewItem(typeof(RangeSliderItem));
 | |
|         }
 | |
| 
 | |
|         protected virtual void CreateSwitch(object sender, EventArgs e)
 | |
|         {
 | |
|             CreateNewItem(typeof(SwitchButtonItem));
 | |
|         }
 | |
| 
 | |
|         protected virtual void CreateProgressBar(object sender, EventArgs e)
 | |
|         {
 | |
|             CreateNewItem(typeof(ProgressBarItem));
 | |
|         }
 | |
| 
 | |
|         protected virtual void CreateCircularProgressItem(object sender, EventArgs e)
 | |
|         {
 | |
|             CreateNewItem(typeof(CircularProgressItem));
 | |
|         }
 | |
| #if FRAMEWORK20
 | |
|         protected virtual void CreateMonthCalendar(object sender, EventArgs e)
 | |
|         {
 | |
|             CreateNewItem(typeof(DevComponents.Editors.DateTimeAdv.MonthCalendarItem));
 | |
|         }
 | |
| #endif
 | |
| 
 | |
|         protected virtual void CreateMetroTile(object sender, EventArgs e)
 | |
|         {
 | |
|             CreateNewItem(typeof(DevComponents.DotNetBar.Metro.MetroTileItem));
 | |
|         }
 | |
| 
 | |
|         private void CreateVerticalContainer(object sender, EventArgs e)
 | |
|         {
 | |
|             CreateContainer(eOrientation.Vertical);
 | |
|         }
 | |
| 
 | |
|         private void CreateHorizontalContainer(object sender, EventArgs e)
 | |
|         {
 | |
|             CreateContainer(eOrientation.Horizontal);
 | |
|         }
 | |
| 
 | |
|         private void CreateContainer(eOrientation orientation)
 | |
|         {
 | |
|             try
 | |
|             {
 | |
|                 m_CreatingItem = true;
 | |
|                 DesignerSupport.CreateItemContainer(this, (BaseItem)this.Component, orientation);
 | |
|             }
 | |
|             finally
 | |
|             {
 | |
|                 m_CreatingItem = false;
 | |
|             }
 | |
|             this.RecalcLayout();
 | |
|         }
 | |
| 
 | |
|         protected virtual void CreateGallery(object sender, EventArgs e)
 | |
|         {
 | |
|             CreateNewItem(typeof(GalleryContainer));
 | |
|         }
 | |
| 
 | |
| 		protected virtual void CreateNewItem(Type itemType)
 | |
| 		{
 | |
| 			BaseItem parent=this.Component as BaseItem;
 | |
| 			System.ComponentModel.Design.IDesignerHost dh=(System.ComponentModel.Design.IDesignerHost)GetService(typeof(System.ComponentModel.Design.IDesignerHost));
 | |
| 
 | |
|             DesignerTransaction trans = dh.CreateTransaction("Creating New Item");
 | |
|             try
 | |
|             {
 | |
|                 m_CreatingItem = true;
 | |
|                 BaseItem item = dh.CreateComponent(itemType) as BaseItem;
 | |
|                 if (item == null)
 | |
|                     return;
 | |
|                 if (itemType != typeof(RatingItem))
 | |
|                     item.Text = item.Name;
 | |
|                 BeforeNewItemAdded(item);
 | |
| 
 | |
|                 AddNewItem(item);
 | |
| 
 | |
|                 AfterNewItemAdded(item);
 | |
|                 this.RecalcLayout();
 | |
|                 this.NewItemAdded(item);
 | |
|             }
 | |
|             catch
 | |
|             {
 | |
|                 trans.Cancel();
 | |
|                 throw;
 | |
|             }
 | |
|             finally
 | |
|             {
 | |
|                 m_CreatingItem = false;
 | |
|                 if (!trans.Canceled)
 | |
|                     trans.Commit();
 | |
|             }
 | |
| 		}
 | |
| 
 | |
|         protected virtual void AddNewItem(BaseItem newItem)
 | |
|         {
 | |
|             BaseItem parent = this.Component as BaseItem;
 | |
|             System.ComponentModel.Design.IComponentChangeService change = this.GetService(typeof(System.ComponentModel.Design.IComponentChangeService)) as IComponentChangeService;
 | |
|             if (change != null)
 | |
|                 change.OnComponentChanging(this.Component, TypeDescriptor.GetProperties(parent).Find("SubItems", true));
 | |
| 
 | |
|             parent.SubItems.Add(newItem);
 | |
| 
 | |
|             if (change != null)
 | |
|                 change.OnComponentChanged(this.Component, TypeDescriptor.GetProperties(parent).Find("SubItems", true), null, null);
 | |
|         }
 | |
| 
 | |
| 		protected virtual void BeforeNewItemAdded(BaseItem item) {}
 | |
| 
 | |
| 		protected virtual void AfterNewItemAdded(BaseItem item)
 | |
|         {
 | |
|             if (item is LabelItem && Helpers.IsOffice2007Style(item.EffectiveStyle))
 | |
|             {
 | |
|                 LabelItem label = item as LabelItem;
 | |
|                 if (item.Parent is PopupItem && ((PopupItem)item.Parent).PopupType == ePopupType.Menu)
 | |
|                 {
 | |
|                     label.BackColor = ColorScheme.GetColor("DDE7EE");
 | |
|                     label.BorderType = eBorderType.SingleLine;
 | |
|                     label.SingleLineColor = ColorScheme.GetColor("C5C5C5");
 | |
|                     label.ForeColor = ColorScheme.GetColor("00156E");
 | |
|                     label.BorderSide = eBorderSide.Bottom;
 | |
|                     label.PaddingTop = 1;
 | |
|                     label.PaddingLeft = 10;
 | |
|                     label.PaddingBottom = 1;
 | |
|                 }
 | |
|             }
 | |
|             else if (item is GalleryContainer && item.Parent is ButtonItem)
 | |
|             {
 | |
|                 TypeDescriptor.GetProperties(item)["MinimumSize"].SetValue(item, new Size(150, 200));
 | |
|                 item.NeedRecalcSize = true;
 | |
|                 TypeDescriptor.GetProperties(((GalleryContainer)item).BackgroundStyle)["Class"].SetValue(((GalleryContainer)item).BackgroundStyle, "");
 | |
|                 if(item.Parent is PopupItem)
 | |
|                     TypeDescriptor.GetProperties(item)["EnableGalleryPopup"].SetValue(item, false);
 | |
|             }
 | |
|             else if (item is GalleryContainer && item.Parent is ItemContainer && !(item.ContainerControl is RibbonBar))
 | |
|             {
 | |
|                 TypeDescriptor.GetProperties(item)["MinimumSize"].SetValue(item, new Size(150, 200));
 | |
|                 TypeDescriptor.GetProperties(((GalleryContainer)item).BackgroundStyle)["Class"].SetValue(((GalleryContainer)item).BackgroundStyle, "");
 | |
|                 TypeDescriptor.GetProperties(item)["EnableGalleryPopup"].SetValue(item, false);
 | |
|                 TypeDescriptor.GetProperties(item)["LayoutOrientation"].SetValue(item, DevComponents.DotNetBar.eOrientation.Vertical);
 | |
|                 TypeDescriptor.GetProperties(item)["MultiLine"].SetValue(item, false);
 | |
|                 TypeDescriptor.GetProperties(item)["PopupUsesStandardScrollbars"].SetValue(item, false);
 | |
|                 item.NeedRecalcSize = true;
 | |
|             }
 | |
|         }
 | |
| 
 | |
| 		protected virtual void RecalcLayout()
 | |
| 		{
 | |
| 			BaseItem item=this.Component as BaseItem;
 | |
| 			System.Windows.Forms.Control control=item.ContainerControl as System.Windows.Forms.Control;
 | |
| 			
 | |
| 			if(control is Bar)
 | |
| 				((Bar)control).RecalcLayout();
 | |
| 			else if(control is ExplorerBar)
 | |
| 				((ExplorerBar)control).RecalcLayout();
 | |
| 			else if(control is BarBaseControl)
 | |
| 				((BarBaseControl)control).RecalcLayout();
 | |
| 			else if(control is SideBar)
 | |
| 				((SideBar)control).RecalcLayout();
 | |
| 			else if(control is ItemControl)
 | |
| 				((ItemControl)control).RecalcLayout();
 | |
|             else if (control is MenuPanel)
 | |
|                 ((MenuPanel)control).RecalcSize();
 | |
| 
 | |
|             if (item.Expanded && item is PopupItem && ((PopupItem)item).PopupControl != null)
 | |
|             {
 | |
|                 control = ((PopupItem)item).PopupControl;
 | |
|                 if (control is MenuPanel)
 | |
|                     ((MenuPanel)control).RecalcSize();
 | |
|                 else if (control is Bar)
 | |
|                     ((Bar)control).RecalcLayout();
 | |
|             }
 | |
| 		}
 | |
| 
 | |
|         protected virtual void NewItemAdded(BaseItem itemAdded)
 | |
|         {
 | |
|             BaseItem item=this.Component as BaseItem;
 | |
| 			System.Windows.Forms.Control control=item.GetOwner() as System.Windows.Forms.Control;
 | |
|             
 | |
|             //if(control is Bar)
 | |
|             //    ((Bar)control).RecalcLayout();
 | |
|             //else if(control is ExplorerBar)
 | |
|             //    ((ExplorerBar)control).RecalcLayout();
 | |
|             //else if(control is BarBaseControl)
 | |
|             //    ((BarBaseControl)control).RecalcLayout();
 | |
|             //else if(control is SideBar)
 | |
|             //    ((SideBar)control).RecalcLayout();
 | |
| 			if(control is ItemControl)
 | |
|                 ((ItemControl)control).DesignerNewItemAdded();
 | |
|             //else if (control is MenuPanel)
 | |
|             //    ((MenuPanel)control).RecalcSize();
 | |
|             
 | |
|         }
 | |
| 
 | |
| 		public override System.Collections.ICollection AssociatedComponents
 | |
| 		{
 | |
| 			get
 | |
| 			{
 | |
| 				System.Collections.ArrayList components=new System.Collections.ArrayList();
 | |
| 				BaseItem parent=this.Component as BaseItem;
 | |
| 				if(parent==null)
 | |
| 					return base.AssociatedComponents;
 | |
| 				parent.SubItems.CopyTo(components);
 | |
| 				return components;
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		protected override void PreFilterProperties(IDictionary properties)
 | |
| 		{
 | |
| 			base.PreFilterProperties(properties);
 | |
| 			properties["Visible"] = TypeDescriptor.CreateProperty(typeof(BaseItemDesigner),(PropertyDescriptor)properties["Visible"], new Attribute[]
 | |
| 				{
 | |
| 					new DefaultValueAttribute(true),
 | |
| 					new BrowsableAttribute(true),
 | |
| 					new CategoryAttribute("Layout")});
 | |
| 			properties["CanCustomize"] = TypeDescriptor.CreateProperty(typeof(BaseItemDesigner),(PropertyDescriptor)properties["CanCustomize"], new Attribute[]
 | |
| 				{
 | |
| 					new DefaultValueAttribute(true),
 | |
| 					new BrowsableAttribute(true),
 | |
| 					new CategoryAttribute("Behavior"),
 | |
| 					new DescriptionAttribute("Indicates whether item can be customized by user.")});
 | |
| 		}
 | |
| 
 | |
| 		/// <summary>
 | |
| 		/// Gets or sets whether item can be customized by end user.
 | |
| 		/// </summary>
 | |
| 		[System.ComponentModel.Browsable(true),DevCoBrowsable(true),System.ComponentModel.DefaultValue(true),System.ComponentModel.Category("Behavior"),System.ComponentModel.Description("Indicates whether item can be customized by user.")]
 | |
| 		public virtual bool CanCustomize
 | |
| 		{
 | |
| 			get
 | |
| 			{
 | |
| 				return (bool)ShadowProperties["CanCustomize"];
 | |
| 			}
 | |
| 			set
 | |
| 			{
 | |
| 				// this value is not passed to the actual control
 | |
| 				this.ShadowProperties["CanCustomize"] = value;
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		/// <summary>
 | |
| 		/// Gets or sets whether item is visible.
 | |
| 		/// </summary>
 | |
| 		[DefaultValue(true),Browsable(true),DevCoBrowsable(true),Category("Layout"),Description("Gets or sets whether item is visible.")]
 | |
| 		public bool Visible 
 | |
| 		{
 | |
| 			get 
 | |
| 			{
 | |
| 				return (bool)ShadowProperties["Visible"];
 | |
| 			}
 | |
| 			set 
 | |
| 			{
 | |
| 				// this value is not passed to the actual control
 | |
| 				this.ShadowProperties["Visible"] = value;
 | |
| 			}
 | |
| 		}
 | |
| 		#endregion
 | |
| 
 | |
| 		#region IDesignerServices Implementation
 | |
|         object IDesignerServices.CreateComponent(System.Type componentClass)
 | |
|         {
 | |
|             IDesignerHost dh = (IDesignerHost)GetService(typeof(IDesignerHost));
 | |
|             if (dh == null)
 | |
|                 return null;
 | |
|             object comp = null;
 | |
|             try
 | |
|             {
 | |
|                 m_CreatingItem = true;
 | |
|                 comp = dh.CreateComponent(componentClass);
 | |
|             }
 | |
|             finally
 | |
|             {
 | |
|                 m_CreatingItem = false;
 | |
|             }
 | |
| 
 | |
|             return comp;
 | |
|         }
 | |
| 
 | |
|         object IDesignerServices.CreateComponent(System.Type componentClass, string name)
 | |
|         {
 | |
|             IDesignerHost dh = (IDesignerHost)GetService(typeof(IDesignerHost));
 | |
|             if (dh == null)
 | |
|                 return null;
 | |
|             object comp = null;
 | |
|             try
 | |
|             {
 | |
|                 m_CreatingItem = true;
 | |
|                 comp = dh.CreateComponent(componentClass, name);
 | |
|             }
 | |
|             finally
 | |
|             {
 | |
|                 m_CreatingItem = false;
 | |
|             }
 | |
| 
 | |
|             return comp;
 | |
|         }
 | |
| 
 | |
| 		void IDesignerServices.DestroyComponent(IComponent c)
 | |
| 		{
 | |
| 			IDesignerHost dh=(IDesignerHost)GetService(typeof(IDesignerHost));
 | |
| 			if(dh==null)
 | |
| 				return;
 | |
| 			dh.DestroyComponent(c);
 | |
| 		}
 | |
| 
 | |
| 		object IDesignerServices.GetService(Type serviceType)
 | |
| 		{
 | |
| 			return this.GetService(serviceType);
 | |
| 		}
 | |
| 		#endregion
 | |
| 	}
 | |
| }
 |