コード例 #1
0
ファイル: ProjectReaderWriter.cs プロジェクト: JadeHub/Jade
        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;
        }
コード例 #2
0
        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;
        }