public async Task Invoke(IContext context)
            {
                if (context.TryGet("ActiveDocument", out MapDocument doc))
                {
                    var grid = await GridFactory.Create(doc.Environment);

                    var gd        = new GridData(grid);
                    var operation = new TrivialOperation(x => doc.Map.Data.Replace(gd), x => x.Update(gd));

                    await MapDocumentOperation.Perform(doc, operation);
                }
            }
 public async Task Invoke(IContext context, CommandParameters parameters)
 {
     if (context.TryGet("ActiveDocument", out MapDocument doc))
     {
         var activeGrid = doc.Map.Data.GetOne <GridData>();
         if (activeGrid != null)
         {
             var operation = new TrivialOperation(x => activeGrid.SnapToGrid = !activeGrid.SnapToGrid, x => x.Update(activeGrid));
             await MapDocumentOperation.Perform(doc, operation);
         }
     }
 }
Exemple #3
0
 public async Task Invoke(IContext context, CommandParameters parameters)
 {
     if (context.TryGet("ActiveDocument", out MapDocument doc))
     {
         var gd   = doc.Map.Data.Get <GridData>().FirstOrDefault();
         var grid = gd?.Grid;
         if (grid != null)
         {
             var operation = new TrivialOperation(x => grid.Spacing++, x => x.Update(gd));
             await MapDocumentOperation.Perform(doc, operation);
         }
     }
 }
        public async Task Invoke(IContext context, CommandParameters parameters)
        {
            if (context.TryGet("ActiveDocument", out MapDocument doc))
            {
                if (!_grids.Any())
                {
                    return;
                }

                var current = doc.Map.Data.GetOne <GridData>()?.Grid;
                var idx     = current == null ? -1 : Array.FindIndex(_grids, x => x.IsInstance(current));
                idx = (idx + 1) % _grids.Length;

                var grid = await _grids[idx].Create(doc.Environment);

                var gd        = new GridData(grid);
                var operation = new TrivialOperation(x => doc.Map.Data.Replace(gd), x => x.Update(gd));

                await MapDocumentOperation.Perform(doc, operation);
            }
        }