2012-03-20 1 views
1

Я разрабатываю плагин для затмения, и я хочу добавить некоторые действия в контекстное меню. Но на самом деле я хотел подготовить предварительные результаты в соответствии с выбором текста в редакторе и просто показать их, когда будет выбран пункт меню. Я следил за этой статьей http://www.eclipse.org/articles/Article-WorkbenchSelections/article.html - все интерфейсы (ISelectionListener, ISelectionChangedListener и т. Д.) Позволяют обрабатывать событие SelectionChanged, но количество редакторов изменяется только тогда, когда изменяется длина выбора, поэтому простой щелчок в редакторе не запускает событие, хотя я захотите получить слово (например) в качестве выбора, если курсор находится внутри слова now, а длина равна 0.Получить уведомление, когда позиция курсора изменилась в Eclipse TextEditor

Итак, вопрос в том, что является самым простым решением для перемещения курсора вниз по курсу/смещению/выборам с нулевой длиной изменение стоимости?

ответ

1

В этом случае вам также необходимо использовать KeyListener и MouseListener. Например, посмотрите на org.eclipse.jface.text.PaintManager и он прослушивает все эти события.

+0

Спасибо за ответ. Не удалось найти, где я могу добавить только своих слушателей для клавиш и мышей в редактор. Кажется, расширение и замена редактора по умолчанию - самый простой способ. – Ritro

0

Если вы расширяете TextEditor вы можете переопределить handleCursorPositionChanged() метод, чтобы огонь ваше мероприятие и использовать getCursorPosition(), чтобы получить позицию курсора в качестве String.

+0

укажите, какие причины и почему вы предложили этот ответ. И читайте FAQ, чтобы узнать, как дать ответы соответствующим образом. – Hamad

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