using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms.Design; using System.ComponentModel.Design; using System.ComponentModel; namespace DevComponents.DotNetBar.Design { /// /// Represents windows forms designer support for ExpandableSplitter control. /// public class ExpandableSplitterDesigner : ControlDesigner { /// /// Default constructor. /// public ExpandableSplitterDesigner() { } #if FRAMEWORK20 public override void InitializeNewComponent(System.Collections.IDictionary defaultValues) { base.InitializeNewComponent(defaultValues); SetDesignTimeDefaults(); } #else public override void OnSetComponentDefaults() { SetDesignTimeDefaults(); base.OnSetComponentDefaults(); } #endif private void SetDesignTimeDefaults() { this.Style = eSplitterStyle.Office2007; ((ExpandableSplitter)this.Control).Width = 6; } protected override void PreFilterProperties( System.Collections.IDictionary properties) { base.PreFilterProperties(properties); properties["Style"] = TypeDescriptor.CreateProperty(typeof(ExpandableSplitterDesigner), (PropertyDescriptor)properties["Style"], new Attribute[0]); } /// /// Gets or sets visual style of the control. Default value is eSplitterStyle.Office2003. /// [Browsable(true), Category("Appearance"), DefaultValue(eSplitterStyle.Office2003), Description("Indicates visual style of the control.")] public eSplitterStyle Style { get { return ((ExpandableSplitter)this.Control).Style; } set { ((ExpandableSplitter)this.Control).Style = value; IDesignerHost dh = GetService(typeof(IDesignerHost)) as IDesignerHost; if (dh != null && dh.Loading) return; ((ExpandableSplitter)this.Control).ApplyStyle(value); OnStyleChanged(); } } private void OnStyleChanged() { ExpandableSplitter splitter = this.Control as ExpandableSplitter; IComponentChangeService change = this.GetService(typeof(IComponentChangeService)) as IComponentChangeService; if (change != null) { change.OnComponentChanging(splitter, TypeDescriptor.GetProperties(typeof(ExpandableSplitter))["Style"]); change.OnComponentChanged(splitter, TypeDescriptor.GetProperties(typeof(ExpandableSplitter))["Style"], null, null); change.OnComponentChanging(splitter, TypeDescriptor.GetProperties(typeof(ExpandableSplitter))["BackColor"]); change.OnComponentChanged(splitter, TypeDescriptor.GetProperties(typeof(ExpandableSplitter))["BackColor"], null, null); change.OnComponentChanging(splitter, TypeDescriptor.GetProperties(typeof(ExpandableSplitter))["BackColor2"]); change.OnComponentChanged(splitter, TypeDescriptor.GetProperties(typeof(ExpandableSplitter))["BackColor2"], null, null); change.OnComponentChanging(splitter, TypeDescriptor.GetProperties(typeof(ExpandableSplitter))["GripLightColor"]); change.OnComponentChanged(splitter, TypeDescriptor.GetProperties(typeof(ExpandableSplitter))["GripLightColor"], null, null); change.OnComponentChanging(splitter, TypeDescriptor.GetProperties(typeof(ExpandableSplitter))["GripDarkColor"]); change.OnComponentChanged(splitter, TypeDescriptor.GetProperties(typeof(ExpandableSplitter))["GripDarkColor"], null, null); change.OnComponentChanging(splitter, TypeDescriptor.GetProperties(typeof(ExpandableSplitter))["EpxandFillColor"]); change.OnComponentChanged(splitter, TypeDescriptor.GetProperties(typeof(ExpandableSplitter))["ExpandFillColor"], null, null); change.OnComponentChanging(splitter, TypeDescriptor.GetProperties(typeof(ExpandableSplitter))["EpxandLineColor"]); change.OnComponentChanged(splitter, TypeDescriptor.GetProperties(typeof(ExpandableSplitter))["ExpandLineColor"], null, null); } } private IDesignerHost GetIDesignerHost() { try { IDesignerHost dh = (IDesignerHost)GetService(typeof(IDesignerHost)); return dh; } catch { } return null; } } }