Как получать события мыши и клавиатуры и переопределять поведение по умолчанию для Eclipse ITextEditor? - PullRequest
3 голосов
/ 28 января 2011

Я хотел бы создать плагин Eclipse, который имитирует поведение текстового редактора vi.Это потребует изменения способа обработки событий мыши и клавиатуры.Так, например, если пользователь нажимает «h» в обычном режиме, курсор должен двигаться влево, а не вставлять символ «h» в текстовый буфер.Я нашел старое сообщение в списке рассылки , которое описывает, как прослушивать изменения в документе и изменения в презентации, но ничего, что описывает, как перехватывать события клавиатуры и мыши низкого уровня, чтобыповедение по умолчанию может быть переопределено.Каков наилучший способ сделать это?

1 Ответ

1 голос
/ 07 июля 2011

Одной из идей будет для конкретного активного текстового редактора, который вы хотели бы получить низкоуровневый виджет StyledText, который отображает фактический текст, а также принимает ввод с клавиатуры и добавляет туда KeyListener.

AbstractTextEditor textEditor = ...
ITextViewer viewer = textEditor.getSourceViewer();
StyledText textWidget = viewer.getTextWidget();
textWidget.addKeyListener(...);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...