private void UpdateFiltersAccept(JetListViewNode node) { bool filtersAccept = _filters.AcceptNode(node); if (node.FiltersAccept && !filtersAccept) { OnVisibleNodeRemoving(node); node.SetFiltersAccept(false); OnVisibleNodeRemoved(node); node.Parent.UpdateUnacceptedChildCount(); } else if (!node.FiltersAccept && filtersAccept) { node.SetFiltersAccept(true); OnVisibleNodeAdded(node); node.Parent.UpdateUnacceptedChildCount(); } }
internal JetListViewNode Add(object item, JetListViewNode parentNode) { lock (this) { _lastUpdatedNode = null; if (parentNode == null) { parentNode = _rootNode; } if (parentNode != _rootNode) { _flatList = false; } CollapseState oldCollapseState = parentNode.CollapseState; JetListViewNode node = new JetListViewNode(this, item); parentNode.AddChild(node); _nodeMap.Add(item, node); if (_filters != null) { filtersAccept = _filters.AcceptNode(node); node.SetFiltersAccept(filtersAccept); if (!filtersAccept) { parentNode.UpdateUnacceptedChildCount(); } } OnNodeAdded(node); if (IsNodeVisible(node)) { OnVisibleNodeAdded(node); } if (parentNode != _rootNode && IsNodeVisible(parentNode) && oldCollapseState != parentNode.CollapseState) { OnNodeChanged(parentNode); } return(node); } }