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. 9
      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
return null; return null;
} }
public override bool CanFindChildNodeRecursively {
get { return false; }
}
public bool HasBaseTypes() public bool HasBaseTypes()
{ {
ITypeDefinition currentTypeDef = definition.Resolve(); ITypeDefinition currentTypeDef = definition.Resolve();

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

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

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

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

Loading…
Cancel
Save