【发布时间】:2012-04-03 17:28:08
【问题描述】:
这里有人知道如何删除资源上的特定装饰器吗?我将org.eclipse.ui.decorators 扩展到我的项目并创建了一个实现ILightweightLabelDecorator 的类。在装饰器类中,我在调用decorator.addOverlay() 之前测试了条目是否是项目和其他测试。我没有实现其他功能,例如removeListener、isLabelProperty、dispose、addListener,因为我目前没有看到使用。
任何关于如何进行的想法、资源和评论都会有很大帮助。
代码:装饰器函数
QualifiedName decorator = new QualifiedName("decorator", "value");
if (element instanceof IProject) {
IProject res = (IProject) element;
if (!res.isOpen()) {
return;
}
String val = null;
try {
val = res.getPersistentProperty(decorator);
} catch (CoreException e) {
e.printStackTrace();
}
if (val != null && val.equals(DecoratorState.ACTIVE)) {
decoration.addOverlay(ImageDescriptor.createFromFile(MyDecorator.class,
"/icons/sample.gif"), IDecoration.BOTTOM_RIGHT);
decoration.addSuffix(" [Using Enhancement]");
}
}
【问题讨论】:
标签: java eclipse eclipse-plugin eclipse-rcp