private int GetPaneIndex(IPoderosaTerminalPane pane) { int i; for (i = 0; i < _panes.Length; i++) { if (_panes[i] == pane) { return(i); } } return(-1); }
//Activateの処理中は、GEnc.Coonectionsから取れるActiveConnectionは古いやつである。 public CommandResult ActivateConnection(TerminalConnection con) { if (con == GEnv.Connections.ActiveConnection) { IPoderosaTerminalPane p = GEnv.Connections.FindTag(con).AttachedPane; if (p != null && !p.AsControl().Focused) { p.AsControl().Focus(); //!!アクティブなコネクションだからPaneがnullってことはないはずだが、そうなってしまうケースがあるようだ。真の原因は別にあるはずだが未解明 } return(CommandResult.Success); } return(ActivateConnection2(con == null? null : GEnv.Connections.FindTag(con))); }
public void SetConnectionLocation(ConnectionTag ct, IPoderosaTerminalPane pane) { if (ct.AttachedPane == null) //非表示のとき { ct.PositionIndex = GetPaneIndex(pane); ct.PreservedPositionIndex = ct.PositionIndex; //手動で設定されたときはここへも記録 ActivateConnection(ct); } else { ActivateConnection(ct); MovePane(ct, GetPaneIndex(pane)); } }
public CommandResult ToggleAutoSelectionMode() { ConnectionTag ct = GEnv.Connections.ActiveTag; if (ct == null) { return(CommandResult.Ignored); } IPoderosaTerminalPane p = ct.AttachedPane; if (p == null) { return(CommandResult.Failed); } p.ToggleAutoSelectionMode(); return(CommandResult.Success); }
private int GetPaneIndex(IPoderosaTerminalPane pane) { int i; for(i=0; i<_panes.Length; i++) { if(_panes[i]==pane) return i; } return -1; }
public void SetConnectionLocation(ConnectionTag ct, IPoderosaTerminalPane pane) { if(ct.AttachedPane==null) { //��\���̂Ƃ� ct.PositionIndex = GetPaneIndex(pane); ct.PreservedPositionIndex = ct.PositionIndex; //�蓮�Őݒ肳�ꂽ�Ƃ��͂����ւ�L�^ ActivateConnection(ct); } else { ActivateConnection(ct); MovePane(ct, GetPaneIndex(pane)); } }