75 lines
2.2 KiB
C#
75 lines
2.2 KiB
C#
using System;
|
|
using System.Text;
|
|
|
|
namespace DevComponents.DotNetBar
|
|
{
|
|
/// <summary>
|
|
/// Defines the Ribbon Quick Access Overflow system item. Used internally by Ribbon control.
|
|
/// </summary>
|
|
public class QatOverflowItem : DisplayMoreItem
|
|
{
|
|
#region Internal Implementation
|
|
public QatOverflowItem()
|
|
: base()
|
|
{
|
|
this.KeyTips = "00";
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns copy of DisplayMoreItem item
|
|
/// </summary>
|
|
public override BaseItem Copy()
|
|
{
|
|
QatOverflowItem objCopy = new QatOverflowItem();
|
|
this.CopyToItem(objCopy);
|
|
return objCopy;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Overriden. Draws the item.
|
|
/// </summary>
|
|
/// <param name="g">Target Graphics object.</param>
|
|
public override void Paint(ItemPaintArgs p)
|
|
{
|
|
Rendering.BaseRenderer renderer = p.Renderer;
|
|
if (renderer != null)
|
|
{
|
|
renderer.DrawQatOverflowItem(new QatOverflowItemRendererEventArgs(this, p.Graphics));
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
Rendering.QatOverflowPainter painter = PainterFactory.CreateQatOverflowItemPainter(this);
|
|
if (painter != null)
|
|
{
|
|
painter.Paint(new QatOverflowItemRendererEventArgs(this, p.Graphics));
|
|
return;
|
|
}
|
|
}
|
|
|
|
base.Paint(p);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns the insertion index for the items removed from overflow popup. Assumes that right-most items are removed first by the layout manager.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
protected override int GetReInsertIndex()
|
|
{
|
|
int insertPos = m_Parent.SubItems.Count;
|
|
for (int i = insertPos - 1; i >= 0; i--)
|
|
{
|
|
if (m_Parent.SubItems[i] is CustomizeItem || m_Parent.SubItems[i].ItemAlignment == eItemAlignment.Far)
|
|
{
|
|
insertPos = i;
|
|
}
|
|
else if (m_Parent.SubItems[i].ItemAlignment == eItemAlignment.Near)
|
|
break;
|
|
}
|
|
return insertPos;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|