private DockTree(DockControl dockControl, FloatingWindow floatingWindow, DockTreePosition dockTreePosition) { DockControl = dockControl; _floatingWindow = floatingWindow; _panes = new DockPaneCollection(); _visiblePanes = new DockPaneCollection(); _activePanes = new DockPaneCollection(); _autoHidePanes = new DockPaneCollection(); _autoHideItems = new DockItemCollection(); _dirtyNodes = new List <DockPaneNode>(); Position = dockTreePosition; }
internal void PerformClose() { DockPaneCollection srcPanes = ActivePanes; DockPane[] panes = new DockPane[srcPanes.Count]; srcPanes.CopyTo(panes, 0); for (int i = panes.Length - 1; i >= 0; i--) { DockPane pane = panes[i]; DockItemCollection srcItems = pane.ActiveItems; DockItem[] items = new DockItem[srcItems.Count]; srcItems.CopyTo(items, 0); for (int j = items.Length - 1; j >= 0; j--) { items[j].PerformClose(); } } }