2016-01-21 34 views
1

我想實現如下:根據Eclipse插件中的視圖的可見性使菜單項可見?

在我的Eclipse插件我有一個菜單項(通過添加一個命令到plugin.xml和處理程序類實現)。按下條目會觸發一些依賴於視圖中顯示的數據(也由插件提供)的動作。

現在,如果視圖已關閉,則無法完成操作。因此,我認爲當視圖不可見時禁用菜單條目將會是一種很好的風格。

我發現this article它描述瞭如何禁用/啓用菜單,但我不知道如何將它與視圖的可見性結合起來。

有人可以幫忙嗎?

編輯:我用不同的方式解決了我的問題。 http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fworkbench_cmd_expressions.htm

回答

1

使用

<with variable="activePartId"> 
    <equals value="part id"/> 
</with> 

在 'enabledWhen', 'activeWhen' 或 'visibleWhen' 表達(:但Greg的答案通常可以解決這個問題,同時也作爲Eclipse官方文檔中所述具體取決於你使用表達式的地方)。

例如選擇在「工程資源管理器」是活動:

<with variable="activePartId"> 
    <equals value="org.eclipse.ui.navigator.ProjectExplorer"/> 
</with> 
+0

可悲的是,我沒有工作。我正確的activePartId必須留下來,我必須替換value =「」的視圖的id我想我的菜單項的狀態依賴?我這樣理解。 enabledWhen和activeWhen使條目處於活動狀態,無論發生在我想依賴的視圖上的情況如何,並且使用visible,都會導致條目_not_無論如何顯示。 –