120 lines
2.0 KiB
C#
120 lines
2.0 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace MLV;
|
|
|
|
public class ManagedListViewColumnsCollection : List<ManagedListViewColumn>
|
|
{
|
|
private ManagedListView owner;
|
|
|
|
public ManagedListViewColumnsCollection()
|
|
{
|
|
owner = null;
|
|
}
|
|
|
|
public ManagedListViewColumnsCollection(IEnumerable<ManagedListViewColumn> newColumns)
|
|
: base(newColumns)
|
|
{
|
|
owner = null;
|
|
}
|
|
|
|
public ManagedListViewColumnsCollection(ManagedListView owner)
|
|
{
|
|
this.owner = owner;
|
|
}
|
|
|
|
public ManagedListViewColumnsCollection(ManagedListView owner, IEnumerable<ManagedListViewColumn> newColumns)
|
|
: base(newColumns)
|
|
{
|
|
this.owner = owner;
|
|
}
|
|
|
|
public new void Add(ManagedListViewColumn item)
|
|
{
|
|
base.Add(item);
|
|
if (owner != null)
|
|
{
|
|
owner.OnColumnAdded();
|
|
}
|
|
}
|
|
|
|
public new void Insert(int index, ManagedListViewColumn item)
|
|
{
|
|
base.Insert(index, item);
|
|
if (owner != null)
|
|
{
|
|
owner.OnColumnAdded();
|
|
}
|
|
}
|
|
|
|
public new void Clear()
|
|
{
|
|
base.Clear();
|
|
if (owner != null)
|
|
{
|
|
owner.OnColumnsCollectionCleared();
|
|
}
|
|
}
|
|
|
|
public new bool Remove(ManagedListViewColumn item)
|
|
{
|
|
bool result = base.Remove(item);
|
|
if (owner != null)
|
|
{
|
|
owner.OnItemRemoved();
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public new void RemoveAt(int index)
|
|
{
|
|
base.RemoveAt(index);
|
|
if (owner != null)
|
|
{
|
|
owner.OnItemRemoved();
|
|
}
|
|
}
|
|
|
|
public ManagedListViewColumn GetColumnByID(string id)
|
|
{
|
|
using (Enumerator enumerator = GetEnumerator())
|
|
{
|
|
while (enumerator.MoveNext())
|
|
{
|
|
ManagedListViewColumn current = enumerator.Current;
|
|
if (current.ID == id)
|
|
{
|
|
return current;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public new void Sort()
|
|
{
|
|
base.Sort();
|
|
if (owner != null)
|
|
{
|
|
owner.OnItemsCollectionSorted();
|
|
}
|
|
}
|
|
|
|
public new void Sort(IComparer<ManagedListViewColumn> comparer)
|
|
{
|
|
base.Sort(comparer);
|
|
if (owner != null)
|
|
{
|
|
owner.OnItemsCollectionSorted();
|
|
}
|
|
}
|
|
|
|
public new void Sort(int index, int count, IComparer<ManagedListViewColumn> comparer)
|
|
{
|
|
base.Sort(index, count, comparer);
|
|
if (owner != null)
|
|
{
|
|
owner.OnItemsCollectionSorted();
|
|
}
|
|
}
|
|
}
|