Eclipse RCP 应用程序活动标题栏

Eclipse RCP application Active Title Bar

我在类似于 Eclipse 的 RCP 应用程序中工作,用户可以在其中导航 Project Explorer 树并在编辑器中打开任何文件

我正在 class 中设置 RCP 应用程序标题,它扩展了“WorkbenchWindowAdvisor”,如下所示:

  IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
  configurer.setTitle("My RCP Application title");

但是我需要在标题栏中显示的内容 透视名称和打开的文件路径 就像在普通 eclipse 中一样:

任何建议

谢谢

这需要在您的 WorkbenchWindowAdvisor 中监听大量事件。

preWindowOpen 方法中,您需要为以下对象添加侦听器:

  • 使用 configurer.getWindow().addPageListener(listener) 激活和关闭页面 pageActivatedpageClosed 侦听器方法需要更新标题。
  • 使用 configurer.getWindow().addPerspectiveListener(listener) 改变视角。 perspectiveActivatedperspectiveSavedAsperspectiveDeactivated 方法需要更新标题。
  • 部分激活使用 configurer.getWindow().getPartService().addPartListener(listener)。这需要使用一个IPartListener2partActivatedpartBroughtToToppartClosedpartHiddenpartVisible方法需要更新标题。

您从活动编辑器中获取打开的文件路径:

IWorkbenchPage currentPage = configurer.getWindow().getActivePage();
IEditorPart activeEditor = currentPage.getActiveEditor();
if (activeEditor != null) {
   path = activeEditor.getTitleToolTip();
}

和透视名称:

IPerspectiveDescriptor persp = currentPage.getPerspective();
if (persp != null) {
    label = persp.getLabel();
}

完整的、甚至更复杂的代码在 org.eclipse.ui.internal.ide.application.IDEWorkbenchWindowAdvisor