// Create a new undo entry and put on the stack.
// The current pointer points to the new entry.
// delete future undos if in the middle
// delete undos older than UNDOLEVELS if last
UndoStackItem* push();
// Create a new undo entry and put on the stack.
// The current pointer points to the new entry.
// delete future undos if in the middle
// delete undos older than UNDOLEVELS if last
UndoStackItem* push();