using System; using System.Collections.Generic; using System.Collections.ObjectModel; namespace WeifenLuo.WinFormsUI.Docking { public class DockWindowCollection : ReadOnlyCollection { internal DockWindowCollection(DockPanel dockPanel) : base(new List()) { Items.Add(new DockWindow(dockPanel, DockState.Document)); Items.Add(new DockWindow(dockPanel, DockState.DockLeft)); Items.Add(new DockWindow(dockPanel, DockState.DockRight)); Items.Add(new DockWindow(dockPanel, DockState.DockTop)); Items.Add(new DockWindow(dockPanel, DockState.DockBottom)); } public DockWindow this [DockState dockState] { get { if (dockState == DockState.Document) return Items[0]; else if (dockState == DockState.DockLeft || dockState == DockState.DockLeftAutoHide) return Items[1]; else if (dockState == DockState.DockRight || dockState == DockState.DockRightAutoHide) return Items[2]; else if (dockState == DockState.DockTop || dockState == DockState.DockTopAutoHide) return Items[3]; else if (dockState == DockState.DockBottom || dockState == DockState.DockBottomAutoHide) return Items[4]; throw (new ArgumentOutOfRangeException()); } } } }