2010-03-24 95 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