Пример #1
0
        public void ReplaceShape(int layerHandle, int shapeIndex, IGeometry newGeometry)
        {
            var layer = _context.Layers.GetVectorLayer(layerHandle);

            if (layer == null)
            {
                MessageService.Current.Info("Layer with specified handle not found.");
                return;
            }

            BeforeShapeEditEventArgs beforeargs = new BeforeShapeEditEventArgs(layerHandle, shapeIndex, false);

            _broadcaster.BroadcastEvent(p => p.BeforeShapeEdit_, _context.Map, beforeargs);

            if (beforeargs.Cancel == true)
            {
                return;
            }

            _context.Map.History.Add(UndoOperation.EditShape, layerHandle, shapeIndex);
            layer.Data.Features.EditUpdate(shapeIndex, newGeometry);

            AfterShapeEditEventArgs afterargs = new AfterShapeEditEventArgs(UndoOperation.EditShape, layerHandle, shapeIndex);

            _broadcaster.BroadcastEvent(p => p.AfterShapeEdit_, _context.Map, afterargs);
        }
Пример #2
0
 private void MapBeforeShapeEdit(object sender, BeforeShapeEditEventArgs e)
 {
     _broadcaster.BroadcastEvent(p => p.BeforeShapeEdit_, sender as IMuteMap, e);
 }