如何手动更新包资源管理器(首选项)

时间:2011-03-08 10:06:22

标签: eclipse rcp workbench

我在Eclipse 3.6中添加了一个自定义LabelDecorator,它取代了SVN Team Text Decorations添加的神秘用户名。 SVN Team Decorator允许您添加作者标签。我做的是添加另一个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]

现在,为了完成任务,我添加了一个首选项页面,用户可以在其中指定属性(姓名,姓名,出生日期,公司名称,电话等),这些属性应作为替代。每当按下“Apply”或“Ok”时,我想用新选择的属性更新包浏览器(或者svn团队装饰ressources)。 目前只有在您按下“应用”或“确定”后才更新资源手动折叠/展开资源管理器中的一个资源。

我可以解雇一些事件吗?

1 个答案:

答案 0 :(得分:3)

使用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);
}

- >见Understanding Decorators

没有LabelProvider

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

- >见DecoratorManager.java