public void SelectAll(object parameter) { var oldSelection = new List <Coordinates>(Owner.BitmapManager.ActiveDocument.ActiveSelection.SelectedPoints); Owner.BitmapManager.ActiveDocument.ActiveSelection.SetSelection(selectTool.GetAllSelection(), SelectionType.New); SelectionHelpers.AddSelectionUndoStep(Owner.BitmapManager.ActiveDocument, oldSelection, SelectionType.New); }
public void Deselect(object parameter) { var oldSelection = new List <Coordinates>(Owner.BitmapManager.ActiveDocument.ActiveSelection.SelectedPoints); Owner.BitmapManager.ActiveDocument.ActiveSelection?.Clear(); SelectionHelpers.AddSelectionUndoStep(Owner.BitmapManager.ActiveDocument, oldSelection, SelectionType.New); }
public void TestThatUndoWorks() { Document document = new Document(10, 10); IEnumerable <Coordinates> oldSelection = new List <Coordinates>(document.ActiveSelection.SelectedPoints); document.ActiveSelection.SetSelection(new[] { new Coordinates(0, 0), new Coordinates(5, 7) }, SelectionType.Add); Assert.NotEqual(oldSelection, document.ActiveSelection.SelectedPoints); SelectionHelpers.AddSelectionUndoStep(document, oldSelection, SelectionType.Add); document.UndoManager.Undo(); Assert.Equal(oldSelection, document.ActiveSelection.SelectedPoints); }