如何在RCP应用程序中获取WorkbenchWindow中列出的视图?

时间:2014-01-06 09:01:08

标签: java eclipse-rcp

在我的RCP应用程序中,有两种观点。

我知道如何获取活动视图。这是通过使用以下代码:

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();

但是我需要Active Workbench窗口中存在的所有视图的列表。

3 个答案:

答案 0 :(得分:0)

使用

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViewReferences()

就此而言。

答案 1 :(得分:0)

视图位于页面而不是窗口:

IViewReference [] viewRefs = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViewReferences();

您还可以获取所有页面(尽管通常只有一页)

IWorkbenchPage [] pages = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPages();

和windows:

IWorkbenchWindow [] windows = PlatformUI.getWorkbench().getWorkbenchWindows();

确保所有内容遍历所有窗口的所有页面。

答案 2 :(得分:0)

您好Keerthi使用下面的代码来获取视图,

PlatformUI.getWorkbench()。getActiveWorkbenchWindow()。getActivePage()。getViewReferences()

这将返回数组上的视图迭代器,并且您将获得每个视图。

要获取视图ID,请执行以下

for(IViewPart视图:PlatformUI.getWorkbench()。getActiveWorkbenchWindow()。getActivePage()。getViews()){           view.getViewSite()。getId(); //获取视图ID         }

我希望这一定对您有用:)