143 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System;
 | 
						|
using System.Windows.Forms;
 | 
						|
using System.Windows.Forms.Design;
 | 
						|
using System.Collections;
 | 
						|
using System.Drawing;
 | 
						|
using System.ComponentModel.Design;
 | 
						|
using System.ComponentModel;
 | 
						|
namespace DevComponents.DotNetBar
 | 
						|
{
 | 
						|
	/// <summary>
 | 
						|
	/// Summary description for PanelExDesigner.
 | 
						|
	/// </summary>
 | 
						|
	public class PanelExDesigner:System.Windows.Forms.Design.ScrollableControlDesigner
 | 
						|
	{
 | 
						|
		public override DesignerVerbCollection Verbs 
 | 
						|
		{
 | 
						|
			get 
 | 
						|
			{
 | 
						|
				DesignerVerb[] verbs;
 | 
						|
				verbs = new DesignerVerb[]
 | 
						|
				{
 | 
						|
					new DesignerVerb("Apply Panel Style", new EventHandler(ApplyPanelStyle)),
 | 
						|
					new DesignerVerb("Apply Button Style", new EventHandler(ApplyButtonStyle)),
 | 
						|
					new DesignerVerb("Apply Label Style", new EventHandler(ApplyLabelStyle))
 | 
						|
				};
 | 
						|
				return new DesignerVerbCollection(verbs);
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		private void ApplyPanelStyle(object sender, EventArgs e)
 | 
						|
		{
 | 
						|
			PanelEx p=this.Control as PanelEx;
 | 
						|
			if(p==null)
 | 
						|
				return;
 | 
						|
 | 
						|
			IComponentChangeService change=this.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
 | 
						|
			if(change!=null)
 | 
						|
				change.OnComponentChanging(this.Component,null);
 | 
						|
 | 
						|
			p.ApplyPanelStyle();
 | 
						|
 | 
						|
			if(change!=null)
 | 
						|
				change.OnComponentChanged(this.Component,null,null,null);
 | 
						|
		}
 | 
						|
 | 
						|
		private void ApplyButtonStyle(object sender, EventArgs e)
 | 
						|
		{
 | 
						|
			PanelEx p=this.Control as PanelEx;
 | 
						|
			if(p==null)
 | 
						|
				return;
 | 
						|
			
 | 
						|
			IComponentChangeService change=this.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
 | 
						|
			if(change!=null)
 | 
						|
				change.OnComponentChanging(this.Component,null);
 | 
						|
 | 
						|
			p.ApplyButtonStyle();
 | 
						|
 | 
						|
			if(change!=null)
 | 
						|
				change.OnComponentChanged(this.Component,null,null,null);
 | 
						|
		}
 | 
						|
 | 
						|
		private void ApplyLabelStyle(object sender, EventArgs e)
 | 
						|
		{
 | 
						|
			PanelEx p=this.Control as PanelEx;
 | 
						|
			if(p==null)
 | 
						|
				return;
 | 
						|
			
 | 
						|
			IComponentChangeService change=this.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
 | 
						|
			if(change!=null)
 | 
						|
				change.OnComponentChanging(this.Component,null);
 | 
						|
 | 
						|
			p.ApplyLabelStyle();
 | 
						|
 | 
						|
			if(change!=null)
 | 
						|
				change.OnComponentChanged(this.Component,null,null,null);
 | 
						|
		}
 | 
						|
#if FRAMEWORK20
 | 
						|
        public override void InitializeNewComponent(IDictionary defaultValues)
 | 
						|
        {
 | 
						|
            base.InitializeNewComponent(defaultValues);
 | 
						|
            SetDesignTimeDefaults();
 | 
						|
        }
 | 
						|
#else
 | 
						|
		public override void OnSetComponentDefaults()
 | 
						|
		{
 | 
						|
			base.OnSetComponentDefaults();
 | 
						|
            SetDesignTimeDefaults();
 | 
						|
		}
 | 
						|
#endif
 | 
						|
 | 
						|
        private void SetDesignTimeDefaults()
 | 
						|
        {
 | 
						|
            PanelEx p = this.Control as PanelEx;
 | 
						|
            if (p == null)
 | 
						|
                return;
 | 
						|
            p.ApplyPanelStyle();
 | 
						|
            p.CanvasColor = SystemColors.Control;
 | 
						|
        }
 | 
						|
 | 
						|
		protected override void OnPaintAdornments(PaintEventArgs pe) 
 | 
						|
		{
 | 
						|
			PanelEx p;
 | 
						|
			p = this.Component as PanelEx;
 | 
						|
			if(p.Style.Border==eBorderType.None)
 | 
						|
				this.DrawBorder(pe.Graphics);
 | 
						|
			base.OnPaintAdornments(pe);
 | 
						|
		}
 | 
						|
 | 
						|
		
 | 
						|
		private void DrawBorder(Graphics g) 
 | 
						|
		{
 | 
						|
			PanelEx panel=this.Control as PanelEx;
 | 
						|
            Color border=SystemColors.ControlDarkDark;
 | 
						|
			Rectangle rClient = this.Control.ClientRectangle;
 | 
						|
			Color backColor = panel.Style.BackColor1.Color;
 | 
						|
 | 
						|
			BarFunctions.DrawDesignTimeSelection(g,rClient,backColor,border,1);
 | 
						|
		}
 | 
						|
 | 
						|
//		private void OnChildControlAdded(object sender, ControlEventArgs e)
 | 
						|
//		{
 | 
						|
//			if(e.Control==null)
 | 
						|
//				return;
 | 
						|
//
 | 
						|
//			IDesignerHost dh=(IDesignerHost)GetService(typeof(IDesignerHost));
 | 
						|
//			if(dh==null)
 | 
						|
//				return;
 | 
						|
//
 | 
						|
//			if(!dh.Loading)
 | 
						|
//			{
 | 
						|
//				if(e.Control.BackColor==Color.Transparent)
 | 
						|
//					e.Control.BackColor=SystemColors.Control;
 | 
						|
//			}
 | 
						|
//		}
 | 
						|
 | 
						|
//		public override void Initialize(IComponent component)
 | 
						|
//		{
 | 
						|
//			base.Initialize(component);
 | 
						|
//			base.Control.ControlAdded+=new ControlEventHandler(this.OnChildControlAdded);
 | 
						|
//		}
 | 
						|
	}
 | 
						|
}
 |