我正在将一个ViewerFilter
应用到一些分支的树上,但大部分是叶子。过滤器真的适用于叶子,使用叶子内的属性。所有分支都保持不变,以便它们的叶子可以出现。如何在TreeViewer上最佳使用ViewerFilter?
但是我想过滤掉不包含选定树叶的分支,我可以在ViewerFilter
之内看到没有机制允许这样做。
这可能吗?
例如,假设下面的名义树(其中b
的一个分支,一个L
是叶)
b0
b1
L2
L4
L8
b2
L1
L3
L5
我想申请一个ViewerFilter
,只有选择甚至叶子和含有甚至树叶树枝。结果树将..
b0
b1
L2
L4
L8
..哪里分支b2
不显示,因为它不包含任何选择的孩子,但树枝b0
和b1
做。
而不是叶子和分支,让我们谈谈目录和文件。 给定一个任意目录树,我只想显示匹配* .foo的文件。此外,我只想显示包含* .foo文件的目录,或者递归地包含目录。 不应显示不包含此类文件的目录。这有帮助吗? M. – 2009-06-24 15:57:33
在这种情况下,在select方法中,您将需要递归地查看元素的开始,获取子元素,直到达到一个完整的叶子(返回true)或结束(返回false)。 – AdamC 2009-06-24 17:04:07