0

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

了解更多详情。我有带有六个 TreeParent 的 TreeViewer。现在,当我选择一个父级时,我的应用程序将显示一个视图,如果我单击另一个将不再显示的视图。现在我想为我点击的每个树项目显示视图。

有什么建议吗?

我当前的代码:

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
            }

        }
    });`
4

1 回答 1

2

您可以使用“辅助 id”来区分视图,从而打开同一视图的多个副本。showView您为此的替代版本:

IWorkbenchPage activePage = iWorkbenchWindow.getActivePage();

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

wheresecondaryId是一个字符串,用于标识视图的特定实例。

于 2014-08-21T08:32:48.020 回答