*选中指定模型

需求:已知模型中一项,要求在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);/*使模型在视图上变成可见状态*/

posted on 2010-08-31 23:00  戴忠  阅读(1407)  评论(3编辑  收藏  举报