private static JadeCore.Workspace.IFolder MakeFolder(JadeCore.Workspace.IWorkspace workspace, string workspaceDir, FolderType xml, IFileService fileService) { JadeCore.Workspace.IFolder result = new JadeCore.Workspace.Folder(xml.Name, workspace); foreach (FolderType f in xml.Folders) { result.AddFolder(MakeFolder(workspace, workspaceDir, f, fileService)); } foreach (ProjectType p in xml.Projects) { result.AddProject(MakeProject(workspaceDir, p, fileService)); } return result; }
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; }