📄 toolbaritemcollection.cs
字号:
namespace FreeTextBoxControls.Support
{
using FreeTextBoxControls;
using System;
using System.Collections;
using System.ComponentModel;
using System.Reflection;
using System.Web;
using System.Web.UI;
public class ToolbarItemCollection : ICollection, IEnumerable, IStateManager
{
internal ToolbarItemCollection()
{
this.toolbarItems = new ArrayList();
}
public int Add(ToolbarItem item)
{
if (item == null)
{
throw new ArgumentNullException("item");
}
return this.toolbarItems.Add(item);
}
public void Clear()
{
this.toolbarItems.Clear();
}
public bool Contains(ToolbarItem item)
{
if (item == null)
{
return false;
}
return this.toolbarItems.Contains(item);
}
public void CopyTo(Array array, int index)
{
this.toolbarItems.CopyTo(array, index);
}
public IEnumerator GetEnumerator()
{
return this.toolbarItems.GetEnumerator();
}
public int IndexOf(ToolbarItem item)
{
if (item == null)
{
throw new ArgumentNullException("item");
}
return this.toolbarItems.IndexOf(item);
}
public void Insert(int index, ToolbarItem item)
{
if (item == null)
{
throw new ArgumentNullException("item");
}
this.toolbarItems.Insert(index, item);
}
public void Remove(ToolbarItem item)
{
if (item == null)
{
throw new ArgumentNullException("item");
}
this.toolbarItems.Remove(item);
}
public void RemoveAt(int index)
{
this.toolbarItems.RemoveAt(index);
}
void IStateManager.LoadViewState(object savedState)
{
HttpContext.Current.Trace.Write("ToolbarItem Collection", "Loading ViewState");
if ((savedState != null) && (savedState is Pair))
{
this.saveAll = true;
Pair pair1 = (Pair) savedState;
ArrayList list1 = (ArrayList) pair1.First;
ArrayList list2 = (ArrayList) pair1.Second;
int num1 = list1.Count;
this.toolbarItems = new ArrayList(num1);
for (int num2 = 0; num2 < num1; num2++)
{
ToolbarItem item1 = null;
char ch1 = (char) list1[num2];
if (ch1.Equals('b'))
{
item1 = new ToolbarButton();
}
else
{
ch1 = (char) list1[num2];
if (ch1.Equals('d'))
{
item1 = new ToolbarDropDownList();
}
else
{
ch1 = (char) list1[num2];
if (ch1.Equals('s'))
{
item1 = new ToolbarSeparator();
}
}
}
this.Add(item1);
((IStateManager) item1).LoadViewState(list2[num2]);
}
}
}
object IStateManager.SaveViewState()
{
HttpContext.Current.Trace.Write("ToolbarItem Collection", "Saving ViewState");
bool flag1 = true;
ArrayList list1 = new ArrayList(this.Count);
ArrayList list2 = new ArrayList(this.Count);
for (int num1 = 0; num1 < this.Count; num1++)
{
ToolbarItem item1 = (ToolbarItem) this.toolbarItems[num1];
item1.SetDirty();
if (item1 is ToolbarButton)
{
list1.Add('b');
}
else if (item1 is ToolbarDropDownList)
{
list1.Add('d');
}
else
{
list1.Add('s');
}
object obj1 = ((IStateManager) item1).SaveViewState();
list2.Add(obj1);
if (obj1 != null)
{
flag1 = false;
}
}
if (flag1)
{
return null;
}
return new Pair(list1, list2);
}
void IStateManager.TrackViewState()
{
this.isTrackingViewState = true;
foreach (ToolbarItem item1 in this.toolbarItems)
{
((IStateManager) item1).TrackViewState();
}
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int Count
{
get
{
return this.toolbarItems.Count;
}
}
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Browsable(false)]
public bool IsSynchronized
{
get
{
return false;
}
}
public ToolbarItem this[int index]
{
get
{
return (ToolbarItem) this.toolbarItems[index];
}
}
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public object SyncRoot
{
get
{
return this;
}
}
bool IStateManager.IsTrackingViewState
{
get
{
return this.isTrackingViewState;
}
}
private bool isTrackingViewState;
private bool saveAll;
private ArrayList toolbarItems;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -