Beispiel #1
0
        private void CmbUnitsSelectedIndexChanged(object sender, EventArgs e)
        {
            if (_disableUnitWarning)
            {
                return;
            }
            GraphicsUnit destination = Global.ParseEnum <GraphicsUnit>(cmbUnits.SelectedIndex);

            switch (destination)
            {
            case GraphicsUnit.World:
                if (_symbolizer.ScaleMode != ScaleMode.Geographic)
                {
                    if (MessageBox.Show(SymbologyFormsMessageStrings.ForceDrawingToUseGeographicScaleMode, SymbologyFormsMessageStrings.ChangeScaleMode, MessageBoxButtons.YesNo) == DialogResult.No)
                    {
                        cmbUnits.SelectedIndex = Global.GetEnumIndex(_symbolizer.Units);
                        return;
                    }

                    _symbolizer.ScaleMode = ScaleMode.Geographic;
                }
                break;

            default:
                if (_symbolizer.ScaleMode == ScaleMode.Geographic)
                {
                    if (MessageBox.Show(SymbologyFormsMessageStrings.ForceDrawingToUseSymbolicScaleMode, SymbologyFormsMessageStrings.ChangeScaleMode, MessageBoxButtons.YesNo) == DialogResult.No)
                    {
                        cmbUnits.SelectedItem = _symbolizer.Units.ToString();
                        return;
                    }

                    _symbolizer.ScaleMode = ScaleMode.Symbolic;
                }
                break;
            }

            GraphicsUnit source = _symbolizer.Units;
            double       scale  = 1;

            if (source == GraphicsUnit.Inch && destination == GraphicsUnit.Millimeter)
            {
                scale = 25.4;
            }

            if (source == GraphicsUnit.Millimeter && destination == GraphicsUnit.Inch)
            {
                scale = 1 / 25.4;
            }

            _symbolizer.Scale(scale);
            _symbolizer.Units = destination;
            UpdateSymbolControls();
        }
Beispiel #2
0
        private void CmbUnitsSelectedIndexChanged(object sender, EventArgs e)
        {
            if (_disableUnitWarning)
            {
                return;
            }
            if (cmbUnits.SelectedItem.ToString() == "World" && _symbolizer.ScaleMode != ScaleMode.Geographic)
            {
                if (MessageBox.Show(SymbologyFormsMessageStrings.ForceDrawingToUseGeographicScaleMode, SymbologyFormsMessageStrings.ChangeScaleMode, MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    cmbUnits.SelectedItem = _symbolizer.Units.ToString();
                    return;
                }

                _symbolizer.ScaleMode = ScaleMode.Geographic;
            }

            if (cmbUnits.SelectedItem.ToString() != "World" && _symbolizer.ScaleMode == ScaleMode.Geographic)
            {
                if (MessageBox.Show(SymbologyFormsMessageStrings.ForceDrawingToUseSymbolicScaleMode, SymbologyFormsMessageStrings.ChangeScaleMode, MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    cmbUnits.SelectedItem = _symbolizer.Units.ToString();
                    return;
                }

                _symbolizer.ScaleMode = ScaleMode.Symbolic;
            }

            GraphicsUnit destination = (GraphicsUnit)Enum.Parse(typeof(GraphicsUnit), cmbUnits.SelectedItem.ToString());

            GraphicsUnit source = _symbolizer.Units;
            double       scale  = 1;

            if (source == GraphicsUnit.Inch && destination == GraphicsUnit.Millimeter)
            {
                scale = 25.4;
            }

            if (source == GraphicsUnit.Millimeter && destination == GraphicsUnit.Inch)
            {
                scale = 1 / 25.4;
            }

            _symbolizer.Scale(scale);

            UpdateSymbolControls();
        }