*选中指定模型
需求:已知模型中一项,要求在viewer中选中此项.
实现步骤:
a.将模型在视图中设置为可见,
利用AbstractTreeViewer.expandToLevel(Object elementOrTreePath, int level)方法。
b.在Tree空间上设置选中状态,
Widget StructuredViewer.testFindItem(Object element)找到对应的TreeItem,
然后利用Tree的setSelection (TreeItem item)就完成.
注意:a步骤是可选的,若没a则testFindItem()可能返回null.因为StructuredViewer.elementMap维护viewer中展开的模型和TreeItem的对应关系,而expandToLevel()会调用StructuredViewer.mapElement()将需要的模型加入elementMap.
参考代码:
getTreeViewer().expandToLevel(scriptFile, AbstractTreeViewer.ALL_LEVELS); /*使需要的模型可见*/
TreeItem item =(TreeItem) dialog.getTreeViewer().testFindItem(scriptFile);
getTreeViewer().getTree().setSelection(item);/*使模型在视图上变成可见状态*/