Отправляет email-рассылки с помощью сервиса Sendsay

[prg] Получение текста из редактора в аддоне NVDA

Всем доброго времени суток!

Подскажите, пожалуйста, как в аддоне NVDA можно получить текущее
смещение позиции каретки относительно начала текстового редактора под
курсором?

Это нужно для вычлинения слова/предложения/абзаца на котором стоит
курсор. Но, если это можно сделать проще и красивее, я буду только рад!

P.S. Если по этому или любому другому моменту разработки аддонов NVDA
есть документация/статья, то дайте на нее ссылку, пожалуйста. Т.к.
начальный гайд
https://github.com/nvdaaddons/DevGuide/wiki/NVDA-Add-on-Development-Guide
и функция help в python консоли несут очень ограниченную информацию.

Ответить   Wed, 7 Aug 2019 01:04:24 +0500 (#3626137)

 

Ответы:

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, это самая лучшая документация.

Ответить   Wed, 7 Aug 2019 06:35:54 +0800 (#3626147)