void RedoCloneSelected(List <uint> selection) { Trace.WriteLine("redoCloneSelected:"); Manipulated = itemsController; items.CurrentSelection = selection; Manipulated.CloneSelected(); undo.PrepareUndo("Clone", Invocation.Create(selection, UndoCloneSelected)); itemsController.UpdateSelection(); OnEachViewDo(view => view.Invalidate()); }
private void cloneToolStripMenuItem_Click(object sender, EventArgs e) { Trace.WriteLine("cloneSelected:"); if (Manipulated.SelectedCount <= 0) { return; } bool startManipulation = false; if (!manipulationFinished) { startManipulation = true; ManipulationEnded(null); } if (Manipulated == itemsController) { var selection = items.CurrentSelection; undo.PrepareUndo("Clone", Invocation.Create(selection, UndoCloneSelected)); Manipulated.CloneSelected(); } else { FullMeshAction("Clone", () => Manipulated.CloneSelected()); } OnEachViewDo(view => view.Invalidate()); if (startManipulation) { ManipulationStarted(null); } }