public TextEditor(ProjectExplorerNode node) : this() { LinkedNode = node; TargetFile = (FileInfo)node.Tag; using (StreamReader reader = File.OpenText(TargetFile.FullName)) { this.ITS_EDITOR1.Text = reader.ReadToEnd(); } // dont count setting text as changed ITS_EDITOR1.IsChanged = false; this.ITS_EDITOR1.TextChanged += ITS_EDITOR1_TextChanged; }
public ProjectNode PopulateProjectNode(Project p) { Project proj = p; FileInfo fileinfo = new FileInfo(proj.ProjFilepath); var projNode = new ProjectNode(proj) { Tag = fileinfo }; ProjectExplorerNode nodeToAddTo = projNode; foreach (var projItem in proj.Includes) { string pathAggregate = string.Empty; string[] pathParts = projItem.RelativePath.Split(Path.DirectorySeparatorChar).Where(x => !string.IsNullOrEmpty(x)).ToArray(); for (int i = 0; i < pathParts.Length; i++) { string part = pathParts[i]; pathAggregate = Path.Combine(pathAggregate, pathParts[i]); string treePath = Path.Combine(projNode.Text, pathAggregate); string itmRelativePath = Path.Combine(proj.ProjDirectory, pathAggregate); if (i == pathParts.Length - 1) { ProjectExplorerNode node = null; if (projItem.IsDirectory) { node = new ProjectFolderNode() { Text = part }; node.Tag = new DirectoryInfo(itmRelativePath); if (!Directory.Exists(itmRelativePath)) { Util.LogMessage($"Couldn't find part of the path: \"{itmRelativePath}\"", ConsoleColor.Red); node.ForeColor = System.Drawing.Color.Red; } } else { node = TreeNodeFactory.NodeFromExtension(part.Substring(part.IndexOf('.'))); node.Text = part; node.Tag = new FileInfo(itmRelativePath); if (!File.Exists(itmRelativePath)) { Util.LogMessage($"Couldn't find part of the path: \"{itmRelativePath}\"", ConsoleColor.Red); node.ForeColor = System.Drawing.Color.Red; } } node.Name = treePath; nodeToAddTo.Nodes.Add(node); } else if (nodeToAddTo.Nodes.Find(treePath, true).Length > 0) { nodeToAddTo = (ProjectExplorerNode)nodeToAddTo.Nodes.Find(treePath, true)[0]; } else { var node = new ProjectFolderNode() { Text = part }; node.Tag = new DirectoryInfo(itmRelativePath); node.Name = treePath; if (!Directory.Exists(itmRelativePath)) { Util.LogMessage($"Couldn't find part of the path: \"{itmRelativePath}\"", ConsoleColor.Red); node.ForeColor = System.Drawing.Color.Red; } nodeToAddTo.Nodes.Add(node); nodeToAddTo = node; } } nodeToAddTo = projNode; } return(projNode); }