示例#1
0
 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;
 }
示例#2
0
        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();
                }
            }
        }