using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
|
namespace HotelPms.Share.Windows.Component.Design
|
{
|
public class DesignItemCollection : CollectionBase
|
{
|
private DesignPanel owner;
|
|
public virtual DesignItem this[int index]
|
{
|
get
|
{
|
return this.List[index] as DesignItem;
|
}
|
}
|
|
public DesignItemCollection(DesignPanel owner)
|
: base()
|
{
|
if (owner == null)
|
throw new ArgumentNullException("owner");
|
|
this.owner = owner;
|
}
|
|
public DesignItemCollection(DesignPanel owner, DesignItem dateItems)
|
: this(owner)
|
{
|
this.Add(dateItems);
|
}
|
|
public int IndexOf(DesignItem dateItem)
|
{
|
if (dateItem == null)
|
throw new ArgumentNullException("dateItem");
|
|
for (int i = 0; i < this.Count; i++)
|
{
|
if (this[i] == dateItem)
|
{
|
return i;
|
}
|
}
|
|
return -1;
|
}
|
|
public void Add(DesignItem value)
|
{
|
int index;
|
if (value == null)
|
throw new ArgumentNullException("value");
|
|
//if (value.Owner == null) { value.Owner = this.owner; }
|
|
index = this.IndexOf(value);
|
if (index == -1)
|
this.List.Add(value);
|
else
|
this.List[index] = value;
|
}
|
|
public void Insert(DesignItem value, int p)
|
{
|
int index;
|
if (value == null)
|
throw new ArgumentNullException("value");
|
|
//if (value.Owner == null) { value.Owner = this.owner; }
|
|
index = this.IndexOf(value);
|
if (index == -1)
|
this.List.Insert(p, value);
|
else
|
this.List[index] = value;
|
}
|
|
|
public void AddRange(DesignItem[] dateItems)
|
{
|
if (dateItems == null)
|
throw new ArgumentNullException("dateItems");
|
|
for (int i = 0; i < dateItems.Length; i++)
|
{
|
//dateItems[i].Owner = owner;
|
this.Add(dateItems[i]);
|
}
|
}
|
|
public void Add(DesignItemCollection dateItems)
|
{
|
if (dateItems == null)
|
throw new ArgumentNullException("dateItems");
|
|
for (int i = 0; i < dateItems.Count; i++)
|
{
|
this.Add(dateItems[i]);
|
}
|
}
|
|
public new void Clear()
|
{
|
while (this.Count > 0)
|
{
|
this.RemoveAt(0);
|
}
|
}
|
|
public bool Contains(DesignItem dateItem)
|
{
|
if (dateItem == null)
|
throw new ArgumentNullException("dateItem");
|
|
return (this.IndexOf(dateItem) != -1);
|
}
|
|
|
public void Remove(DesignItem value)
|
{
|
if (value == null)
|
throw new ArgumentNullException("value");
|
|
this.List.Remove(value);
|
|
}
|
|
public new void RemoveAt(int index)
|
{
|
this.Remove(this[index]);
|
}
|
|
public void Move(DesignItem value, int index)
|
{
|
if (value == null)
|
throw new ArgumentNullException("value");
|
|
if (index < 0)
|
{
|
index = 0;
|
}
|
else if (index > this.Count)
|
{
|
index = this.Count;
|
}
|
|
if (!this.Contains(value) || this.IndexOf(value) == index)
|
{
|
return;
|
}
|
|
this.List.Remove(value);
|
|
if (index > this.Count)
|
{
|
this.List.Add(value);
|
}
|
else
|
{
|
this.List.Insert(index, value);
|
}
|
|
}
|
|
public void MoveToTop(DesignItem value)
|
{
|
this.Move(value, 0);
|
}
|
|
|
public void MoveToBottom(DesignItem value)
|
{
|
this.Move(value, this.Count);
|
}
|
}
|
}
|