Ejemplo n.º 1
0
        internal bool ExpandTo(GLine line, int position, RangeType type)
        {
            line.ExpandBuffer(position + 1);
            _disabledTemporary = false;
            _state             = SelectionState.Expansion;

            _forwardDestination._line  = line.ID;
            _backwardDestination._line = line.ID;
            //Debug.WriteLine(String.Format("ExpandTo Line{0} Position{1}", line.ID, position));
            switch (type)
            {
            case RangeType.Char:
                _forwardDestination._position  = position;
                _backwardDestination._position = position;
                break;

            case RangeType.Word:
                _forwardDestination._position  = line.FindPrevWordBreak(position) + 1;
                _backwardDestination._position = line.FindNextWordBreak(position);
                break;

            case RangeType.Line:
                _forwardDestination._position  = 0;
                _backwardDestination._position = line.CharLength;
                break;
            }

            return(true);
        }
Ejemplo n.º 2
0
        internal bool StartSelection(TerminalPane owner, GLine line, int position, RangeType type, int x, int y)
        {
            Debug.Assert(owner != null);
            Debug.Assert(position >= 0);
            line.ExpandBuffer(position + 1);

            _disabledTemporary             = false;
            _owner                         = owner;
            _pivotType                     = type;
            _forwardPivot._line            = line.ID;
            _backwardPivot._line           = line.ID;
            _forwardDestination._line      = line.ID;
            _forwardDestination._position  = position;
            _backwardDestination._line     = line.ID;
            _backwardDestination._position = position;
            switch (type)
            {
            case RangeType.Char:
                _forwardPivot._position  = position;
                _backwardPivot._position = position;
                break;

            case RangeType.Word:
                _forwardPivot._position  = line.FindPrevWordBreak(position) + 1;
                _backwardPivot._position = line.FindNextWordBreak(position);
                break;

            case RangeType.Line:
                _forwardPivot._position  = 0;
                _backwardPivot._position = line.CharLength;
                break;
            }
            _state  = SelectionState.Pivot;
            _startX = x;
            _startY = y;
            return(true);
        }
Ejemplo n.º 3
0
        internal bool StartSelection(TerminalPane owner, GLine line, int position, RangeType type, int x, int y)
        {
            Debug.Assert(owner!=null);
            Debug.Assert(position>=0);
            line.ExpandBuffer(position+1);

            _disabledTemporary = false;
            _owner = owner;
            _pivotType = type;
            _forwardPivot._line = line.ID;
            _backwardPivot._line = line.ID;
            _forwardDestination._line = line.ID;
            _forwardDestination._position = position;
            _backwardDestination._line = line.ID;
            _backwardDestination._position = position;
            switch(type) {
                case RangeType.Char:
                    _forwardPivot._position = position;
                    _backwardPivot._position = position;
                    break;
                case RangeType.Word:
                    _forwardPivot._position = line.FindPrevWordBreak(position)+1;
                    _backwardPivot._position = line.FindNextWordBreak(position);
                    break;
                case RangeType.Line:
                    _forwardPivot._position = 0;
                    _backwardPivot._position = line.CharLength;
                    break;
            }
            _state = SelectionState.Pivot;
            _startX = x;
            _startY = y;
            return true;
        }
Ejemplo n.º 4
0
        internal bool ExpandTo(GLine line, int position, RangeType type)
        {
            line.ExpandBuffer(position+1);
            _disabledTemporary = false;
            _state = SelectionState.Expansion;

            _forwardDestination._line = line.ID;
            _backwardDestination._line = line.ID;
            //Debug.WriteLine(String.Format("ExpandTo Line{0} Position{1}", line.ID, position));
            switch(type) {
                case RangeType.Char:
                    _forwardDestination._position = position;
                    _backwardDestination._position = position;
                    break;
                case RangeType.Word:
                    _forwardDestination._position = line.FindPrevWordBreak(position)+1;
                    _backwardDestination._position = line.FindNextWordBreak(position);
                    break;
                case RangeType.Line:
                    _forwardDestination._position = 0;
                    _backwardDestination._position = line.CharLength;
                    break;
            }

            return true;
        }