/// <summary> /// Returns an array of NodeInfo entries that exist beneath the specified NodeInfo. /// </summary> public override NodeInfo[] GetChildNodes(NodeInfo info) { List <NodeInfo> children = new List <NodeInfo>(); TagArchiveNodeSource source = (TagArchiveNodeSource)ParentSource; string[] folders = source.Library.GetFolderList(""); foreach (string folder in folders) { FolderNodeType nodeType = source.GetNodeType <FolderNodeType>(); NodeInfo folderInfo = new NodeInfo(nodeType, folder); children.Add(folderInfo); } return(children.ToArray()); }
/// <summary> /// Returns an array of NodeInfo entries that exist beneath the specified NodeInfo. /// </summary> public override NodeInfo[] GetChildNodes(NodeInfo info) { List <NodeInfo> children = new List <NodeInfo>(); TagArchiveNodeSource source = (TagArchiveNodeSource)ParentSource; string[] folders = source.Library.GetFolderList(info.Identifier); foreach (string folder in folders) { FolderNodeType nodeType = source.GetNodeType <FolderNodeType>(); NodeInfo newInfo = new NodeInfo(nodeType, folder); children.Add(newInfo); } string[] files = source.Library.GetFileList(info.Identifier, "*"); foreach (string file in files) { NodeType nodeType = source.GetNodeType(file); NodeInfo newInfo = new NodeInfo(nodeType, file); children.Add(newInfo); } return(children.ToArray()); }