我想在我的eclipse(e4)应用程序中使用Label Decorator。
ILabelDecorator decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator("MyPlug-In-Id");
TableDecoratingLabelProvider lp = new TableDecoratingLabelProvider(new LabelProvider(), decorator);
structuredViewer.setLabelProvider(new DecoratingLabelProvider(lp, decorator));
不幸的是,PlatformUI.getWorkbench()
会在e4上抛出IllegalStateException: Workbench has not been created yet.
。据我了解,这是因为此方法仅在e3中有效。但是,如何在e4中显示项目装饰?
非常感谢任何帮助,提前谢谢!
答案 0 :(得分:1)
您无法在e4应用程序中执行此操作。 3.x工作台在e4应用程序中不可用,并且不支持org.eclipse.ui.decorators
标签装饰器扩展点。
您可以使用JFace装饰器类,例如DecoratingLabelProvider
和DecoratingStyledCellLabelProvider
,但您必须重新修改装饰器才能使用ILabelDecorator
。