[prg] Получение текста из редактора в аддоне NVDA
Всем доброго времени суток!
Подскажите, пожалуйста, как в аддоне NVDA можно получить текущее
смещение позиции каретки относительно начала текстового редактора под
курсором?
Это нужно для вычлинения слова/предложения/абзаца на котором стоит
курсор. Но, если это можно сделать проще и красивее, я буду только рад!
P.S. Если по этому или любому другому моменту разработки аддонов NVDA
есть документация/статья, то дайте на нее ссылку, пожалуйста. Т.к.
начальный гайд
https://github.com/nvdaaddons/DevGuide/wiki/NVDA-Add-on-Development-Guide
и функция help в python консоли несут очень ограниченную информацию.
07.08.2019 Вадим Шмаков пишет:
# Получаем объект содержащий системную каретку
# или treeInterceptor (экземпляр виртуального буфера) если активен режим
обзора
obj = api.getCaretObject()
# Создаём экземпляр TextInfo для нашего объекта с кареткой
# POSITION_CARET указывает, что смещение начала и конца текста должно
быть таким же как и смещение каретки или курсора виртуального буфера
режима обзора
info = obj.makeTextInfo(textInfos.POSITION_CARET)
# Меняем смещение начала и конца текста по границам слова
# Константы textInfos.UNIT_* позволяют выполнить смещения для символа,
строки, предложения и т. д.
info.expand(textInfos.UNIT_WORD)
# Получаем искомое слово
info.text
Читайте исходный код NVDA, это самая лучшая документация.