private void updateProjectView() { if (_projectView == null) { _projectView = new ProjectView(); _projectView.Dock = DockStyle.Fill; _projectView.Project = _prj; _projectView.onMapSelectionChanged += (sss, eee) => { onMapSelectionChanged(_projectView); }; _projectView.onDataStatisticsChanged += (sss, eee) => { onDataStatisticsChanged(_projectView); }; } splitContainer1.Panel2.Controls.Clear(); splitContainer1.Panel2.Controls.Add(_projectView); updateStatus(_projectView); Map = _projectView.Map; }
private void openProject(string prjPath) { if (_prj != null && prjPath.Equals(_prj.Folder)) { return; } try { _prj = new ArcSWAT.Project(prjPath); } catch (Exception e) { SWAT_SQLite.showInformationWindow(e.Message); return; } if (!_prj.IsValid) { _prj = null; //remove the path if it's not there anymore if (Properties.Settings.Default.Projects.Contains(prjPath)) { Properties.Settings.Default.Projects.Remove(prjPath); Properties.Settings.Default.Save(); cmbProjects.Items.Remove(prjPath); } System.Windows.Forms.MessageBox.Show(prjPath + " is not a valid ArcSWAT project folder."); return; } projectTree1.Project = _prj; //clear views _views.Clear(); _projectView = null; //see what view is currently used if (splitContainer1.Panel2.Controls.Count > 0) { Control currentView = splitContainer1.Panel2.Controls[0]; if (currentView is ProjectView) { updateProjectView(); } else if (currentView is ScenarioView) { if (_prj.Scenarios.Count > 0) { updateScenarioView(_prj.Scenarios.First().Value); } else { updateScenarioView(null); } } else { splitContainer1.Panel2.Controls.Clear(); } } //save current path Properties.Settings.Default.PreviousProjectFolder = prjPath; if (!Properties.Settings.Default.Projects.Contains(prjPath)) { Properties.Settings.Default.Projects.Add(prjPath); cmbProjects.Items.Add(prjPath); cmbProjects.SelectedIndex = cmbProjects.Items.Count - 1; } Properties.Settings.Default.Save(); }