private void StartNewDialog() { var dlg = new NewCaseDialog2(); dlg.Owner = this; var result = dlg.ShowDialog(); if (result == null) { return; } if (!result.Value) { return; } try { DemountEnvironment(); _case = dlg.Model .ProjectDescriptor .CaseInitializer .Initialize(dlg.Model); MountEnvironment(); } catch (Exception ex) { DemountEnvironment(); //MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public static void Write(VCase vCase) { var path = Path.Combine(vCase.CaseDir, vCase.Name + FileExtension); using (var xml = new XmlTextWriter(path, Encoding.UTF8)) { xml.Formatting = Formatting.Indented; xml.WriteStartDocument(); xml.WriteStartElement("Case"); xml.WriteStartElement("Name"); xml.WriteValue(vCase.Name); xml.WriteEndElement(); xml.WriteStartElement("CaseItems"); foreach (var item in vCase.Items) { xml.WriteStartElement("CaseItem"); xml.WriteStartElement("Id"); xml.WriteValue(item.Id.ToString()); xml.WriteEndElement(); xml.WriteStartElement("DisplayName"); xml.WriteValue(item.DisplayName); xml.WriteEndElement(); xml.WriteStartElement("RelativePath"); xml.WriteValue(item.RelativePath ?? ""); xml.WriteEndElement(); var vProject = item as VProject; if (vProject != null) { xml.WriteStartElement("Type"); xml.WriteValue(ProjectItem); xml.WriteEndElement(); ProjectHandler.Save(vProject, xml); } xml.WriteEndElement(); } xml.WriteEndElement(); xml.WriteEndElement(); // Case xml.WriteEndDocument(); } }
//private static void InitAblPisoSolver(VNewCase newProject, VCase vCase) //{ // var d = new AblPisoSolver(); // var pdir = InitProjectDir(newProject, d.Name); // var proj = new VProject // { // DisplayName = d.Name, // ProjectDir = pdir, // ProjectDescriptor = d, // }; // proj.Initialize(); // vCase.Items.Add(proj); //} //private static void InitAblGeometryAndMesh(VNewProject newProject, VCase vCase) //{ // var d = new AblGeometryAndMesh(); // var pdir = InitProjectDir(newProject, d.Name); // var proj = new VProject // { // Name = d.Name, // ProjectDir = pdir, // ProjectDescriptor = d, // }; // proj.Initialize(); // proj.GetState().Save(); // vCase.Items.Add(proj); //} //private static void InitWindPlant(VNewCase newProject, VCase vCase) //{ // var d = new WindPlantPisoSolver(); // var pdir = InitProjectDir(newProject, d.Name); // var proj = new VProject // { // DisplayName = d.Name, // ProjectDir = pdir, // ProjectDescriptor = d, // }; // proj.Initialize(); // vCase.Items.Add(proj); //} private static void InitMesoWind(VNewCase newProject, VCase vCase) { var d = new MesoWindProjectDescriptor(); var pdir = InitProjectDir(newProject, d.Name); var proj = new VProject { DisplayName = d.Name, ProjectDir = pdir, ProjectDescriptor = d, ProjectModel = d.CreateProjectModel() }; proj.Initialize(); vCase.Items.Add(proj); }
public override VCase Initialize(VNewCase newProject) { var vCase = new VCase(); vCase.Name = newProject.CaseName; vCase.CaseDir = InitCaseDir(newProject); InitSowfaNormal(newProject, vCase); //InitAblPisoSolver(newProject, vCase); //InitWindPlant(newProject, vCase); InitMesoWind(newProject, vCase); InitWindWave(newProject, vCase); CaseHandler.Write(vCase); return(vCase); }
public static VCase ReadFrom(string filePath, IProjectConfiguration config) { var vCase = new VCase(); using (var stream = new StreamReader(filePath, Encoding.UTF8)) using (var xml = new XmlTextReader(stream)) { xml.ReadToFollowing("Case"); if (xml.ReadToFollowing("Name")) { vCase.Name = xml.ReadElementContentAsString(); } if (xml.ReadToFollowing("CaseItems")) { while (xml.ReadToFollowing("CaseItem")) { VCaseItem item = null; xml.ReadToFollowing("Id"); var id = xml.ReadElementContentAsString(); xml.ReadToFollowing("DisplayName"); var displayName = xml.ReadElementContentAsString(); xml.ReadToFollowing("RelativePath"); var relativePath = xml.ReadElementContentAsString(); xml.ReadToFollowing("Type"); var type = xml.ReadElementContentAsString(); if (type == ProjectItem) { item = ProjectHandler.ReadFrom(xml, config); } Debug.Assert(item != null); item.Id = new Guid(id); item.DisplayName = displayName; item.RelativePath = relativePath; vCase.Items.Add(item); } } } return vCase; }
public static VCase ReadFrom(string filePath, IProjectConfiguration config) { var vCase = new VCase(); using (var stream = new StreamReader(filePath, Encoding.UTF8)) using (var xml = new XmlTextReader(stream)) { xml.ReadToFollowing("Case"); if (xml.ReadToFollowing("Name")) { vCase.Name = xml.ReadElementContentAsString(); } if (xml.ReadToFollowing("CaseItems")) { while (xml.ReadToFollowing("CaseItem")) { VCaseItem item = null; xml.ReadToFollowing("Id"); var id = xml.ReadElementContentAsString(); xml.ReadToFollowing("DisplayName"); var displayName = xml.ReadElementContentAsString(); xml.ReadToFollowing("RelativePath"); var relativePath = xml.ReadElementContentAsString(); xml.ReadToFollowing("Type"); var type = xml.ReadElementContentAsString(); if (type == ProjectItem) { item = ProjectHandler.ReadFrom(xml, config); } Debug.Assert(item != null); item.Id = new Guid(id); item.DisplayName = displayName; item.RelativePath = relativePath; vCase.Items.Add(item); } } } return(vCase); }
private void DemountEnvironment() { caseExplorerTree.Reset(); foreach (var documentPanel in _openDocuments.Values) { dockLayoutManager1.DockController.RemoveItem(documentPanel); } _openDocuments.Clear(); _panelInfos.Clear(); bbFileClose.IsEnabled = false; bbFileSave.IsEnabled = false; bbFileSaveAll.IsEnabled = false; bbToolsSettings.IsEnabled = false; _case = null; }
public void Reset() { _case = null; _items.Clear(); }
public void SetCaseModel(VCase vCase) { _case = vCase; }