2010-03-24 96 views
3

我在coolbar中有一个菜单下拉操作。它有3个子项目组成一个无线电组。我想在用户选择其中一个选项时更改冷却栏中显示的图标。以编程方式更改eclipse RCP命令的图标

我GOOGLE了,看到我应该看看: org.eclipse.ui.commands.ICommandService.refreshElements(字符串,地图) 和 org.eclipse.ui.commands.IElementUpdater

其可能是正确的事情来看看它没有足够的信息的例外。一两个小代码片段将非常出色。

在此先感谢。

回答

4

好基本上,如果你不希望使用“自定义”控制做什么是让你的处理器(处理器链接到特定的命令)实现IElementUpdater。当每个工具栏项目被显示或点击时(即如果用户在单选按钮上选择)方法:updateElement(UIElement元素,Map参数)被调用。 元素有一个setIcon()方法,这是我用来更改菜单下拉动作的图标。

+0

非常有趣的反馈。谢谢。 +1 – VonC 2010-03-25 20:08:42

3

Coolbar的每次更新都指向specialization of the WorkbenchWindowControlContribution class

bug 186800中有一些代码示例,可以是兴趣。

+0

感谢这个...但我发现了一个办法做到这一点,而无需通过workbenchWindowControlContribution创建自己的控制......虽然我打算在将来,当我需要添加不同类型的使用这种用于部件到工具栏/ coolbar ... – Craig 2010-03-25 20:05:39