Eclipse, собственный TreeViewer с атрибутами файлов в Project Explorer View
Я пишу Eclipse плагин. Одной из многих функций является создание дерева с файловыми атрибутами, как у файлов .java (если вы нажмете на файл.java в Eclipse, вы сможете увидеть весь список, какие классы или методы имеют этот файл).
Я могу создать это дерево с отдельным представлением, это не проблема (у меня есть данные, я использую TreeViewer и все отлично работает), но теперь я должен создать это дерево в Project Explorer View, и я не знаю как.
Может быть, я должен написать, потому что это не очевидно. Это дерево будет отображаться не с файлом.java, а с файлом .txt.
Так что читайте об этом. Что я знаю сейчас:
- У меня должна быть точка расширения org.eclipse.ui.decorators. У меня это уже есть
- Мой класс должен расширять LabelProvider реализует ILightweightLabelDecorator. Это уже есть
Также я могу получить доступ к уже выбранным файлам, проектам, папкам (используя метод decorate()). Я могу добавить префикс / суффикс к уже выбранному файлу, добавить значки в файл, но...
Я не вижу каких-либо методов, которые дают мне возможность добавлять какие-либо атрибуты в файл.
Не могли бы вы помочь мне, дав какие-нибудь ссылки или небольшой пример кода с этой проблемой?
Я буду благодарен. Спасибо
2 ответа
Вы должны использовать точки расширения для предоставления контента, а не меток, так же, как ваши существующие деревья (будем надеяться) используют поставщиков контента для этих деталей. Начните с http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/guide/cnf.htm.
nitind имеет право, если кто-то хочет реализовать схему с помощью Project Explorer, используйте Common Navigator Framework.
Вот просто примеры, написанные создателем этого фреймворка, как это сделать:
http://scribbledideas.blogspot.com/2006/05/building-common-navigator-based-viewer.html // создать представление
http://scribbledideas.blogspot.com/2006/05/building-common-navigator-based-viewer_22.html // создать схему
Просто попробуйте скопировать этот пример в свой проект.
Спасибо нитинду за совет.