在我的申请中。当我在该树上选择一个项目时,我有一个Treeviewer
,另一个View将打开,我想从我的树中解析数据到新的View。我怎么能这样做?
答案 0 :(得分:2)
首先,添加一个选择侦听器。当选择事件发生时,建立您想要传递给视图的数据(您可能希望将event.getSeletion()转换为TreeSelection并迭代树路径)。最后,打开您的视图(或者您可以查找视图,如果它已经打开并激活它)并传递您的模型。它可能看起来像这样:
treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
IStructuredSelection selection = (IStructuredSelection) event.getSelection();
Object model = selection.getFirstElement();
try {
YourView view = (YourView) getSite().getPage().showView("your_view_id");
view.setModel(model);
} catch (PartInitException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});