我正在实现一个简单的eclipse通知插件,它应该在发生某种性质的事情时更改工具栏中的图标。我对org.eclipse.ui.menus进行了扩展,图标显示得很好。
我想在Activator中启动一个轮询线程,每隔几分钟轮询一次,并相应地更改图标。
线程必须有权访问ToolItem才能调用setImage()。如何访问ToolItem以将其传递给线程?
您的处理程序必须实现org.eclipse.ui.commands.IElementUpdater
。它可以调用org.eclipse.ui.menus.UIElement.setIcon(ImageDescriptor)
。当您需要更新图像时,您可以调用org.eclipse.ui.commands.ICommandService.refreshElements(String, Map)
来触发刷新和对处理程序的调用。