2

我在 Eclipse 3.6 中添加了一个自定义 LabelDecorator,它替换了 SVN 团队文本装饰添加的神秘用户名。SVN 团队装饰器允许您添加作者标签。我所做的是添加另一个装饰器,用用户的实际名称替换这些作者字符串(它们是公司特定的短名称,带有数字)。

而 SVN 团队文本装饰扩展包资源管理器:

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

我将其替换为

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

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

有什么我可以触发的事件吗?

4

1 回答 1

2

使用 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

于 2011-03-13T19:49:42.487 回答