Метод 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.