private void UnsetMap()
 {
     if (MakeGridFromPoints.MapControl != null)
     {
         MakeGridFromPoints.UnsetMap();
         global.MappingForm.MapInterActionHandler.EnableMapInteraction = true;
     }
 }
 private void OnFormClosed(object sender, FormClosedEventArgs e)
 {
     UnsetMap();
     _instance = null;
     _layersHandler.CurrentLayer -= OnCurrentLayer;
     _layersHandler = null;
     global.SaveFormSettings(this);
     MakeGridFromPoints.Cleanup();
 }
 private void OnExtentDefined(object sender, ExtentDraggedBoxEventArgs e)
 {
     txtMaxLat.Text   = e.Top.ToString();
     txtMinLat.Text   = e.Bottom.ToString();
     txtMinLon.Text   = e.Left.ToString();
     txtMaxLon.Text   = e.Right.ToString();
     _selectionExtent = new Extents();
     _selectionExtent.SetBounds(e.Left, e.Bottom, 0, e.Right, e.Top, 0);
     if (!e.InDrag)
     {
         MakeGridFromPoints.MakeExtentShapeFile();
     }
 }
        private void OnRadioButtonCheckChange(object sender, EventArgs e)
        {
            txtMaxLat.Text = "";
            txtMaxLon.Text = "";
            txtMinLat.Text = "";
            txtMinLon.Text = "";
            UnsetMap();
            var rbtn = (RadioButton)sender;

            if (rbtn.Checked)
            {
                switch (rbtn.Name)
                {
                case "rbtnUseSelectionBox":
                    global.MappingForm.MapInterActionHandler.EnableMapInteraction = false;
                    MakeGridFromPoints.MapControl = global.MappingForm.MapControl;
                    break;

                case "rbtnUseSelectedLayer":
                    if (_layersHandler.CurrentMapLayer?.LayerType == "ShapefileClass")
                    {
                        var shp = _layersHandler.CurrentMapLayer.LayerObject as Shapefile;
                        var ext = shp.Extents;
                        txtMaxLat.Text = ext.yMax.ToString();
                        txtMaxLon.Text = ext.xMax.ToString();
                        txtMinLat.Text = ext.yMin.ToString();
                        txtMinLon.Text = ext.xMin.ToString();

                        _selectionExtent = new Extents();
                        _selectionExtent.SetBounds(
                            double.Parse(txtMinLon.Text),
                            double.Parse(txtMinLat.Text),
                            0,
                            double.Parse(txtMaxLon.Text),
                            double.Parse(txtMaxLat.Text),
                            0);
                        MakeGridFromPoints.SetDataSetExtent(_selectionExtent);
                        MakeGridFromPoints.MakeExtentShapeFile();
                    }

                    break;

                case "rbtnManual":

                    break;
                }
            }
        }
        private void OnButtonClick(object sender, EventArgs e)
        {
            switch (((Button)sender).Name)
            {
            case "btnCreateExtent":

                MakeGridFromPoints.MakeExtentShapeFile();

                break;

            case "btnOk":
                Close();
                break;

            case "btnGetMetadataFolder":
                var folderBrowser = new FolderBrowserDialog();
                folderBrowser.ShowNewFolderButton = true;
                if (_ERDDAPMetadataFolder == "")
                {
                    folderBrowser.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
                }
                else
                {
                    folderBrowser.SelectedPath = _ERDDAPMetadataFolder;
                }
                folderBrowser.Description = "Locate folder containing ERDDAP metadata";
                DialogResult result = FolderBrowserLauncher.ShowFolderBrowser(folderBrowser);
                if (result == DialogResult.OK)
                {
                    ERDDAPMetadataFiles.MetadataFiles.Clear();
                    lvERDDAP.Visible = false;
                    lvERDDAP.Items.Clear();
                    ERDDAPMetadataFiles.MetadataDirectory = folderBrowser.SelectedPath;
                    ERDDAPMetadataFiles.ReadISO9115Metadata();
                    ERDDAPMetadataFiles.SaveMetadataDirectorySetting(folderBrowser.SelectedPath);
                    txtMetadataFolderPath.Text = folderBrowser.SelectedPath;
                    lvERDDAP.Visible           = true;
                    UpdateDataSetCount();
                }
                break;

            case "btnDownload":
                if (txtMinLat.Text.Length > 0 &&
                    txtMaxLat.Text.Length > 0 &&
                    txtMinLon.Text.Length > 0 &&
                    txtMaxLon.Text.Length > 0 &&
                    lvERDDAP.SelectedItems.Count > 0)
                {
                    ERDDAPConfigureDownloadForm edf = ERDDAPConfigureDownloadForm.GetInstance(this);
                    if (edf.Visible)
                    {
                        edf.BringToFront();
                    }
                    else
                    {
                        string identifier = lvERDDAP.SelectedItems[0].Name;
                        edf.BeginPosition    = ERDDAPMetadataFiles.MetadataFiles[identifier].BeginPosition;
                        edf.EndPosition      = ERDDAPMetadataFiles.MetadataFiles[identifier].EndPosition;
                        edf.Dimensions       = ERDDAPMetadataFiles.MetadataFiles[identifier].Dimensions;
                        edf.DataExtents      = _selectionExtent;
                        edf.GridParameters   = ERDDAPMetadataFiles.MetadataFiles[identifier].DataParameters;
                        edf.Credits          = ERDDAPMetadataFiles.MetadataFiles[identifier].Credits;
                        edf.Title            = ERDDAPMetadataFiles.MetadataFiles[identifier].DataTitle;
                        edf.DataAbstract     = ERDDAPMetadataFiles.MetadataFiles[identifier].DataAbstract;
                        edf.LegalConstraint  = ERDDAPMetadataFiles.MetadataFiles[identifier].LegalConstraints;
                        edf.GridExtents      = ERDDAPMetadataFiles.MetadataFiles[identifier].Extents;
                        edf.URL              = ERDDAPMetadataFiles.MetadataFiles[identifier].URL;
                        edf.Identifier       = identifier;
                        edf.MetadataFileName = ERDDAPMetadataFiles.MetadataFiles[identifier].MetaDataFilename;
                        edf.Show(this);
                    }
                }
                else
                {
                    MessageBox.Show("Data extents must be provided and data to download must be selected");
                }
                break;
            }
        }