PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener(
new IPartListener2() {
private Stack<IWorkbenchPartReference> partStack = new Stack<IworkbenchPartReference>();
public void partOpened(IWorkbenchPartReference ref) {
partStack.push(ref);
}
public void partClosed(IWorkbenchPartReference ref) {
partStack.pop(ref);
}
/* you'll need to implement or stub out the other methods of IPartListener2 */
public void partActivated(IWorkbenchpartReference ref) {}
public void partDeactivated(IWorkbenchpartReference ref) {}
/* etc */
}
);
1条答案
按热度按时间x6h2sr281#
有一些迹象表明here不能直接从API中得到想要的。
但这样如何:向页面的IPartService注册IPartListener(或者更好的是IPartListener2)。然后你应该得到半开半闭的消息。由此,您可以保留编辑器部件(IEditorPart)的自己的顺序。您可以直接使用它,或者将它与从getEditorReferences()获得的内容结合使用。
所以我想说的是:
然后您将访问插件中的堆栈。