2017-03-18 12 views
0

私は以下の問題を抱えています:ツリービューアを作成し、データモデルをバインドしました。木は崩壊したコムレテです。
は、今私は、ツリー内の特定のノードを選択します:ツリービューアで折り畳まれたノードの選択を設定します

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); 
関連する問題