这是需要听你WorkbenchWindowAdvisor很多事件。
在preWindowOpen
方法,你需要添加监听器:
- 页面激活和使用
configurer.getWindow().addPageListener(listener)
的pageActivated
和pageClosed
侦听器方法关闭需要更新的标题。
- 透视更改使用
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
It Works(Y)! 非常感谢 –