Example #1
0
 internal static IEnumerable <SharpTreeNode> LoadChildrenForFolder(PackageFolder root)
 {
     foreach (var folder in root.Folders.OrderBy(f => f.Name))
     {
         string newName   = folder.Name;
         var    subfolder = folder;
         while (subfolder.Folders.Count == 1 && subfolder.Entries.Count == 0)
         {
             // special case: a folder that only contains a single sub-folder
             subfolder = subfolder.Folders[0];
             newName   = $"{newName}/{subfolder.Name}";
         }
         yield return(new PackageFolderTreeNode(subfolder, newName));
     }
     foreach (var entry in root.Entries.OrderBy(e => e.Name))
     {
         if (entry.Name.EndsWith(".dll", StringComparison.OrdinalIgnoreCase))
         {
             var asm = root.ResolveFileName(entry.Name);
             if (asm != null)
             {
                 yield return(new AssemblyTreeNode(asm, entry));
             }
             else
             {
                 yield return(ResourceTreeNode.Create(entry));
             }
         }
         else
         {
             yield return(ResourceTreeNode.Create(entry));
         }
     }
 }
Example #2
0
 protected override void LoadChildren()
 {
     foreach (Resource r in module.Resources.OrderBy(m => m.Name))
     {
         this.Children.Add(ResourceTreeNode.Create(r));
     }
 }
Example #3
0
 protected override void LoadChildren()
 {
     foreach (Resource r in module.Resources.OrderBy(m => m.Name, NaturalStringComparer.Instance))
     {
         this.Children.Add(ResourceTreeNode.Create(r));
     }
 }