181 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			181 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.ComponentModel;
 | |
| using System.ComponentModel.Design;
 | |
| using System.Drawing;
 | |
| using System.Windows.Forms;
 | |
| using System.Windows.Forms.Design;
 | |
| using System.Collections;
 | |
| 
 | |
| namespace DevComponents.DotNetBar.Design
 | |
| {
 | |
| 	/// <summary>
 | |
| 	/// Represents Windows Forms Designer for RibbonBar control
 | |
| 	/// </summary>
 | |
| 	public class RibbonBarDesigner:BarBaseControlDesigner
 | |
| 	{
 | |
| 		public RibbonBarDesigner()
 | |
| 		{
 | |
| 			this.EnableItemDragDrop=true;
 | |
| 		}
 | |
| 
 | |
| 		public override void Initialize(IComponent component) 
 | |
| 		{
 | |
| 			base.Initialize(component);
 | |
| 			if(component==null || component.Site==null || !component.Site.DesignMode)
 | |
| 				return;
 | |
| 
 | |
| #if !TRIAL
 | |
|             IDesignerHost dh = this.GetService(typeof(IDesignerHost)) as IDesignerHost;
 | |
|             if (dh != null)
 | |
|                 dh.LoadComplete += new EventHandler(dh_LoadComplete);
 | |
| #endif
 | |
| 		}
 | |
| #if FRAMEWORK20
 | |
|         public override void InitializeNewComponent(IDictionary defaultValues)
 | |
|         {
 | |
|             base.InitializeNewComponent(defaultValues);
 | |
|             SetDesignTimeDefaults();
 | |
|         }
 | |
| #else
 | |
| 		public override void OnSetComponentDefaults()
 | |
| 		{
 | |
|             SetDesignTimeDefaults();
 | |
| 			base.OnSetComponentDefaults();
 | |
| 		}
 | |
| #endif
 | |
| 
 | |
|         private void SetDesignTimeDefaults()
 | |
|         {
 | |
|             RibbonBar b = this.Control as RibbonBar;
 | |
|             this.Style = eDotNetBarStyle.StyleManagerControlled;
 | |
| #if !TRIAL
 | |
|             string key = GetLicenseKey();
 | |
|             b.LicenseKey = key;
 | |
| #endif
 | |
|         }
 | |
| 
 | |
| 		public override DesignerVerbCollection Verbs 
 | |
| 		{
 | |
| 			get 
 | |
| 			{
 | |
| 				Bar bar=this.Control as Bar;
 | |
| 				DesignerVerb[] verbs=null;
 | |
| 				verbs = new DesignerVerb[]
 | |
| 						{
 | |
| 							new DesignerVerb("Add Button", new EventHandler(CreateButton)),
 | |
| 							new DesignerVerb("Add Horizontal Container", new EventHandler(CreateHorizontalContainer)),
 | |
| 							new DesignerVerb("Add Vertical Container", new EventHandler(CreateVerticalContainer)),
 | |
| 							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 Micro-Chart", new EventHandler(CreateMicroChart)),
 | |
|                             new DesignerVerb("Add Switch Button", new EventHandler(CreateSwitch)),
 | |
|                             new DesignerVerb("Add Slider", new EventHandler(CreateSliderItem)),
 | |
|                             new DesignerVerb("Add Range Slider", new EventHandler(CreateRangeSliderItem)),
 | |
|                             new DesignerVerb("Add Rating Item", new EventHandler(CreateRatingItem)),
 | |
|                             new DesignerVerb("Add Circular Progress", new EventHandler(CreateCircularProgressItem)),
 | |
|                             new DesignerVerb("Add Gallery Container", new EventHandler(CreateGalleryContainer)),
 | |
|                             new DesignerVerb("Add Control Container", new EventHandler(CreateControlContainer))};
 | |
| 				return new DesignerVerbCollection(verbs);
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		private void CreateVerticalContainer(object sender, EventArgs e)
 | |
| 		{
 | |
| 			CreateContainer(this.GetItemContainer(),eOrientation.Vertical);
 | |
| 		}
 | |
| 
 | |
| 		private void CreateHorizontalContainer(object sender, EventArgs e)
 | |
| 		{
 | |
| 			CreateContainer(this.GetItemContainer(),eOrientation.Horizontal);
 | |
| 		}
 | |
| 
 | |
| 		private void CreateContainer(BaseItem parent, eOrientation orientation)
 | |
| 		{
 | |
|             m_CreatingItem = true;
 | |
|             try
 | |
|             {
 | |
|                 DesignerSupport.CreateItemContainer(this, parent, orientation);
 | |
|             }
 | |
|             finally
 | |
|             {
 | |
|                 m_CreatingItem = false;
 | |
|             }
 | |
| 			this.RecalcLayout();
 | |
| 		}
 | |
| 		protected override void PreFilterProperties(
 | |
| 			System.Collections.IDictionary properties) 
 | |
| 		{
 | |
| 			base.PreFilterProperties(properties);
 | |
| 			properties["Style"] = 
 | |
| 				TypeDescriptor.CreateProperty(typeof(RibbonBarDesigner), 
 | |
| 				(PropertyDescriptor)properties["Style"], 
 | |
| 				new Attribute[0]);
 | |
| 		}
 | |
| 
 | |
| 		/// <summary>
 | |
| 		/// Gets/Sets the visual style of the control.
 | |
| 		/// </summary>
 | |
| 		[Browsable(true),DevCoBrowsable(true),Category("Appearance"),Description("Specifies the visual style of the control."),DefaultValue(eDotNetBarStyle.Office2003)]
 | |
| 		public eDotNetBarStyle Style
 | |
| 		{
 | |
| 			get
 | |
| 			{
 | |
| 				RibbonBar bar=this.Control as RibbonBar;
 | |
| 				return bar.Style;
 | |
| 			}
 | |
| 			set 
 | |
| 			{
 | |
| 				RibbonBar bar=this.Control as RibbonBar;
 | |
| 				bar.Style=value;
 | |
| 				IDesignerHost dh=this.GetService(typeof(IDesignerHost)) as IDesignerHost;
 | |
| 				if(dh!=null && !dh.Loading)
 | |
| 				{
 | |
|                     RibbonPredefinedColorSchemes.SetRibbonBarStyle(bar, value);
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
|         protected override void OnitemCreated(BaseItem item)
 | |
|         {
 | |
|             if (item is ButtonItem)
 | |
|             {
 | |
|                 ButtonItem b = item as ButtonItem;
 | |
|                 TypeDescriptor.GetProperties(b)["SubItemsExpandWidth"].SetValue(b, 14);
 | |
|             }
 | |
|             base.OnitemCreated(item);
 | |
|         }
 | |
| 
 | |
|         #region Licensing Stuff
 | |
| #if !TRIAL
 | |
|         internal static string GetLicenseKey()
 | |
|         {
 | |
|             string key = "";
 | |
|             Microsoft.Win32.RegistryKey regkey = Microsoft.Win32.Registry.LocalMachine;
 | |
|             regkey = regkey.OpenSubKey("Software\\DevComponents\\Licenses", false);
 | |
|             if (regkey != null)
 | |
|             {
 | |
|                 object keyValue = regkey.GetValue("DevComponents.DotNetBar.DotNetBarManager2");
 | |
|                 if (keyValue != null)
 | |
|                     key = keyValue.ToString();
 | |
|             }
 | |
|             return key;
 | |
|         }
 | |
|         private void dh_LoadComplete(object sender, EventArgs e)
 | |
|         {
 | |
|             IDesignerHost dh = this.GetService(typeof(IDesignerHost)) as IDesignerHost;
 | |
|             if (dh != null)
 | |
|                 dh.LoadComplete -= new EventHandler(dh_LoadComplete);
 | |
| 
 | |
|             string key = GetLicenseKey();
 | |
|             RibbonBar bar = this.Control as RibbonBar;
 | |
|             if (key != "" && bar != null && bar.LicenseKey == "" && bar.LicenseKey != key)
 | |
|                 TypeDescriptor.GetProperties(bar)["LicenseKey"].SetValue(bar, key);
 | |
|         }
 | |
| #endif
 | |
|         #endregion
 | |
| 	}
 | |
| }
 |