//SplitInfoからの構築用 public DivisionList(PaneDivision division, Direction direction, DockStyle host_dock) { _parentDivision = division; _direction = direction; _hostingControl = new IntermediateContainer(division); _hostingControl.Dock = host_dock; }
//初期状態で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; }
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; }
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(); }
public void UnifyAll(out PaneDivision.IPane nextfocus) { Form form = _parent.AsForm(); form.SuspendLayout(); _singlePane = _paneDivision.UnifyAll(); form.ResumeLayout(true); FireOnUnify(); nextfocus = _singlePane; }
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; }
public void SplitVertical(PaneDivision.IPane view, IViewFactory factory) { InternalSplit(view, factory, PaneDivision.Direction.LR); }
//�����E�������\�b�h public void SplitHorizontal(PaneDivision.IPane view, IViewFactory factory) { InternalSplit(view, factory, PaneDivision.Direction.TB); }
//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); }
public IntermediateContainer(PaneDivision division) { _division = division; }
//SplitInfo����̍\�z�p public DivisionList(PaneDivision division, Direction direction, DockStyle host_dock) { _parentDivision = division; _direction = direction; _hostingControl = new IntermediateContainer(division); _hostingControl.Dock = host_dock; }
//������Ԃł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; }
public SplitFormat(PaneDivision.Direction dir, Node first) { _direction = dir; _firstTag = first; }