У меня есть редактор MyEditor
, который расширяет AbstractDecoratedTextEditor
. В eclipse я могу открыть много файлов MyEditor
. Каждый файл представляет собой экземпляр MyEditor
. Когда я нажимаю на вкладке, чтобы изменить файл, мне нужно выполнить те же действия экземпляра (файла), который откроется. То есть, мне нужно добавить слушателя в MyEditor
, чтобы узнать, когда экземпляр (файл) стал активным.Добавление активного прослушивателя в AbstractDecoratedTextEditor
0
A
ответ
1
Вы можете использовать org.eclipse.ui.IPartListener
, чтобы прослушать изменения деталей.
IPartService partService = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService();
partService.addPartListener(listener);
Метод слушателя
public void partActivated(IWorkbenchPart part)
будет вызываться, когда часть активирована, так что вы проверить здесь для вашего редактора.
Ваш редактор является экземпляром IWorkbenchPart
, так что вы в `partActivated вы можете просто использовать
if (part instanceof MyEditor)
{
MyEditor editor = (MyEditor)part;
... check which file this editor is editing
... and do action if it is the required file
}
Смежные вопросы
- 1. Добавление формы пользовательского интерфейса eclipse в AbstractDecoratedTextEditor
- 2. Добавление прослушивателя действий в JButton
- 3. Добавление прослушивателя в ListView
- 4. добавление прослушивателя событий
- 5. Добавление прослушивателя кликов в FloatingActionsMenu
- 6. Добавление прослушивателя событий в iframe
- 7. Добавление прослушивателя событий в listView
- 8. Добавление кнопки прослушивателя в ArrayList
- 9. Добавление прослушивателя клавиш в JtextArea
- 10. Добавление прослушивателя событий в JFrame
- 11. Добавление прослушивателя событий в массив
- 12. Добавление активного User_id в заголовок
- 13. добавление прослушивателя действий к JComboBox
- 14. Добавление прослушивателя событий на холст
- 15. Добавление прослушивателя действий к изображению
- 16. Добавление прослушивателя в VerticalScrollBar в flex
- 17. Добавление и удаление активного класса
- 18. Добавление прослушивателя событий в плагин CKEDITOR
- 19. Добавление прослушивателя событий в кисть d3
- 20. добавление пользовательского прослушивателя событий в as3
- 21. Добавление прослушивателя действий в JOptionsPane w/JTextFields
- 22. Добавление прослушивателя клавиш в Action Script 3
- 23. Добавление прослушивателя событий в несколько comboboxes
- 24. VB.NET: добавление прослушивателя в столбец флажка
- 25. Добавление прослушивателя окон в WPF-окно?
- 26. Добавление прослушивателя событий в тег HTML span
- 27. Добавление прослушивателя событий прослушивания в Pushpin
- 28. Добавление прослушивателя событий в заголовок диалогового окна
- 29. AS3, Добавление прослушивателя событий в класс конструктора?
- 30. Настройка текста и добавление прослушивателя в android
Im пытается addPartListener по методу initializeEditor из AbstractDecoratedTextEditor. Но когда какой-то файл становится активным, все файлы запускают partActivated. Например, если у меня есть 4 файла в MyEditor и 1 файл становится активным, partActivated выполнялся 4 раза, по одному на файл. Я делаю что-то неправильно? Thx – computered
Если у вас есть четыре редактора, которые открывают все прослушивания со своим собственным IPartListener, вы получите четыре вызова partActivated. Если вам нужен только один звонок, вам нужно организовать, чтобы слушатель добавлялся только один раз. –
Если я добавлю только прослушиватель file1.txt и откройте его в MyEditor, partActivated был выполнен в file1.txt. Но если я открываю file2.txt и file3.txt без прослушивателя в MyEditor, всегда выполняется исполнитель файла file1.txt, даже если файл1.txt не был активирован. Возможно, мне нужно добавить слушателя для всех, но нужно проверить внутри partActivated, если файл действительно активен. Но как? Thx – computered