private TreeNode createTree(TreeNode rootNode, string rootFilePath) { //get everything in this directory. Should be only folders and CD.json files string[] subDirs = Directory.GetFiles(rootFilePath, "*.json", SearchOption.TopDirectoryOnly); CommonDescriptor curfileCD; TreeNode childNode; foreach (string file in subDirs) { //only reading .json files curfileCD = getCDforTreeCreation(file); //add as a child of rootNode childNode = new TreeNode(rootNode, curfileCD); //find directory by removing the _folder.json from the name of the file. if (curfileCD.FileType.Equals("folder")) { //TODO: do I get the folder object in the tree? //only will recurse upon directories rootNode.addChild(createTree(childNode, file.Replace("_folder.json", ""))); } else { //only add the normal files to the rootNode now. rootNode.addChild(childNode); } } return(rootNode); }
//never used? private void populateTree(Guqu.Models.SupportClasses.TreeNode treeRoot, MenuItem xamlRoot) { xamlRoot = new MenuItem() { Title = treeRoot.getCommonDescriptor().FileName, ID = treeRoot.getCommonDescriptor().FileID }; treeFolders.Add(treeRoot); recursiveBuildTree(treeRoot, xamlRoot); }
public TreeNode getRoot(string accountName, string rootID, string accountType) { //root has no parent, and a bastardized CD. CommonDescriptor rootDescriptor = new CommonDescriptor(accountName, "folder", accountName, rootID, accountType, new DateTime(), 0); TreeNode root = new TreeNode(null, rootDescriptor); string rootPath = rootStoragePath + COMMONDESCRIPTORPATH + accountName; return(createTree(root, rootPath)); }
public void move_Item_Click(object sender, RoutedEventArgs e) { TextBlock name = e.OriginalSource as TextBlock; String fileClicked = name.Uid; for (int i = 0; i < treeFolders.Count; i++) { if (treeFolders.ElementAt(i).getCommonDescriptor().FileID.Equals(name.Uid)) { selected = treeFolders.ElementAt(i); } } }
private void recursiveBuildTree(Guqu.Models.SupportClasses.TreeNode treeRoot, MenuItem xamlRoot) { foreach (Guqu.Models.SupportClasses.TreeNode child in treeRoot.getChildren()) { MenuItem currNode = new MenuItem() { Title = treeRoot.getCommonDescriptor().FileName, ID = treeRoot.getCommonDescriptor().FileID }; recursiveBuildTree(child, currNode); currNode.Items.Add(new MenuItem() { Title = child.getCommonDescriptor().FileName, ID = treeRoot.getCommonDescriptor().FileID }); xamlRoot.Items.Add(currNode); } }