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
 | 
						|
    }
 | 
						|
}
 |