RCP 开发中去掉系统默认的菜单项和工具项

//隐藏掉系统中的默认的菜单和工具项

public static void hideSystemMenu() {
  IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
  page.hideActionSet("org.eclipse.ui.WorkingSetActionSet");
  page.hideActionSet("org.eclipse.ui.edit.text.actionSet.annotationNavigation");
  page.hideActionSet("org.eclipse.ui.edit.text.actionSet.navigation");
  page.hideActionSet("org.eclipse.search.searchActionSet");
 }


----------------------------------

//把该方法在postWindowOpen()中调用 一下就ok了,如果是多个透视图的情况,在透视图转换后调用一下该方法就ok了

透视图转换的操作:

public static void switchPerspective(String perspectiveID) {;//perspectiveID 是对应的透视图的ID,是自定义的
  IPerspectiveRegistry reg = PlatformUI.getWorkbench().getPerspectiveRegistry();
  IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
  page.setPerspective(reg.findPerspectiveWithId(perspectiveID));//从新设置透视图,根据透视图ID
 //隐藏到系统的默认菜单项

  hideSystemMenu();
 }


-----------------------------------

其实,隐藏菜单项和工具项也可以通过配置实现,而不是直接像上面硬编码的方式:

对org.eclipse.ui.perspectiveExtensions 透视图扩展点进行扩展:

在perspectiveExtension项下可以选择hiddenMenuItem、hiddenToolBarItem进行相应的隐藏操作。

---

猜你喜欢

转载自niub.iteye.com/blog/1787597