| 273 | } |
| 274 | |
| 275 | void Selection::TrimSelection(SelectionRange range) { |
| 276 | for (size_t i=0; i<ranges.size();) { |
| 277 | if ((i != mainRange) && (ranges[i].Trim(range))) { |
| 278 | // Trimmed to empty so remove |
| 279 | for (size_t j=i; j<ranges.size()-1; j++) { |
| 280 | ranges[j] = ranges[j+1]; |
| 281 | if (j == mainRange-1) |
| 282 | mainRange--; |
| 283 | } |
| 284 | ranges.pop_back(); |
| 285 | } else { |
| 286 | i++; |
| 287 | } |
| 288 | } |
| 289 | } |
| 290 | |
| 291 | void Selection::SetSelection(SelectionRange range) { |
| 292 | ranges.clear(); |
no test coverage detected