2017-03-18 12 views
0

다음과 같은 문제점이 있습니다. 트리 뷰어를 만들고 데이터 모델을 바인딩했습니다. 나무는 무너져 comlete입니다.
는 지금은 트리의 특정 노드를 선택합니다 :트리 뷰어에서 접힌 노드 선택 설정

treeViewer.setSelection(new StructuredSelection(person), true); 

사람이 데이터 모델에서 내 사용자 정의 개체 중 하나입니다. 트리가 확장되면 노드가 발견되고 선택됩니다.
노드가 다른 노드 (3. 수준)의 하위 노드이기 때문에 트리가 축소되면 아무 일도 발생하지 않습니다.
노드를 선택/집중하거나 상위 항목을 확장 할 수 있습니까?
모든 노드를 재귀 적으로 처리하고 올바른 노드를 찾으려고하지만이 작업을 수행하는 방법이 있습니까? 아니면 내가 트리 경로를 확장시켜주는 setSelection의 다른 호출이 있을까요?

답변

0

TreeSelection을 사용할 수 있습니다. 이것은 TreePath을 인수로 취합니다 - 경로의 모든 노드를 나열합니다.

TreePath path = new TreePath(... array of nodes from root to person ...); 

treeViewer.setSelection(new TreeSelection(path), true);