/// <summary> /// Creates a blank .prg file. /// </summary> private void CreateNewFile() { int fileNumber = 1; bool fileCreated = false; ExplorerNode parentNode = (ExplorerNode)treFileBrowser.SelectedNode; string filePath = parentNode.AbsolutePath; while (!fileCreated) { if (File.Exists(filePath + @"\program" + fileNumber + ".prg")) { fileNumber++; } else { try { TextWriter textWriter = new StreamWriter(filePath + @"\program" + fileNumber + ".prg"); textWriter.Close(); FileNode fileNode = new FileNode(parentNode, @"program" + fileNumber + ".prg"); // Repeated code, exactly the same for a folder... parentNode.Children.Add(fileNode); parentNode.Nodes.Add(fileNode); treFileBrowser.SelectedNode = fileNode; treFileBrowser.LabelEdit = true; fileNode.BeginEdit(); fileCreated = true; } catch (Exception ex) { MessageBox.Show(ex.Message, Application.ExecutablePath, MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
private void createFile(string fileType) { string typeSpecificFileName = string.Empty; if (fileType == MainPresenter.FileTypes.SQL) { typeSpecificFileName = "untitled.sql"; } else if (fileType == MainPresenter.FileTypes.RTF) { typeSpecificFileName = "untitled.rtf"; } if (_view.tvwProject.SelectedNodes != null && _view.tvwProject.SelectedNodes.Count > 0) { // TODO: maybe ProjectNode should inherit from FolderNode UltraTreeNode node = _view.tvwProject.SelectedNodes[0]; if (node is ProjectNode) { var pNode = node as ProjectNode; DirectoryInfo dir = pNode.FolderObject; var file = new FileInfo(dir + @"\" + typeSpecificFileName); if (!file.Exists) { FileStream fs = file.Create(); fs.Close(); var fiNode = new FileNode(file); node.Nodes.Add(fiNode); node.Expanded = true; Novel8rProjectHandler.Instance.AddFile(fiNode.GetFilePath()); fiNode.BeginEdit(); } else { MessageBox.Show("File already exists in project", DialogHelper.Instance.GetApplicationName()); } } else if (node is FolderNode) { ProjectNode pn = getProjectNode(node); var foNode = node as FolderNode; // DirectoryInfo dir = pNode.FolderObject; string dirName = foNode.FullPath; var sb = new StringBuilder(dirName); string newReldirname = sb.Replace(pn.Name, "", 0, pn.Name.Length).ToString(); // string newRelFilename = newReldirname + @"\" + typeSpecificFileName; string newdirname = pn.FolderObject + newReldirname; var file = new FileInfo(newdirname + @"\" + typeSpecificFileName); // FileInfo file = new FileInfo(dir.ToString() + @"\" + typeSpecificFileName); if (!file.Exists) { FileStream fs = file.Create(); fs.Close(); var fiNode = new FileNode(file); node.Nodes.Add(fiNode); node.Expanded = true; Novel8rProjectHandler.Instance.AddFile(newdirname + @"\" + typeSpecificFileName); fiNode.BeginEdit(); } else { MessageBox.Show("File already exists in folder", DialogHelper.Instance.GetApplicationName()); } } } }