Skip to main content

Метод Position::getCurrentRange

Метод возвращает диапазон, в котором находится текущая позиция. Размер диапазона зависит от выбранной единицы текста.

Вызов​


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

Параметры​

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

Возвращает​

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

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


Position docBegin = document.getRange().getBegin();
Range sentence = docBegin.getCurrentRange(TextUnit::Sentence).get();
Range word = docBegin.getCurrentRange(TextUnit::Word).get();
Range character = docBegin.getCurrentRange(TextUnit::Character).get();

std::printf("%s", sentence.extractText().c_str());
// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
std::printf("%s", word.extractText().c_str()); // Lorem
std::printf("%s", character.extractText().c_str()); // L

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


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

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