+ if(curRow > _selectionEnd && curRow > _selectionStart) { // select further towards bottom
+ for(int l = _selectionEnd + 1; l <= curRow; l++) {
+ _lines[l]->setSelected(true, minColumn);
+ }
+ } else if(curRow > _selectionEnd && curRow <= _selectionStart) { // deselect towards bottom
+ for(int l = _selectionEnd; l < curRow; l++) {
+ _lines[l]->setSelected(false);
+ }
+ } else if(curRow < _selectionEnd && curRow >= _selectionStart) {
+ for(int l = _selectionEnd; l > curRow; l--) {
+ _lines[l]->setSelected(false);
+ }
+ } else if(curRow < _selectionEnd && curRow < _selectionStart) {
+ for(int l = _selectionEnd - 1; l >= curRow; l--) {
+ _lines[l]->setSelected(true, minColumn);
+ }
+ }
+ _selectionEnd = curRow;