private void OnProjectionComboSelectedIndexChanged(NValueChangeEventArgs arg)
        {
            NComboBox      projectionCombo = (NComboBox)arg.TargetNode;
            NMapProjection projection      = (NMapProjection)projectionCombo.SelectedItem.Tag;

            m_MapImporter.Projection = projection;

            // Reimport the map applying the newly selected projection
            if (m_MapImporter.Projection is NOrthographicProjection)
            {
                GetOwnerPairBox(m_CenterParalelNumericUpDown).Visibility  = ENVisibility.Visible;
                GetOwnerPairBox(m_CenterMeridianNumericUpDown).Visibility = ENVisibility.Visible;

                NOrthographicProjection ortographicProjection = (NOrthographicProjection)m_MapImporter.Projection;
                ortographicProjection.CenterPoint = new NPoint(m_CenterMeridianNumericUpDown.Value,
                                                               m_CenterParalelNumericUpDown.Value);
            }
            else if (m_MapImporter.Projection is NBonneProjection)
            {
                GetOwnerPairBox(m_CenterParalelNumericUpDown).Visibility  = ENVisibility.Visible;
                GetOwnerPairBox(m_CenterMeridianNumericUpDown).Visibility = ENVisibility.Hidden;

                ((NBonneProjection)m_MapImporter.Projection).StandardParallel = m_CenterParalelNumericUpDown.Value;
            }
            else
            {
                GetOwnerPairBox(m_CenterParalelNumericUpDown).Visibility  = ENVisibility.Hidden;
                GetOwnerPairBox(m_CenterMeridianNumericUpDown).Visibility = ENVisibility.Hidden;
            }

            ImportMap();
        }
        private void OnCenterMeridianNumericUpDownValueChanged(NValueChangeEventArgs arg)
        {
            double value = (double)arg.NewValue;

            if (m_MapImporter.Projection is NOrthographicProjection)
            {
                NOrthographicProjection ortographicProjection = (NOrthographicProjection)m_MapImporter.Projection;
                ortographicProjection.CenterPoint = new NPoint(value, ortographicProjection.CenterPoint.Y);
                ImportMap();
            }
        }
        private void OnCenterParallelNumericUpDownValueChanged(NValueChangeEventArgs arg)
        {
            double value = (double)arg.NewValue;

            if (m_MapImporter.Projection is NBonneProjection)
            {
                ((NBonneProjection)m_MapImporter.Projection).StandardParallel = value;
                ImportMap();
            }
            else if (m_MapImporter.Projection is NOrthographicProjection)
            {
                NOrthographicProjection ortographicProjection = (NOrthographicProjection)m_MapImporter.Projection;
                ortographicProjection.CenterPoint = new NPoint(ortographicProjection.CenterPoint.X, value);
                ImportMap();
            }
        }