Exemplo n.º 1
0
        /// <summary>
        /// Allows for new behavior during deactivation.
        /// </summary>
        protected override void OnDeactivate()
        {
            if (_standBy)
            {
                return;
            }

            // Don't completely deactivate, but rather go into standby mode
            // where we draw only the content that we have actually locked in.
            _standBy = true;
            _coordinateDialog?.Hide();

            if (_coordinates != null && _coordinates.Count > 1)
            {
                LineString ls = new LineString(_coordinates.ToArray());
                FeatureSet fs = new FeatureSet(FeatureType.Line);
                fs.Features.Add(new Feature(ls));
                MapLineLayer gll = new MapLineLayer(fs)
                {
                    Symbolizer =
                    {
                        ScaleMode = ScaleMode.Symbolic,
                        Smoothing = true
                    },
                    MapFrame = Map.MapFrame
                };
                _tempLayer = gll;
                Map.MapFrame.DrawingLayers.Add(gll);
                Map.MapFrame.Invalidate();
                Map.Invalidate();
            }

            Deactivate();
        }
Exemplo n.º 2
0
        /// <summary>
        /// 비활성화하는 동안 새로운 동작을 허용합니다.
        /// </summary>
        protected override void OnDeactivate()
        {
            if (_standBy)
            {
                return;
            }

            // 완전히 비활성화하지 않고 대기 모드로 전환하십시오.
            // 여기서 실제로 잠근 내용 만 그립니다.
            _standBy = true;
            _coordinateDialog?.Hide();

            if (_coordinates != null && _coordinates.Count > 1)
            {
                LineString ls = new LineString(_coordinates.ToArray());
                FeatureSet fs = new FeatureSet(FeatureType.Line);
                fs.Features.Add(new Feature(ls));
                MapLineLayer gll = new MapLineLayer(fs)
                {
                    Symbolizer =
                    {
                        ScaleMode = ScaleMode.Symbolic,
                        Smoothing = true
                    },
                    MapFrame = Map.MapFrame
                };
                _tempLayer = gll;
                Map.MapFrame.DrawingLayers.Add(gll);
                Map.MapFrame.Invalidate();
                Map.Invalidate();
            }

            Deactivate();
        }
Exemplo n.º 3
0
        /// <summary>
        /// Occurs when this function is removed.
        /// </summary>
        protected override void OnUnload()
        {
            if (Enabled)
            {
                _coordinates = null;
                _coordinateDialog.Hide();
            }

            if (_tempLayer != null)
            {
                Map.MapFrame.DrawingLayers.Remove(_tempLayer);
                Map.MapFrame.Invalidate();

                _tempLayer = null;
            }

            Map.Invalidate();
        }