private void Add() { if (m_currentCommand == null) { return; } RedoCommands.Clear(); UndoCommands.AddFirst(m_currentCommand.Clone()); Overflow(); UpdateHistory(); }
public void ExcuteCommand(ICommand command, params object[] args) { if(!command.Excute(args)) return; reverseStack.Clear(); if (command is IBackableCommand) { undoStack.Push((ICommand)command.Clone()); } else { undoStack.Clear(); } UndoStateChanged(undoStack.Count > 0); }
public void ExcuteCommand(ICommand command, params object[] args) { if (!command.Excute(args)) { return; } reverseStack.Clear(); if (command is IBackableCommand) { undoStack.Push((ICommand)command.Clone()); } else { undoStack.Clear(); } UndoStateChanged(undoStack.Count > 0); }
public static IEnumerable <ICommand> Split(this ICommand command) { var results = new List <ICommand>(); var paramsSplited = command.Parameters.Split(','); var setting = new Newtonsoft.Json.JsonSerializerSettings() { TypeNameHandling = Newtonsoft.Json.TypeNameHandling.All, }; foreach (var p in paramsSplited) { var newCommand = command.Clone(); newCommand.Parameters = p.Trim(); results.Add(newCommand); } return(results); }