コード例 #1
0
 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;
 }
コード例 #2
0
        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();
        }