protected BetterTreeView.BetterTreeNode CreateFileNode(string path, object tag) { string filename = Path.GetFileName(path); BetterTreeView.BetterTreeNode newNode = new BetterTreeView.BetterTreeNode(filename); newNode.CollapsedImageIndex = 3; newNode.ExpandedImageIndex = 3; newNode.SelectedImageIndex = newNode.CollapsedImageIndex; newNode.ImageIndex = newNode.CollapsedImageIndex; FileEntryInformation fileInfo = new FileEntryInformation(FileEntryType.File, path); fileInfo.Tag = tag; newNode.Tag = fileInfo; return(newNode); }
protected void InitializeTree() { tagTree.BeginUpdate(); tagTree.Nodes.Clear(); // TODO: Move BetterTreeNode outside of BetterTreeView class. BetterTreeView.BetterTreeNode rootNode = new BetterTreeView.BetterTreeNode("Archive"); rootNode.CollapsedImageIndex = 0; rootNode.ExpandedImageIndex = 0; FileEntryInformation fileInfo = new FileEntryInformation(FileEntryType.Folder, "\\"); rootNode.Tag = fileInfo; tagTree.Nodes.Add(rootNode); AddFiles(rootNode, "\\"); CreateSubLevel(rootNode); tagTree.Nodes[0].Expand(); tagTree.SelectedNode = tagTree.Nodes[0]; tagTree.EndUpdate(); }
protected BetterTreeView.BetterTreeNode CreateFolderNode(string path, object tag) { // TODO: We need to standardize how these files are named. // Slashes are a bit unneccessary IMO, and we have to keep removing them // for parsing paths - which sucks. // HACK: For now, we need to add a leading and trailing backslash. if (!path.StartsWith("\\")) { path = "\\" + path; } if (!path.EndsWith("\\")) { path = path + "\\"; } string trimmedFolder = path.TrimEnd('\\'); int slashIndex = trimmedFolder.LastIndexOf('\\'); string folderName = trimmedFolder; if (slashIndex > -1) { folderName = trimmedFolder.Substring(slashIndex); } string nodeTitle = folderName.Replace("\\", ""); BetterTreeView.BetterTreeNode newNode = new BetterTreeView.BetterTreeNode(nodeTitle); newNode.CollapsedImageIndex = 2; newNode.ExpandedImageIndex = 1; newNode.SelectedImageIndex = newNode.CollapsedImageIndex; newNode.ImageIndex = newNode.CollapsedImageIndex; FileEntryInformation fileInfo = new FileEntryInformation(FileEntryType.Folder, path); fileInfo.Tag = tag; newNode.Tag = fileInfo; return(newNode); }