private static void MergeNestedPanes(VisibleNestedPaneCollection nestedPanesFrom, NestedPaneCollection nestedPanesTo, DockPane prevPane, DockAlignment alignment, double proportion) { if (nestedPanesFrom.Count != 0) { int num2; int count = nestedPanesFrom.Count; DockPane[] paneArray = new DockPane[count]; DockPane[] paneArray2 = new DockPane[count]; DockAlignment[] alignmentArray = new DockAlignment[count]; double[] numArray = new double[count]; for (num2 = 0; num2 < count; num2++) { paneArray[num2] = nestedPanesFrom[num2]; paneArray2[num2] = nestedPanesFrom[num2].NestedDockingStatus.PreviousPane; alignmentArray[num2] = nestedPanesFrom[num2].NestedDockingStatus.Alignment; numArray[num2] = nestedPanesFrom[num2].NestedDockingStatus.Proportion; } DockPane pane = paneArray[0].DockTo(nestedPanesTo.Container, prevPane, alignment, proportion); paneArray[0].DockState = nestedPanesTo.DockState; for (num2 = 1; num2 < count; num2++) { for (int i = num2; i < count; i++) { if (paneArray2[i] == paneArray[num2 - 1]) { paneArray2[i] = pane; } } pane = paneArray[num2].DockTo(nestedPanesTo.Container, paneArray2[num2], alignmentArray[num2], numArray[num2]); paneArray[num2].DockState = nestedPanesTo.DockState; } } }
internal NestedPaneCollection(INestedPanesContainer container) : base(new List <DockPane>()) { this.m_container = container; this.m_visibleNestedPanes = new VisibleNestedPaneCollection(this); }