protected override void Execute(CommandExecuteArgs args) { var handler = Handler as CharacterHandler; DoDelete(handler.CursorPosition); handler.EnsureVisible(handler.CursorPosition); }
public void ExecuteAsync(CommandBase cmd, object parameter) { if (cmd != null) { if (cmd.IsSupportedAndReady()) { if (cmd.HasBusy) { cmd.SetBusy(); } if (cmd.UseBackgroundThread) { _stopwatch.Reset(); _stopwatch.Start(); BackgroundWorker bg = new BackgroundWorker(); bg.DoWork += bg_DoWork; _arg = new CommandExecuteArgs { Command = cmd, Parameter = parameter }; bg.RunWorkerAsync(_arg); bg.RunWorkerCompleted += bg_RunWorkerCompleted; } else { cmd.Execute(parameter); ProcessInferiorCommands(cmd, parameter); } } } }
protected override void Execute(CommandExecuteArgs args) { CharacterHandler handler = Handler as CharacterHandler; if (handler != null) { Canvas canvas = handler.CurrentPage.Canvas; Point pos = handler.CursorPosition; switch (direction) { case MoveDirection.Up: MoveTo(pos.X, pos.Y - 1); break; case MoveDirection.Down: MoveTo(pos.X, pos.Y + 1); break; case MoveDirection.Left: MoveTo(pos.X - 1, pos.Y); break; case MoveDirection.Right: MoveTo(pos.X + 1, pos.Y); break; case MoveDirection.PageUp: MoveVertical(pos, -1); break; case MoveDirection.PageDown: MoveVertical(pos, 1); break; case MoveDirection.First: MoveTo(0, pos.Y); break; case MoveDirection.Last: MoveTo(canvas.Width - 1, pos.Y); break; case MoveDirection.Top: MoveTo(pos.X, 0); break; case MoveDirection.Bottom: MoveTo(pos.X, canvas.Height - 1); break; } handler.EnsureVisible(handler.CursorPosition); } }
protected override void Execute(CommandExecuteArgs args) { var handler = Handler as CharacterHandler; Canvas canvas = handler.CurrentPage.Canvas; if (handler.CursorPosition.X > 0) { Point newPoint = handler.CursorPosition; newPoint.X--; if (handler.InsertMode) { canvas.DeleteCharacter(newPoint.X, newPoint.Y, CanvasElement.Default); handler.InvalidateCharacterRegion(new Rectangle(newPoint, new Size(canvas.Width - newPoint.X, 1)), true); } else { canvas [newPoint] = CanvasElement.Default; } handler.CursorPosition = newPoint; } else if (handler.InsertMode && handler.CursorPosition.Y > 0) { // move line up! MoveLineUp(handler.CursorPosition, handler.WrapMode); } }
protected override void Execute(CommandExecuteArgs args) { if (DrawBrush == null) { return; } var gradient = DrawBrush.GetCharacters(Handler.CurrentPage.Font.Encoding); Do(Location, Handler.CursorPosition, Handler.DrawAttribute, gradient, Size, Inverse, ApplyColour); }
protected override void Execute(CommandExecuteArgs args) { var handler = this.Handler; var rect = tool.SelectedRegion.Value; Do(rect, handler.CursorPosition, handler.DrawElement); tool.DrawMode = DrawMode.Normal; tool.SelectedRegion = null; handler.CursorPosition = rect.TopLeft; }
protected override void Execute(CommandExecuteArgs args) { CharacterHandler handler = base.Handler as CharacterHandler; var size = handler.CurrentPage.Canvas.Size; var dialog = new WidthDialog(); dialog.Width = size.Width; var result = dialog.ShowModal(handler.Viewer as Control); if (result == DialogResult.Ok) { DoResize(dialog.Width); } }
protected override void Execute(CommandExecuteArgs args) { var handler = tool.Handler; if (tool.SelectedRegion == null) { return; } var rect = tool.SelectedRegion.Value; // copy the selected region rect.Normalize(); var location = rect.TopLeft; var canvas = new MemoryCanvas(rect.Size); canvas.Set(Point.Empty, rect, handler.CurrentPage.Canvas); // save to clipboard var cb = new Clipboard(); cb.Clear(); // clear out contents of clipboard // save as text var ascii = new Types.Ascii(handler.Info); cb.Text = ascii.SaveToText(canvas, handler.CurrentPage.Font.Encoding); // save as ansi using (var ansistream = new MemoryStream()) { var writer = new BinaryWriter(ansistream); writer.Write(canvas.Width); writer.Write(canvas.Height); writer.Flush(); Types.Pablo.Save(ansistream, canvas, handler.CurrentPage.Palette); ansistream.Flush(); cb.SetDataStream(ansistream, "pablo"); } handler.Undo.Save(handler.CursorPosition, location, rect); handler.CurrentPage.Canvas.Fill(rect, handler.DrawElement); handler.InvalidateCharacterRegion(rect, true, true); tool.DrawMode = DrawMode.Normal; handler.CursorPosition = location; // go to starting position for the block }
protected override void Execute(CommandExecuteArgs args) { var handler = Handler as CharacterHandler; var pasteMode = tool.PasteMode; var canvas = GetCanvasFromClipboard(); if (canvas != null) { handler.Undo.Save(handler.CursorPosition, handler.CursorPosition, new Rectangle(handler.CursorPosition, canvas.Size)); handler.CurrentPage.Canvas.Set(handler.CursorPosition, new Rectangle(canvas.Size), canvas, pasteMode); handler.InvalidateCharacterRegion(new Rectangle(handler.CursorPosition, canvas.Size), true); } }
protected override void Execute(CommandExecuteArgs args) { CharacterHandler handler = Handler as CharacterHandler; Point pos = handler.CursorPosition; base.Execute(args); // move to new position! // now we want to select from where we were to the new position // if already selecting a region, set new destination point to current position if (handler.Info.ShiftSelect && (tool.DrawMode == DrawMode.Normal)) { tool.DrawMode = DrawMode.Selecting; tool.SelectedRegion = new Rectangle(pos, handler.CursorPosition); } }
protected override void Execute(CommandExecuteArgs args) { var handler = this.Handler as CharacterHandler; var canvas = handler.CurrentPage.Canvas; Point cursor = handler.CursorPosition; handler.Undo.Save(new UndoDeleteColumn(handler, cursor.X) { CursorLocation = cursor }); canvas.DeleteColumn(cursor.X); handler.InvalidateCharacterRegion(new Rectangle(cursor.X, 0, canvas.Width - cursor.X, canvas.Height), true); }
protected override void Execute(CommandExecuteArgs args) { if (main.Document != null) { EtoFileInfo file = main.FileList.SelectedFile; Document doc = (main.EditMode) ? main.Document : null; if (file != null || doc != null) { var si = new SauceInfoDialog(file, doc); if (si.ShowModal(main) == DialogResult.Ok && !main.EditMode) { main.ReloadFile(false, false, false); } } } }
private void bg_DoWork(object sender, DoWorkEventArgs e) { if (e.Argument != null) { var argument = e.Argument as CommandExecuteArgs; if (argument != null) { CommandExecuteArgs arg = argument; if (arg.Command != null) { arg.Command.Execute(arg.Parameter); ProcessInferiorCommands(arg.Command, arg.Parameter); } } } }
protected override void Execute(CommandExecuteArgs args) { var handler = Handler as CharacterHandler; Canvas canvas = handler.CurrentPage.Canvas; Point cursor = handler.CursorPosition; handler.Undo.Save(new UndoDeleteLine(handler, cursor.Y) { CursorLocation = cursor }); canvas.DeleteRow(cursor.Y); Rectangle rect = new Rectangle(0, cursor.Y, canvas.Width, canvas.Height - cursor.Y); handler.InvalidateCharacterRegion(rect, true); }
protected override void Execute(CommandExecuteArgs args) { var handler = Handler as CharacterHandler; var pos = Location ?? handler.CursorPosition; var ce = new CanvasElement(this.Character, handler.DrawAttribute); var insmode = handler.InsertMode; var nextPos = pos; if (nextPos.X < handler.CurrentPage.Canvas.Width - 1) { nextPos.X++; } Do(handler, pos, ce, insmode, false, true, pos, nextPos); MoveCursor(); }
protected override void Execute(CommandExecuteArgs args) { CharacterHandler handler = this.Handler as CharacterHandler; // Stamp the selected region Canvas canvas = tool.PasteCanvas; Rectangle?clearRect = null; if (tool.ClearSelected) { clearRect = tool.SelectedRegion.Value; tool.ClearSelected = false; } Do(handler.CursorPosition, tool.PasteMode, canvas, clearRect, handler.CursorPosition); tool.SelectedRegion = null; }
protected override void Execute(CommandExecuteArgs args) { NewFileDialog nfd = new NewFileDialog(main.Settings); DialogResult dr = nfd.ShowModal(main); if (dr == DialogResult.Ok) { if (FileModifiedDialog.Show(main) == DialogResult.Ok) { // create a new document then edit it main.FileList.SelectedIndex = -1; var doc = nfd.SelectedDocumentType.Create(main.Platform); doc.IsNew = true; doc.EditMode = true; main.SetDocument(doc, true); } } }
protected override void Execute(CommandExecuteArgs args) { CharacterHandler handler = this.Handler as CharacterHandler; Canvas canvas = handler.CurrentPage.Canvas; Point cursor = handler.CursorPosition; if (cursor.Y < canvas.Height - 1) { var pos = cursor; pos.Y++; pos.X = 0; if (handler.InsertMode) { InsertLine(pos, cursor); } handler.CursorPosition = pos; handler.EnsureVisible(handler.CursorPosition); } }
protected override void Execute(CommandExecuteArgs args) { var handler = this.Handler as CharacterHandler; var attribs = GetAttribs(); if (attribs != null) { Do(handler.CursorPosition, attribs); if (tool != null) { handler.InvalidateCharacterRegion(attribs.Rectangle, true, true); tool.ClearSelected = false; tool.DrawMode = DrawMode.Normal; handler.CursorPosition = attribs.Rectangle.TopLeft; } else { handler.InvalidateCharacterRegion(attribs.Rectangle, true, false); } } }
protected override void Execute(CommandExecuteArgs args) { Do(Handler.CursorPosition, Rectangle, Element, ApplyColour, ApplyCharacter, Filled); }
protected override void Execute(CommandExecuteArgs args) { Do(Handler.CursorPosition, Start, End, Element, ApplyColour, ApplyCharacter); }
// Function called when the DaysToKeep setting is changed private void daysChanged_Execute(object sender, CommandExecuteArgs args) { SingletonComicsUpdater.Instance.UpdateNow(); }
protected override void Execute(CommandExecuteArgs args) { Do(); }
protected override void Execute(CommandExecuteArgs args) { Handler.Undo.Undo(); }
protected abstract void Execute(CommandExecuteArgs args);