Eclipse, собственный TreeViewer с атрибутами файлов в Project Explorer View

Я пишу Eclipse плагин. Одной из многих функций является создание дерева с файловыми атрибутами, как у файлов .java (если вы нажмете на файл.java в Eclipse, вы сможете увидеть весь список, какие классы или методы имеют этот файл).

Я могу создать это дерево с отдельным представлением, это не проблема (у меня есть данные, я использую TreeViewer и все отлично работает), но теперь я должен создать это дерево в Project Explorer View, и я не знаю как.
Может быть, я должен написать, потому что это не очевидно. Это дерево будет отображаться не с файлом.java, а с файлом .txt.

Так что читайте об этом. Что я знаю сейчас:

  1. У меня должна быть точка расширения org.eclipse.ui.decorators. У меня это уже есть
  2. Мой класс должен расширять LabelProvider реализует ILightweightLabelDecorator. Это уже есть

Также я могу получить доступ к уже выбранным файлам, проектам, папкам (используя метод decorate()). Я могу добавить префикс / суффикс к уже выбранному файлу, добавить значки в файл, но...

Я не вижу каких-либо методов, которые дают мне возможность добавлять какие-либо атрибуты в файл.

Не могли бы вы помочь мне, дав какие-нибудь ссылки или небольшой пример кода с этой проблемой?

Я буду благодарен. Спасибо

2 ответа

Решение

Вы должны использовать точки расширения для предоставления контента, а не меток, так же, как ваши существующие деревья (будем надеяться) используют поставщиков контента для этих деталей. Начните с http://help.eclipse.org/luna/topic/org.eclipse.platform.doc.isv/guide/cnf.htm.

nitind имеет право, если кто-то хочет реализовать схему с помощью Project Explorer, используйте Common Navigator Framework.

Вот просто примеры, написанные создателем этого фреймворка, как это сделать:

  1. http://scribbledideas.blogspot.com/2006/05/building-common-navigator-based-viewer.html // создать представление

  2. http://scribbledideas.blogspot.com/2006/05/building-common-navigator-based-viewer_22.html // создать схему

Просто попробуйте скопировать этот пример в свой проект.

Спасибо нитинду за совет.

Другие вопросы по тегам