internal void AddChildren(TreeNodeImpl impl) { foreach (var data in impl.Data.CreateChildren()) { AddSorted(impl, Create(data)); } foreach (var creator in treeViewManager.GetCreators(impl.Data.Guid)) { var context = new TreeNodeDataCreatorContext(impl); foreach (var data in creator.Create(context)) { AddSorted(impl, Create(data)); } } }
public IEnumerable <ITreeNodeData> Create(TreeNodeDataCreatorContext context) { var fileNode = context.Owner.Data as IDnSpyFileNode; Debug.Assert(fileNode != null); if (fileNode == null) { yield break; } bool hasPENode = HasPENode(fileNode); var peImage = fileNode.DnSpyFile.PEImage; Debug.Assert(!hasPENode || peImage != null); if (hasPENode && peImage != null) { yield return(new PENode(hexDocumentManager.Value, peImage, fileNode.DnSpyFile.ModuleDef as ModuleDefMD)); } }
public IEnumerable <ITreeNodeData> Create(TreeNodeDataCreatorContext context) { yield return(new ModuleChildNode()); }