예제 #1
0
        private Control GetRootControl()
        {
            if (_singlePane != null)
            {
                return(_singlePane.AsDotNet());
            }
            Control c = _paneDivision.RootControl;

            return(c);
        }
예제 #2
0
        private void InternalSplit(PaneDivision.IPane view, IViewFactory factory, PaneDivision.Direction direction)
        {
            PaneDivision.IPane t = CreateNewPane(factory, direction == PaneDivision.Direction.LR? DockStyle.Left : DockStyle.Top);
            Form form            = _parent.AsForm();

            form.SuspendLayout();
            _paneDivision.SplitPane(view, t, direction);
            _singlePane = null;
            FireOnSplit();
            form.ResumeLayout(true);
            view.AsDotNet().Focus();
        }
예제 #3
0
        public bool Unify(PaneDivision.IPane view, out PaneDivision.IPane nextfocus)
        {
            Form form = _parent.AsForm();

            form.SuspendLayout();
            PaneDivision.SplitResult r = _paneDivision.UnifyPane(view, out nextfocus);
            if (r == PaneDivision.SplitResult.Success)
            {
                view.AsDotNet().Dispose();
            }
            if (_paneDivision.IsEmpty)
            {
                _singlePane = nextfocus;
            }
            form.ResumeLayout(true);
            FireOnUnify();
            return(r == PaneDivision.SplitResult.Success);
        }