Eclipse RCP应用程序Active Title Bar

时间:2017-05-29 09:18:22

标签: java eclipse eclipse-plugin eclipse-rcp rcp

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

我在一个扩展“ WorkbenchWindowAdvisor ”的类中设置RCP应用程序标题,如下所示:

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

但是我需要在标题栏中显示透视名称和打开的文件路径,就像在正常的日食中一样:

Image of Eclipse title bar showing perspective and recent opened file name

任何建议

由于

1 个答案:

答案 0 :(得分:1)

这需要在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