设置树的内容过滤刷新
public void refreshFilter(String filterText, boolean canAddFilter)
{
TreeViewer viewer = getViewer();
viewer.getControl().setRedraw(false);
m_filter.setPattern(filterText);
if(canAddFilter)
viewer.addFilter(m_filter);
else
viewer.refresh();
viewer.expandAll();
viewer.getControl().setRedraw(true);
}
定义树的过滤规则:
class PaletteTreeFilter extends ViewerFilter
{
public void setPattern(String pattern)
{
if(pattern.indexOf('*') == -1)
pattern = (new StringBuilder(String.valueOf(pattern))).append('*').toString();
m_matcher = new StringMatcher(pattern, true, false);
}
public boolean select(Viewer viewer, Object parent, Object element)
{
IImageElement imageElement = (IImageElement)element;
if(m_matcher.match(imageElement.getName()))
return true;
if(element instanceof IImageContainer)
{
IImageContainer container = (IImageContainer)element;
IImageElement elements[] = container.elements();
List containers = new ArrayList();
IImageElement aiimageelement[];
int j = (aiimageelement = elements).length;
for(int i = 0; i < j; i++)
{
IImageElement subElement = aiimageelement[i];
if(m_matcher.match(subElement.getName()))
return true;
if(subElement instanceof IImageContainer)
containers.add((IImageContainer)subElement);
}
for(Iterator iterator = containers.iterator(); iterator.hasNext();)
{
IImageContainer subContainer = (IImageContainer)iterator.next();
if(select(viewer, element, subContainer))
return true;
}
}
return false;
}
private StringMatcher m_matcher;
PaletteTreeFilter(PaletteTreeFilter palettetreefilter)
{
}
}
分享到:
相关推荐
双数组字典树(Double Array Trie,简称DAT)是一种高效的数据结构,主要用于字符串搜索和匹配,尤其在处理大量敏感词过滤的场景下表现突出。它是由日本科学家原望治(Hideo Hiraoka)提出的,相比传统的Trie树,DAT...
在Java编程中,根据过滤条件显示树形结构是一项常见的任务,尤其在数据管理、文件系统或者GUI应用中。树形结构是一种数据结构,它通过节点的层级关系来组织数据,通常用于表示具有层次性的信息。在这个场景下,我们...
【标题】:“树过滤” 【描述】:在IT领域,"树过滤"通常是指在数据结构或编程中处理树形结构时,对树的节点进行筛选的过程。这可能涉及到遍历树的所有节点,根据特定条件选择保留哪些节点,或者删除不符合条件的...
以下是一个简单的树数据过滤函数,用于按名称过滤: ```javascript function filterTree(treeData, keyword) { return treeData.filter(node => { if (node.name.includes(keyword)) return true; // 如果当前...
这个特定的压缩包文件包含了一个实现可搜索下拉树形功能的示例,这在许多Web应用中非常有用,比如用于导航菜单、组织结构展示或者层级数据的交互操作。 在jQuery中,Bootstrap Treeview通过添加特定的CSS样式和...
它提供了对树节点的智能搜索和过滤能力,允许用户通过输入拼音或汉字来查找和显示相关的树节点。 1. **ExtJS 3.3+ 中文API**: ExtJS是一个流行的JavaScript框架,用于构建富客户端应用。3.3版本的中文API文档可以...
在IT行业中,文本处理是一项常见的任务,特别是在社交媒体监控、内容审查和搜索引擎优化等领域。`FastScan` 是一个专为敏感词过滤设计的JavaScript库,它利用了高效的`Ahocorasick`算法进行快速的文本搜索。这篇内容...
总之,Go-go-wordsfilter是一个强大的敏感词过滤工具,它结合了Go语言的高性能和Trie树的高效搜索特性,为开发者提供了一套快速、灵活的解决方案。通过理解和运用这个库,我们可以更好地维护网络环境的秩序,保护...
在压缩包中的"common"文件,可能包含了相关的源码示例,用于展示树排序和树过滤的具体步骤和优化技巧。这些源码对于学习者来说是非常有价值的实践资源,可以通过阅读和理解代码来加深对理论知识的理解,并能应用于...
在IT领域,尤其是在前端开发中,树形结构是一种常见的数据展示方式,用于组织层次化的信息。`TreePanel`是Ext JS框架中用于构建这种树形视图的组件。本篇文章将详细探讨`TreePanel`的节点过滤功能,以及如何支持拼音...
EXTJS提供了树形搜索的功能,使得用户可以方便快捷地定位到所需内容。 EXTJS中的树形搜索主要涉及到以下几个关键知识点: 1. **树形数据结构**:EXTJS的树形控件基于JavaScript对象数组构建,每个节点代表一个对象...
6. 搜索过滤:支持在树中搜索特定节点。 7. 可定制性:允许自定义节点的图标、颜色、样式等。 8. 节点操作:提供添加、删除、移动节点等功能。 六、具体实现 对于文件名92c7ec7be6a641e3ad4fe5c4f2188502,这可能是...
【权限树】是一种在用户界面中用于表示层次结构数据的组件,常用于权限管理、组织结构展示、文件系统浏览等领域。在IT行业中,权限树通常采用JavaScript实现,它能够直观地展示不同用户或角色的权限分配,使得管理员...
有限状态自动机(确定型有限自动机)是一种图论模型,常用于正则表达式匹配和文本搜索。在敏感词过滤中,DFA可以构建一个状态机,通过遍历文本,一旦遇到敏感词的开始,就沿着预定义的状态路径检查是否完整匹配。...
它提供了丰富的组件,如表格、面板、窗口等,而“树”(Tree)是其中之一,常用于展示层次结构的数据。本篇文章将深入探讨如何根据输入的关键字过滤Ext树节点,类似于MyEclipse中的preferences搜索框功能。 首先,...
在Go编程语言中,区域四叉树(R-Quadtree)是一种数据结构,它用于高效地组织和查询二维空间中的对象。这种数据结构特别适用于处理大量分布在平面中的数据点,例如在地理信息系统、游戏开发或者图像处理等领域。R-...
在IT领域,树形表格(TreeTable)是一种特殊的数据展示方式,它结合了表格和树状结构的优点,常用于组织层次分明、具有父子关系的数据。本文将深入探讨“树形表格treetable完整版”,包括它的特点、应用场景、二次...
在操作系统中,树形控件常用于文件管理器,如Windows的资源管理器。通过这种控件,用户可以浏览文件夹结构,进行文件的创建、删除、移动和重命名等操作。 5. **编程接口和事件处理** 开发者需要熟悉控件提供的API...
用户可以在下拉菜单中输入搜索词,插件会即时过滤出匹配的树节点。这种组合使得用户能快速定位到需要的特定节点,提高了用户体验。 4. **index.html** 这个文件是项目的主入口,通常包含了HTML结构,包括必要的...
- 搜索功能:可以添加搜索框,实时过滤树形结构中的节点。 - 动态加载:根据用户操作动态加载数据,提高页面性能。 6. 注意事项: - 数据格式要求:layui树形穿梭框的数据格式通常为数组,每个元素包含id、pid...