public static JadeCore.Project.IProject Read(string path, IFileService fileService) { ProjectType xml; XmlSerializer serializer = new XmlSerializer(typeof(ProjectType)); TextReader tr = new StreamReader(path); try { xml = (ProjectType)serializer.Deserialize(tr); } finally { tr.Close(); tr.Dispose(); } JadeCore.Project.IProject result = new JadeCore.Project.Project(xml.Name, FilePath.Make(path)); foreach (FolderType f in xml.Folders) { result.AddFolder(MakeFolder(result, result.Directory, f, fileService)); } foreach (FileType f in xml.Files) { result.AddItem(null, MakeFile(result.Directory, f, fileService)); } return result; }
public void OnAddProject() { WorkspaceFolder vm = GetSelectedAs(typeof(WorkspaceFolder)) as WorkspaceFolder; if (vm == null) return; string name; if (JadeCore.GuiUtils.PromptUserInput("Enter new Project name", out name) == false) { return; } if (vm.ContainsChild(name)) { JadeCore.GuiUtils.DisplayErrorAlert("Project name '" + name + "'is not unique."); return; } JadeCore.Project.IProject project = new JadeCore.Project.Project(name, FilePath.Make(".\\" + name + ".jpj")); //Services.Provider.FileService.MakeFileHandle(".\\" + name + ".jpj")); vm.AddNewProject(project); vm.Expanded = true; WorkspaceController.CurrentWorkspaceModified = true; }