| 399 | } |
| 400 | |
| 401 | void TextIterator::insert(UString::utf32string::iterator& _start, const UString::utf32string& _insert) |
| 402 | { |
| 403 | // сбрасываем размер |
| 404 | mSize = ITEM_NONE; |
| 405 | // записываем в историю |
| 406 | if (mHistory) |
| 407 | mHistory->push_back(TextCommandInfo(_insert, _start - mText.begin(), TextCommandInfo::COMMAND_INSERT)); |
| 408 | // запоминаем позицию итератора |
| 409 | size_t pos = _start - mText.begin(); |
| 410 | size_t pos_save = (mSave == mEnd) ? ITEM_NONE : _start - mText.begin(); |
| 411 | // непосредственно вставляем |
| 412 | mText.insert(_start, _insert.begin(), _insert.end()); |
| 413 | // возвращаем итераторы |
| 414 | _start = mText.begin() + pos; |
| 415 | mEnd = mText.end(); |
| 416 | (pos_save == ITEM_NONE) ? mSave = mEnd : mSave = mText.begin() + pos_save; |
| 417 | } |
| 418 | |
| 419 | UString::utf32string::iterator TextIterator::erase( |
| 420 | UString::utf32string::iterator _start, |
no test coverage detected