Подключаемый модуль GNAT GPS: получение выбранной линии в Locations

Я делаю подключаемый модуль Python для GNAT GPS IDE.

Он использует окно Locations для отображения сообщений пользователю, поэтому выделяет строку файла, как это делают ошибки. Я использую GPS.Locations.parse() для добавления такой информации, документация (несколько туманная): здесь.

Затем пользователь мог выбрать строку в коде или в окне «Местоположение» для выполнения действия.

Получить строчку из открытого файла совсем несложно. Но одна вещь, которая все еще ускользает от меня, - это то, как я могу узнать, какую строку из окна Locations выбирает пользователь. Я попробовал GPS.MDI.get("Locations"), который привел меня к лабиринту детских окон. Я потерялся.

Итак, как я могу получить текст из текущей выбранной строки в Locations?

Редактировать

По-видимому, есть MessageContext, который даст мне то, что я хочу, но я получаю сообщение об ошибке, что такого класса нет, даже если окно имеет фокус. Итак, я выяснил, что класс не был создан.

AttributeError: 'module' object has no attribute 'MessageContext'

person Pedro Witzel    schedule 03.05.2015    source источник


Ответы (1)


Я только сейчас видел эту ветку. Вы должны вызвать GPS.current_context (), который вернет экземпляр GPS.Context или одного из его дочерних классов. В этом случае вы, вероятно, можете использовать GPS.current_context (). File ()

Похоже, что вы хотите создать запись в контекстном меню в окне Locations. Взгляните на ловушку gps_utils.interactive. Он превращает функцию Python в действие GPS. Затем это действие можно привязать к определенному контекстному меню, привязке клавиш, меню, кнопке панели инструментов, ... Вы также можете связать с ним фильтр, чтобы контекстное меню также отображалось при применении действия (и для реализации этот фильтр, вы используете указанный выше GPS.current_context (). file ()

person manuBriot    schedule 17.07.2015