多くのノードを表示する FilteredTree があり、各ノードには複数の子とサブ子 (n 深度) を含めることができます。
フィルターは、パターンに一致するすべてのノード (および任意の深さの子) をフィルター処理します。
ここで、別の検索機能を追加したいと思います。
すべてのノードはオブジェクトを表し、各オブジェクトにはいくつかのフィールドがあるため、テキストに一致するフィールドを持つノードをリストしたいと思います。
ViewerFilter を使うのに疲れました。
現在開いているブランチに対してのみ、ツリー内のすべてのノードに対して呼び出されるわけではないという問題があります。
public class TheFilter extends ViewerFilter {
private String searchString;
public void setSearchText(String s) {
}
public boolean select(Viewer viewer,
Object parentElement,
Object element) { //triggered Only for one level
return true;
}
}
アップデート:
検索された項目が見つかったら、検索された項目を含むノードだけでなく、その親 (すべての親) も表示したいと考えています。