public void ScanDirectory(string folder, string fileMatch = "", TreeNode lastnode = null) { Regex re = new Regex(fileMatch); DirectoryInfo dir = new DirectoryInfo(folder); if ((lastnode == null)) { lastnode = new TreeNode(dir.Name); filetree.Nodes.Add(lastnode); filetree.TopNode = lastnode; } else { // Ignore the Classes folders lastnode = lastnode.Nodes.Add(dir.Name); } if (lastnode.Text == "Src") { lastnode.Name = projectName; lastnode.Text = projectName; lastnode.ImageIndex = 0; } else { lastnode.ImageIndex = 1; } lastnode.SelectedImageIndex = lastnode.ImageIndex; //("*.*", SearchOption.AllDirectories) foreach (FileInfo fileinfo in dir.GetFiles()) { // Check if filename matches regex if (re.IsMatch(fileinfo.Name)) { // Add file to list ProjectFile actor_file = new ProjectFile(fileinfo.FullName); lastnode.Nodes.Add(actor_file.FileName, actor_file.FileName, 2, 2); } } foreach (DirectoryInfo dir_loopVariable in dir.GetDirectories()) { dir = dir_loopVariable; ScanDirectory(dir.FullName, fileMatch, lastnode); lastnode = lastnode.Parent; } }
public EditorTabPage AddTab(string name, ProjectFile projectFile) { TabPage tab = null; if (projectfiles.ContainsKey(name)) { // Select the page tab = Tabs.TabPages[name]; } else { var editor = new ScintillaEditor(); var editorTab = new EditorTabPage(name, projectFile, editor); Tabs.TabPages.Add(editorTab); tab = Tabs.TabPages[Tabs.TabPages.Count - 1]; tab.Name = name; tab.Text = name; tab.Controls.Add(editor); tab.Controls[tab.Controls.Count - 1].Text = projectFile.FileContents; projectfiles.Add(name, projectFile); } selectedtabname = name; selectedtabprojectfile = projectFile; Tabs.SelectedTab = tab; return (EditorTabPage)tab; }
public void FileView_NodeMouseDoubleClick(System.Object sender, TreeNodeMouseClickEventArgs e) { var profilename = projectManager.CurrentProject.DevelopmentFolder + mainForm.FileView.SelectedNode.FullPath.Replace(projectManager.CurrentProject.ProjectName + "\\", ""); ProjectFile projectfile = new ProjectFile(profilename); FileInfo fileinfo = new FileInfo(projectfile.FullName); if (fileinfo.Exists && !(fileinfo.Attributes == FileAttributes.Directory)) { editorTabManager.AddTab(projectfile.FileName, projectfile); } }
public void ScanDirectory(string folder, string fileMatch = "", bool recursive = true) { Regex re = new Regex(fileMatch); DirectoryInfo dir = new DirectoryInfo(folder); if (!dir.Exists) { dir.Create(); } projectfolders.Add(new ProjectFolder(dir)); foreach (var fileinfo in dir.GetFiles()) { // Check if filename matches regex if (re.IsMatch(fileinfo.Name)) { // Add file to list ProjectFile actorFile = new ProjectFile(fileinfo.FullName); projectfiles.Add(actorFile); } } if (recursive) { foreach (var subdir in dir.GetDirectories()) { ScanDirectory(subdir.FullName, fileMatch, recursive); } } }