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(); } /// /// Creates new instance of BaseItem. /// public CrumbBarOverflowButton():this("","") {} /// /// Creates new instance of BaseItem and assigns item name. /// /// Item name. public CrumbBarOverflowButton(string sItemName) : this(sItemName, "") { } /// /// Creates new instance of BaseItem and assigns item name and item text. /// /// Item Name /// Item Text public CrumbBarOverflowButton(string itemName, string itemText) : base(itemName, itemText) { this.AutoExpandOnClick = true; this.ShowSubItems = false; } /// /// Returns copy of ExplorerBarContainerItem item /// 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 } }