如何从同一个视图类中显示其他视图?

时间:2014-08-21 07:55:10

标签: java eclipse-plugin eclipse-rap

我需要从具有不同数据的同一视图类打开多个视图。

了解更多细节。我有TreeViewer和六个TreeParent。现在,当我选择一个父项时,我的应用程序将显示一个视图,如果我点击其他不再显示的视图。现在我想要显示我点击的每个树项目的视图。

有什么建议吗?

我目前的代码:

viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            // TODO Auto-generated method stub
            ITreeSelection iTreeSelection = (ITreeSelection) viewer
                    .getSelection();
            Object firstElement = iTreeSelection.getFirstElement();
            try {
                IWorkbenchWindow iWorkbenchWindow = PlatformUI
                        .getWorkbench().getActiveWorkbenchWindow();
                View.setTree(firstElement);
                iWorkbenchWindow.getActivePage().showView(View.ID);

            } catch (Exception e) {
                // TODO: handle exception
            }

        }
    });`

1 个答案:

答案 0 :(得分:2)

您可以使用'二级ID'打开同一视图的多个副本。区分意见。您是showView的替代版本:

IWorkbenchPage activePage = iWorkbenchWindow.getActivePage();

activePage.showView(View.ID, secondaryId, IWorkbenchPage.VIEW_ACTIVATE);

其中secondaryId是一个标识视图特定实例的字符串。