private void AddFolder(string path) { string[] parts = path.Split('\\'); JadeCore.Project.IFolder parent = _project; foreach(string name in parts) { JadeCore.Project.IFolder folder = parent.FindFolder(name); if(folder == null) { folder = new JadeCore.Project.Folder(_project, name); parent.AddFolder(folder); } parent = folder; } }
private static JadeCore.Project.IFolder MakeFolder(JadeCore.Project.IProject project, string projectDir, FolderType xml, IFileService fileService) { JadeCore.Project.Folder folder = new JadeCore.Project.Folder(project, xml.Name); foreach (FileType f in xml.Files) { project.AddItem(folder, MakeFile(projectDir, f, fileService)); //folder.AddItem(MakeFile(projectDir, f, fileService)); } foreach (FolderType f in xml.Folders) { folder.AddFolder(MakeFolder(project, projectDir, f, fileService)); } return folder; }
public void OnAddFolder() { TreeNodeBase sel = FindSelected(); if (sel == null) return; string name; if (JadeCore.GuiUtils.PromptUserInput("Enter new Folder name", out name) == false || name.Length == 0) { return; } if (sel.ContainsChild(name)) { JadeCore.GuiUtils.DisplayErrorAlert("Folder name is not unique."); return; } if (sel is WorkspaceFolder) { WorkspaceFolder parentVm = sel as WorkspaceFolder; JadeCore.Workspace.IFolder newFolderData = new JadeCore.Workspace.Folder(name, _data); parentVm.AddNewChildFolder(newFolderData); } else if (sel is ProjectFolder) { ProjectFolder paremtVm = sel as ProjectFolder; JadeCore.Project.IFolder parent = paremtVm.Data; JadeCore.Project.IFolder newFolderData = new JadeCore.Project.Folder(parent.OwningProject, name); paremtVm.AddNewChildFolder(newFolderData); } else { return; } sel.Expanded = true; WorkspaceController.CurrentWorkspaceModified = true; }