示例#1
0
        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)));
        }
示例#3
0
 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);
        }
示例#5
0
 private int GetPaneIndex(IPoderosaTerminalPane pane)
 {
     int i;
     for(i=0; i<_panes.Length; i++) {
         if(_panes[i]==pane) return i;
     }
     return -1;
 }
示例#6
0
 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));
     }
 }