如何从Activator中访问工具栏项(org.eclipse.swt.widgets.ToolItem)?

时间:2011-06-02 16:10:33

标签: multithreading eclipse plugins toolbar activator

我正在实现一个简单的eclipse通知插件,如果发生某种性质的事情,应该更改工具栏中的图标。我对org.eclipse.ui.menus进行了扩展,图标显示得非常好。

我想在Activator中启动一个轮询线程,让它每隔几分钟进行轮询并相应地更改图标。

线程必须能够访问ToolItem才能调用setImage()。如何访问ToolItem以将其传递给Thread?

干杯

1 个答案:

答案 0 :(得分:2)

您的处理程序必须实现org.eclipse.ui.commands.IElementUpdater。它可以调用org.eclipse.ui.menus.UIElement.setIcon(ImageDescriptor)。当您需要更新图像时,可以调用org.eclipse.ui.commands.ICommandService.refreshElements(String, Map)来触发刷新和对处理程序的调用。