Skip to main content

Метод Position::getNextRange

Метод возвращает диапазон, который расположен после текущего диапазона. Размеры текущего и следующего диапазонов зависят от выбранной единицы текста. Если выбранная единица текста отлична от Paragraph, то работа метода Position::getNextRange ограничена текущим абзацем.

Вызов​


boost::optional<Range> getNextRange(TextUnit textUnit)

Параметры​

  • textUnit: единица текста, определяющая размеры диапазонов, тип TextUnit.

Возвращает​

  • следующий диапазон документа, тип Range.

Пример для текстового документа​


Position docBegin = document.getRange().getBegin();
Range nextSentence = docBegin.getNextRange(TextUnit::Sentence).get();
Range nextWord = docBegin.getNextRange(TextUnit::Word).get().getBegin().getNextRange(TextUnit::Word).get();
Range nextCharacter = docBegin.getNextRange(TextUnit::Character).get();

std::printf("%s", nextSentence.extractText().c_str());
// Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
std::printf("%s", nextWord.extractText().c_str()); // ipsum
std::printf("%s", nextCharacter.extractText().c_str()); // o

Пример для табличного документа​


Table sheet = document.getBlocks().getTable(0).get();
Cell cell = sheet.getCell("B2");
Position cellBegin = cell.getRange().getBegin();
Range sentence = cellBegin.getNextRange(TextUnit::Sentence).get();

std::printf("%s", sentence.extractText().c_str()); // Second sentence.