2016-08-07 3 views
0

В настоящее время я пишу плагин для Eclipse IDE. В этом плагине я определил свой собственный маркер ресурса (IMarker). Использование стандартного Eclipse означает, что кнопки «Следующая аннотация»/«Предыдущая аннотация» позволяют пользователю перемещаться между этими маркерами. Я также написал представление, которое показывает некоторую подробную информацию для одного маркера. Это представление обновляется, когда пользователь переходит к маркеру. Могу ли я зарегистрировать какой-то прослушиватель/наблюдатель, который будет уведомлен, когда пользователь выбирает/переходит к маркеру? Если да, то как? Если нет, то каковы мои альтернативы?Получать уведомление, когда пользователь перескакивает на маркер (аннотация) в Eclipse

ответ

1

Действие следующей аннотации заканчивается вызовом метода ITextEditorExtension4.gotAnnotation. Обычно для этого используется значение AbstractTextEditor. Это просто вызывает находку аннотации и вызывает метод selectAndReveal.

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

+0

Это не работает так, как я этого хочу. Я получаю события таким образом, но они имеют тип 'TextSelection', и я не нашел способа определить, вызвано ли это вызванным пользователем пользователем маркером или другим изменением выбора. –

+0

Вы не можете сказать, насколько я вижу, это лучшее, что можно сделать. –

Смежные вопросы