public ProjectFile CreateProjectFile(Project parentProject, string basePath) { NewFileDialog nfd = new NewFileDialog (); int res = nfd.Run (); nfd.Dispose (); if (res != (int) Gtk.ResponseType.Ok) return null; IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow; int count = 1; string baseName = Path.GetFileNameWithoutExtension(window.ViewContent.UntitledName); string extension = Path.GetExtension(window.ViewContent.UntitledName); // first try the default untitled name of the viewcontent filename string fileName = Path.Combine (basePath, baseName + extension); // if it is already in the project, or it does exists we try to get a name that is // untitledName + Numer + extension while (parentProject.IsFileInProject (fileName) || System.IO.File.Exists (fileName)) { fileName = Path.Combine (basePath, baseName + count.ToString() + extension); ++count; } // now we have a valid filename which we could use window.ViewContent.Save (fileName); ProjectFile newFileInformation = new ProjectFile(fileName, BuildAction.Compile); parentProject.ProjectFiles.Add (newFileInformation); return newFileInformation; }
protected override void Run() { NewFileDialog fd = new NewFileDialog (); fd.Run (); }