|
|
|
@ -119,9 +119,10 @@ namespace ICSharpCode.SharpDevelop.Dom
@@ -119,9 +119,10 @@ namespace ICSharpCode.SharpDevelop.Dom
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Search in all children of this node
|
|
|
|
|
child.EnsureLazyChildren(); |
|
|
|
|
if (child is ModelCollectionTreeNode) { |
|
|
|
|
foundNode = ((ModelCollectionTreeNode) child).FindChildNodeRecursively(predicate); |
|
|
|
|
var modelNode = child as ModelCollectionTreeNode; |
|
|
|
|
if (modelNode != null && modelNode.CanFindChildNodeRecursively) { |
|
|
|
|
child.EnsureLazyChildren(); |
|
|
|
|
foundNode = modelNode.FindChildNodeRecursively(predicate); |
|
|
|
|
if (foundNode != null) |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
@ -129,6 +130,10 @@ namespace ICSharpCode.SharpDevelop.Dom
@@ -129,6 +130,10 @@ namespace ICSharpCode.SharpDevelop.Dom
|
|
|
|
|
|
|
|
|
|
return foundNode; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public virtual bool CanFindChildNodeRecursively { |
|
|
|
|
get { return true; } |
|
|
|
|
} |
|
|
|
|
#endregion
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|