0
由於從Eclipse 3.0遷移到4.4,有必要隱藏不必要的菜單條目,如「打開文件」和「密鑰幫助」。Eclipse RCP:Action「RESET_PERSPECTIVE」顯示先前隱藏的菜單條目
我在我的postWindowOpen
方法
public void postWindowOpen(IWorkbenchWindowConfigurer configurer)
{
IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
for(int i = 0; i < windows.length; ++i)
{
IWorkbenchPage page = windows[i].getActivePage();
if(page != null)
{
page.hideActionSet("org.eclipse.ui.actionSet.keyBindings");
page.hideActionSet("org.eclipse.ui.actionSet.openFiles");
}
}
}
能正常工作至今調用hideActionSet
隱藏這些。但是,當重新安排我的觀點,然後重新設定觀點,然後改變到另一個觀點時,不必要的菜單條目再次出現。
我試着通過在我的perspectiveActivated
和perspectiveChanged
方法中調用相同的代碼來解決此問題。已達到方法hideActionSet
,但它們沒有效果。
下面是這兩種方法:
public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective)
{
if(perspective.getId().equals(m_PerspektivenID) || m_PerspektivenID.equals(STANDARDAKTION))
{
setEnabled(true);
}
else
{
setEnabled(false);
}
if(page != null)
{
page.hideActionSet("org.eclipse.ui.actionSet.keyBindings");
page.hideActionSet("org.eclipse.ui.actionSet.openFiles");
}
}
public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId)
{
if(changeId.equals(IWorkbenchPage.CHANGE_RESET_COMPLETE))
{
if(page != null)
{
page.hideActionSet("org.eclipse.ui.actionSet.openFiles");
page.hideActionSet("org.eclipse.ui.actionSet.keyBindings");
}
}
}
你可以看看使用'org.eclipse.ui.activities'擴展點隱藏的東西,而不是代碼。 –
謝謝。我嘗試了這種方法,我可以隱藏一些菜單條目,比如我的應用程序使用模式「。*」的about對話框。當我使用「org.eclipse.ui.actionSet.openFiles」模式時,它不會隱藏在重置和更改透視圖後突然出現的開放式menue條目... –