102 lines
1.8 KiB
C#
102 lines
1.8 KiB
C#
using System;
|
|
|
|
namespace DevComponents.DotNetBar
|
|
{
|
|
/// <summary>
|
|
/// Summary description for Popups.
|
|
/// </summary>
|
|
public class ContextMenusCollection:System.Collections.CollectionBase
|
|
{
|
|
private DotNetBarManager m_Owner;
|
|
public ContextMenusCollection(DotNetBarManager owner)
|
|
{
|
|
m_Owner=owner;
|
|
}
|
|
public int Add(BaseItem item)
|
|
{
|
|
item.SetOwner(m_Owner);
|
|
item.Visible=false;
|
|
item.Displayed=false;
|
|
return List.Add(item);
|
|
}
|
|
public BaseItem this[int index]
|
|
{
|
|
get {return (BaseItem)(List[index]);}
|
|
set {List[index] = value;}
|
|
}
|
|
public BaseItem this[string name]
|
|
{
|
|
get {return (BaseItem)(List[this.IndexOf(name)]);}
|
|
set {List[this.IndexOf(name)] = value;}
|
|
}
|
|
|
|
public void Insert(int index, BaseItem value)
|
|
{
|
|
value.Visible=false;
|
|
value.Displayed=false;
|
|
List.Insert(index, value);
|
|
}
|
|
|
|
public int IndexOf(BaseItem value)
|
|
{
|
|
return List.IndexOf(value);
|
|
}
|
|
|
|
public int IndexOf(string name)
|
|
{
|
|
int i=-1;
|
|
foreach(BaseItem item in List)
|
|
{
|
|
i++;
|
|
if(item.Name==name)
|
|
return i;
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
public bool Contains(BaseItem value)
|
|
{
|
|
return List.Contains(value);
|
|
}
|
|
|
|
public bool Contains(string name)
|
|
{
|
|
foreach(BaseItem item in List)
|
|
{
|
|
if(item.Name==name)
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public void Remove(BaseItem value)
|
|
{
|
|
List.Remove(value);
|
|
}
|
|
|
|
public void CopyTo(BaseItem[] array, int index)
|
|
{
|
|
List.CopyTo(array, index);
|
|
}
|
|
|
|
protected override void OnClear()
|
|
{
|
|
IOwner owner=m_Owner as IOwner;
|
|
if(List.Count>0 && owner!=null)
|
|
{
|
|
foreach(BaseItem objSub in this)
|
|
{
|
|
if(owner!=null)
|
|
owner.RemoveShortcutsFromItem(objSub);
|
|
}
|
|
}
|
|
base.OnClear();
|
|
}
|
|
|
|
internal void SetOwner(DotNetBarManager owner)
|
|
{
|
|
m_Owner=owner;
|
|
}
|
|
}
|
|
}
|