我有一个显示许多节点的 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;
}
}
更新:
当找到搜索的项目时,我不仅要显示包含搜索项目的节点,还要显示它的父节点(所有父节点)。