public void PerformAction(DocumentWorkspace documentWorkspace) { HistoryMemento memento; if (documentWorkspace.Selection.IsEmpty) { memento = null; } else { CopyToClipboardAction action = new CopyToClipboardAction(documentWorkspace); if (!action.PerformAction()) { memento = null; } else { using (new PushNullToolMode(documentWorkspace)) { HistoryMemento memento2 = new EraseSelectionFunction().Execute(documentWorkspace); HistoryMemento[] actions = new HistoryMemento[] { memento2 }; CompoundHistoryMemento memento3 = new CompoundHistoryMemento(StaticName, StaticImage, actions); memento = memento3; } } } if (memento != null) { documentWorkspace.History.PushNewMemento(memento); } }
public void PerformAction(DocumentWorkspace documentWorkspace) { HistoryMemento finalHM; if (documentWorkspace.Selection.IsEmpty) { finalHM = null; } else { CopyToClipboardAction ctca = new CopyToClipboardAction(documentWorkspace); bool result = ctca.PerformAction(); if (!result) { finalHM = null; } else { using (new PushNullToolMode(documentWorkspace)) { EraseSelectionFunction esa = new EraseSelectionFunction(); HistoryMemento hm = esa.Execute(documentWorkspace); CompoundHistoryMemento chm = new CompoundHistoryMemento( StaticName, StaticImage, new HistoryMemento[] { hm }); finalHM = chm; } } } if (finalHM != null) { documentWorkspace.History.PushNewMemento(finalHM); } }