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