예제 #1
0
        public DockSplit(DockPaneLocation location, DockPane parent, DockPane child)
        {
            child.width  = Math.Max(WindowManager.instance.main.width / 2, child.width);
            child.height = Math.Max(WindowManager.instance.main.height / 2, child.height);

            margin  = 0;
            padding = 0;
            x       = parent.x;
            y       = parent.y;
            width   = parent.width;
            height  = parent.height;

            WindowManager.instance.main.width  -= child.width;
            WindowManager.instance.main.height -= child.height;

            switch (location)
            {
            case DockPaneLocation.Left: SplitVertical(child, parent); break;

            case DockPaneLocation.Right: SplitVertical(parent, child); break;

            case DockPaneLocation.Top: SplitHotizontal(child, parent); break;

            case DockPaneLocation.Bottom: SplitHotizontal(parent, child); break;
            }
        }
예제 #2
0
        public DockSplitDirection GetDirection(DockPaneLocation location)
        {
            if (location == DockPaneLocation.Bottom || location == DockPaneLocation.Top)
            {
                return(DockSplitDirection.Vertical);
            }

            return(DockSplitDirection.Hortizonal);
        }
예제 #3
0
        public void AddDockPane(DockPane parent, DockPane child, DockPaneLocation location)
        {
            var split = new DockSplit(location, parent, child);

            parent.SetParent(split);
        }