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条目... –