如何从CheckboxTreeViewer获取对象/对象?

如何从CheckboxTreeViewer获取对象/对象?

问题描述:

我试图从我的CheckboxTreeViewer中获取一个对象或对象。如何从CheckboxTreeViewer获取对象/对象?

我设置了内容提供者来提供数据,并且我可以从选定的项目中轻松获取数据。我认为这将是这样的: treeViewer.getElements();

但这部作品获得所选对象:

IStructuredSelection ss = (IStructuredSelection) treeViewer.getSelection(); 
if (ss.size() == 1) { 
    Object selectedObject = ss.getFirstElement(); 

    if (selectedObject instanceof IndividualNode) { 
    individual = ((IndividualNode) selectedObject).getIndividual();     
    } 
} 

,让我我的对象我从选择想要的。

知道如何从treeViewer中获取对象(如果未选中)?

有喜欢

treeViewer.getCheckedElements(); 

返回对象[]的方法。

却找不到像

treeViewer.getElements(); 

感谢很多东西,

布兰登

我不认为有这样的事。最接近的是StructureViewer中的elementMap字段,但这是私人的,所以你甚至不能创建自己的子类并获取这些信息。

想通了。

访问树项目使用:

TreeItems[] treeItems = treeViewer.getTree().getItems(); 

然后用得到的getData对象()

for(int i = 0; i < treeItems.length; i++){ 
    Object itemObject = treeItems[i].getData(); 

    //Then cast to the object type  
    Foo foo = (Foo) itemObject; 
} 

此工程的TreeViewer和CheckboxTreeViewer。

+0

您可以将其作为答案。 谢谢! :) – f1v3