internal DockTreeSplit(DockTreeClient dockTreeClient, Dock position, DockTreeSplit nextSplit) { _dockTreeClient = dockTreeClient; DockControl = dockTreeClient.DockControl; Position = position; if (position == Dock.Left) { Child1 = DockControl.GetDockTree(DockPositionHelper.GetDockControlTreePosition(position)); if (nextSplit != null) { Child2 = nextSplit; } else { Child2 = DockControl.GetDockTree(DockControlTreePosition.Document); } Orientation = Orientation.Horizontal; IsSplitterTopLeft = true; } else if (position == Dock.Right) { Child2 = DockControl.GetDockTree(DockPositionHelper.GetDockControlTreePosition(position)); if (nextSplit != null) { Child1 = nextSplit; } else { Child1 = DockControl.GetDockTree(DockControlTreePosition.Document); } Orientation = Orientation.Horizontal; IsSplitterTopLeft = false; } else if (position == Dock.Top) { Child1 = DockControl.GetDockTree(DockPositionHelper.GetDockControlTreePosition(position)); if (nextSplit != null) { Child2 = nextSplit; } else { Child2 = DockControl.GetDockTree(DockControlTreePosition.Document); } Orientation = Orientation.Vertical; IsSplitterTopLeft = true; } else { Debug.Assert(position == Dock.Bottom); Child2 = DockControl.GetDockTree(DockPositionHelper.GetDockControlTreePosition(position)); if (nextSplit != null) { Child1 = nextSplit; } else { Child1 = DockControl.GetDockTree(DockControlTreePosition.Document); } Orientation = Orientation.Vertical; IsSplitterTopLeft = false; } UpdateSplitterDistance(); }