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); }
private void MapBeforeShapeEdit(object sender, BeforeShapeEditEventArgs e) { _broadcaster.BroadcastEvent(p => p.BeforeShapeEdit_, sender as IMuteMap, e); }