Java Eclipse RCP应用程序活动标题栏

Java Eclipse RCP应用程序活动标题栏,java,eclipse,eclipse-plugin,eclipse-rcp,rcp,Java,Eclipse,Eclipse Plugin,Eclipse Rcp,Rcp,我在一个类似于Eclipse的RCP应用程序中工作,用户可以在ProjectExplorer树中导航并在编辑器中打开任何文件 我正在扩展“WorkbenchWindowVisor”的类中设置RCP应用程序标题,如下所示: 但是我需要在标题栏中显示透视图名称和打开的文件路径,就像在普通eclipse中一样: 有什么建议吗 谢谢这需要在您的工作台上收听大量事件 在preWindowOpen方法中,您需要为以下内容添加侦听器: 使用configurer.getWindow().addPageLis

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

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

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

有什么建议吗


谢谢

这需要在您的工作台上收听大量事件

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

  • 使用
    configurer.getWindow().addPageListener(listener)
    激活页面和关闭页面需要更新标题
  • 使用
    configurer.getWindow().addPerspectiveListener(listener)
    更改透视图。
    perspectiveActivated
    perspectiveSavedAs
    perspectiveDeactivated
    方法需要更新标题
  • 使用
    configurer.getWindow().getPartService().addPartListener(listener)
    激活部件。这需要使用
    IPartListener2
    partActivated
    partBroughtToTop
    partClosed
    partHidden
    partVisible
    方法需要更新标题
您可以从活动编辑器获取打开的文件路径:

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

它可以工作(Y)!非常感谢
IPerspectiveDescriptor persp = currentPage.getPerspective();
if (persp != null) {
    label = persp.getLabel();
}