Ejemplo n.º 1
0
            //SplitInfoからの構築用
            public DivisionList(PaneDivision division, Direction direction, DockStyle host_dock)
            {
                _parentDivision = division;
                _direction      = direction;

                _hostingControl      = new IntermediateContainer(division);
                _hostingControl.Dock = host_dock;
            }
Ejemplo n.º 2
0
            //初期状態で2個作成
            public DivisionList(PaneDivision division, DivisionNode parent, Direction direction, IPane pane1, IPane pane2, Size host_size, DockStyle host_dock)
            {
                _parentDivision = division;
                _parentNode     = parent;
                _direction      = direction;

                pane1.Dock = DockStyle.Fill;
                pane2.Dock = _direction == Direction.TB ? DockStyle.Bottom : DockStyle.Right;
                _first     = new DivisionNode(this, pane1, 1.0);
                _first.InsertNext(pane2);

                _hostingControl      = new IntermediateContainer(division);
                _hostingControl.Size = host_size;
                _hostingControl.Dock = host_dock;
            }
Ejemplo n.º 3
0
        private PaneDivision.IPane _singlePane; //�������Ă��Ȃ��Ƃ��ɂ̂ݔ�null

        #endregion Fields

        #region Constructors

        public SplittableViewManager(IPoderosaMainWindow parent, IViewFactory defaultviewfactory)
        {
            _parent = parent;
            _defaultViewFactory = defaultviewfactory;

            Debug.Assert(_paneDivision == null);
            _singlePane = CreateNewPane(_defaultViewFactory, DockStyle.Fill); //�擪��Factory�ō���Ă��܂��Ƃ����̂͂ǂ�����

            _paneDivision = new PaneDivision();
            _paneDivision.CountLimit = WindowManagerPlugin.Instance.WindowPreference.OriginalPreference.SplitLimitCount;
            _paneDivision.UIActionHandler = this;
        }
Ejemplo n.º 4
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();
 }
Ejemplo n.º 5
0
 public void UnifyAll(out PaneDivision.IPane nextfocus)
 {
     Form form = _parent.AsForm();
     form.SuspendLayout();
     _singlePane = _paneDivision.UnifyAll();
     form.ResumeLayout(true);
     FireOnUnify();
     nextfocus = _singlePane;
 }
Ejemplo n.º 6
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;
 }
Ejemplo n.º 7
0
 public void SplitVertical(PaneDivision.IPane view, IViewFactory factory)
 {
     InternalSplit(view, factory, PaneDivision.Direction.LR);
 }
Ejemplo n.º 8
0
 //�����E�������\�b�h
 public void SplitHorizontal(PaneDivision.IPane view, IViewFactory factory)
 {
     InternalSplit(view, factory, PaneDivision.Direction.TB);
 }
Ejemplo n.º 9
0
 //PaneDivision.IUIActionHandler
 public void RequestUnify(PaneDivision.IPane unify_target)
 {
     IPoderosaView view = (IPoderosaView)unify_target;
     ICommandManager cmg = CommandManagerPlugin.Instance;
     cmg.Execute(cmg.Find("org.poderosa.core.window.splitunify"), view);
 }
Ejemplo n.º 10
0
 public IntermediateContainer(PaneDivision division)
 {
     _division = division;
 }
Ejemplo n.º 11
0
            //SplitInfo����̍\�z�p
            public DivisionList(PaneDivision division, Direction direction, DockStyle host_dock)
            {
                _parentDivision = division;
                _direction = direction;

                _hostingControl = new IntermediateContainer(division);
                _hostingControl.Dock = host_dock;
            }
Ejemplo n.º 12
0
            //������ԂłQ�쐬
            public DivisionList(PaneDivision division, DivisionNode parent, Direction direction, IPane pane1, IPane pane2, Size host_size, DockStyle host_dock)
            {
                _parentDivision = division;
                _parentNode = parent;
                _direction = direction;

                pane1.Dock = DockStyle.Fill;
                pane2.Dock = _direction == Direction.TB ? DockStyle.Bottom : DockStyle.Right;
                _first = new DivisionNode(this, pane1, 1.0);
                _first.InsertNext(pane2);

                _hostingControl = new IntermediateContainer(division);
                _hostingControl.Size = host_size;
                _hostingControl.Dock = host_dock;
            }
Ejemplo n.º 13
0
 public SplitFormat(PaneDivision.Direction dir, Node first)
 {
     _direction = dir;
     _firstTag = first;
 }
Ejemplo n.º 14
0
 public IntermediateContainer(PaneDivision division)
 {
     _division = division;
 }