示例#1
0
        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;
        }
示例#2
0
        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;
        }