82 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Text;
 | |
| 
 | |
| namespace DevComponents.DotNetBar
 | |
| {
 | |
|     public class CrumbBarOverflowButton : ButtonItem
 | |
|     {
 | |
|         #region Internal Implementation
 | |
|         protected override void RenderButton(ItemPaintArgs p)
 | |
|         {
 | |
|             if (!p.IsOnMenu)
 | |
|             {
 | |
|                 Rendering.BaseRenderer renderer = p.Renderer;
 | |
|                 if (renderer != null)
 | |
|                 {
 | |
|                     p.ButtonItemRendererEventArgs.Graphics = p.Graphics;
 | |
|                     p.ButtonItemRendererEventArgs.ButtonItem = this;
 | |
|                     p.ButtonItemRendererEventArgs.ItemPaintArgs = p;
 | |
|                     renderer.DrawCrumbBarOverflowItem(p.ButtonItemRendererEventArgs);
 | |
|                     return;
 | |
|                 }
 | |
|             }
 | |
|             base.RenderButton(p);
 | |
|         }
 | |
| 
 | |
|         public override void RecalcSize()
 | |
|         {
 | |
|             m_Rect.Width = 16;
 | |
|             m_Rect.Height = 11;
 | |
|             m_NeedRecalcSize = false;
 | |
|         }
 | |
| 
 | |
|         public override void InternalMouseEnter()
 | |
|         {
 | |
|             CrumbBarViewContainer parent = this.Parent as CrumbBarViewContainer;
 | |
|             if (parent != null && parent.Expanded)
 | |
|             {
 | |
|                 parent.Expanded = false;
 | |
|                 this.Expanded = true;
 | |
|             }
 | |
|             base.InternalMouseEnter();
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
| 		/// Creates new instance of BaseItem.
 | |
| 		/// </summary>
 | |
| 		public CrumbBarOverflowButton():this("","") {}
 | |
| 		/// <summary>
 | |
| 		/// Creates new instance of BaseItem and assigns item name.
 | |
| 		/// </summary>
 | |
| 		/// <param name="sItemName">Item name.</param>
 | |
|         public CrumbBarOverflowButton(string sItemName) : this(sItemName, "") { }
 | |
|         /// <summary>
 | |
| 		/// Creates new instance of BaseItem and assigns item name and item text.
 | |
| 		/// </summary>
 | |
| 		/// <param name="itemName">Item Name</param>
 | |
| 		/// <param name="itemText">Item Text</param>
 | |
|         public CrumbBarOverflowButton(string itemName, string itemText)
 | |
|             : base(itemName, itemText)
 | |
|         {
 | |
|             this.AutoExpandOnClick = true;
 | |
|             this.ShowSubItems = false;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Returns copy of ExplorerBarContainerItem item
 | |
|         /// </summary>
 | |
|         public override BaseItem Copy()
 | |
|         {
 | |
|             CrumbBarOverflowButton objCopy = new CrumbBarOverflowButton();
 | |
|             this.CopyToItem(objCopy);
 | |
|             return objCopy;
 | |
|         }
 | |
|         protected override void CopyToItem(BaseItem copy)
 | |
|         {
 | |
|             CrumbBarOverflowButton objCopy = copy as CrumbBarOverflowButton;
 | |
|             base.CopyToItem(objCopy);
 | |
|         }
 | |
|         #endregion
 | |
|     }
 | |
| }
 |