private static IUndoable GetCurrentUndoableRecursive(UndoableGroup undoableGroup) { IUndoable undoable = undoableGroup.CurrentUndoable; UndoableGroup childGroup = undoable as UndoableGroup; if (childGroup != null) { undoable = UndoableGroup.GetCurrentUndoableRecursive(childGroup); } return(undoable); }
/// <summary> /// Initializes a new instance of the ControllerBase class. /// </summary> /// <param name="parentGroup"> /// The UndoableGroup to which this UndoableRegion should be added. /// Usually, this will be the UndoManager. /// </param> public UndoableRegion(UndoableGroup parentGroup) { this.undoableExplicitGroup = new UndoableExplicitGroup(); parentGroup.Add(this.undoableExplicitGroup); }