我创建了一个插件动作,显示了一个视图&隐藏一个视图。这是我的代码:
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
page.showView("com.sample.views.Example");
page.hideView(page.findView("com.sample.views.Example"));
但是如何检查此视图是否在当前前景中或是否已关闭?
答案 0 :(得分:0)
IWorkbenchPage.findView
将返回null
。
IWorkbenchPage.getActivePart()
返回活动部分(可能是编辑器或视图)。
您还可以使用IWorkbenchPage.addPartListener
收听对部件的更改。
答案 1 :(得分:0)
IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
IWorkbenchPage page = window.getActivePage();
IEditorReference[] editors = page.getEditorReferences();
// How many editor open..
// System.out.println("Len : "+editors.length);
if(editors.length==0){
System.out.println("View is not visible");
}
else{
System.out.println("View is visible");
System.out.println("View or Editor Name is :: "+page.getActiveEditor().getTitle());
}
当前工作视图或窗口名称显示
IPartService service = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService();
MessageDialog.openInformation(HandlerUtil.getActiveWorkbenchWindow(
event).getShell(), "Current Workbench Window", service.getActivePart().getTitle()+"");