Как обновить проводник пакетов вручную (Настройки) - PullRequest
2 голосов
/ 08 марта 2011

Я добавил пользовательский LabelDecorator в Eclipse 3.6, который заменяет загадочные имена пользователей, добавленные текстовыми украшениями команды SVN. SVN Team Decorator позволяет добавлять тег автора. Я добавил еще один Декоратор, заменив эти строки авторов (которые являются краткими именами компаний для чисел) фактическим именем пользователя.

В то время как SVN Team Text Decorations расширяет возможности Package Explorer:

... com.company.package · XY9723 · [30.02.11 19:11]

Я заменяю это на

... com.company.package · Neil Diamond · [30.02.11 19:11]

Теперь, чтобы завершить миссию, я добавил страницу настроек, где пользователи могут указывать атрибуты (имя, имя, дату рождения, название компании, телефон и т. Д.), Которые следует использовать в качестве замены. Я бы хотел обновлять проводник пакетов (или когда команда sree svn украшает ресурсы) новыми атрибутами при каждом нажатии «Применить» или «Ок». В настоящий момент ресурсы обновляются только после того, как вы нажали «Применить» или «Ок» и , чтобы вручную свернуть / развернуть один из ресурсов в проводнике.

Есть ли какое-нибудь событие, которое я мог бы запустить?

1 Ответ

3 голосов
/ 13 марта 2011

Использование интерфейса IDecorationManager:

IWorkbench workbench = ...;
IDecoratorManager manager = workbench.getDecoratorManager();

внутри страниц предпочтений LabelProvider:

ILabelDecorator decorator = manager.getLabelDecorator("com.plugin.mydecorator");
if(decorator != null){ // decorator is enabled
    LabelProviderChangedEvent event = new LabelProviderChangedEvent(demoDecorator);
    // update specific resources
    fireLabelEvent(event, arrayOfResourceToUpdate);

    // or update all resources
    fireLabelEvent(event);
}

-> см. Понимание декораторов

без LabelProvider

manager.update("com.plugin.mydecorator");

-> см. DecoratorManager.java

...