Browse Source

do not enforce creation of child nodes, if node cannot be searched anyway

pull/80/head
Siegfried Pammer 12 years ago
parent
commit
b247804bd6
  1. 4
      src/Main/Base/Project/Dom/ClassBrowser/BaseTypesTreeNode.cs
  2. 4
      src/Main/Base/Project/Dom/ClassBrowser/DerivedTypesTreeNode.cs
  3. 11
      src/Main/Base/Project/Dom/ModelCollectionTreeNode.cs

4
src/Main/Base/Project/Dom/ClassBrowser/BaseTypesTreeNode.cs

@ -48,6 +48,10 @@ namespace ICSharpCode.SharpDevelop.Dom.ClassBrowser @@ -48,6 +48,10 @@ namespace ICSharpCode.SharpDevelop.Dom.ClassBrowser
return null;
}
public override bool CanFindChildNodeRecursively {
get { return false; }
}
public bool HasBaseTypes()
{
ITypeDefinition currentTypeDef = definition.Resolve();

4
src/Main/Base/Project/Dom/ClassBrowser/DerivedTypesTreeNode.cs

@ -50,6 +50,10 @@ namespace ICSharpCode.SharpDevelop.Dom.ClassBrowser @@ -50,6 +50,10 @@ namespace ICSharpCode.SharpDevelop.Dom.ClassBrowser
return null;
}
public override bool CanFindChildNodeRecursively {
get { return false; }
}
public bool HasDerivedTypes()
{
ITypeDefinition currentTypeDef = definition.Resolve();

11
src/Main/Base/Project/Dom/ModelCollectionTreeNode.cs

@ -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
}

Loading…
Cancel
Save