//////////////////////////////////////////////////////////////////////////////// // // Licensed to the Apache Software Foundation (ASF) under one or more // contributor license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright ownership. // The ASF licenses this file to You under the Apache License, Version 2.0 // (the "License"); you may not use this file except in compliance with // the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // //////////////////////////////////////////////////////////////////////////////// package flashx.undo { /** * IUndoManager defines the interface for managing the undo and redo stacks. * *

An undo manager maintains a stack of operations that can be undone and redone.

* * @playerversion Flash 10 * @playerversion AIR 1.5 * @langversion 3.0 */ public interface IUndoManager { /** * Clears both the undo and the redo histories. * * @playerversion Flash 10 * @playerversion AIR 1.5 * @langversion 3.0 */ function clearAll():void; /** * The maximum number of undoable or redoable operations to track. * *

To disable the undo function, set this value to 0.

* * @playerversion Flash 10 * @playerversion AIR 1.5 * @langversion 3.0 */ function get undoAndRedoItemLimit():int; function set undoAndRedoItemLimit(value:int):void; /** * Indicates whether there is currently an operation that can be undone. * * @return Boolean true, if there is an operation on the undo stack that can be reversed. * Otherwise, false. * * @playerversion Flash 10 * @playerversion AIR 1.5 * @langversion 3.0 */ function canUndo():Boolean; /** * Returns the next operation to be undone. * * @return IOperation The undoable IOperation object, or null, if no undoable operation * is on the stack. * * @playerversion Flash 10 * @playerversion AIR 1.5 * @langversion 3.0 */ function peekUndo():IOperation; /** * Removes the next operation to be undone from the undo stack, and returns it. * * @return IOperation The undoable IOperation object, or null, if no undoable operation * is on the stack. * * @playerversion Flash 10 * @playerversion AIR 1.5 * @langversion 3.0 */ function popUndo():IOperation; /** * Adds an undoable operation to the undo stack. * * @playerversion Flash 10 * @playerversion AIR 1.5 * @langversion 3.0 */ function pushUndo(operation:IOperation):void; /** * Clears the redo stack. * * @playerversion Flash 10 * @playerversion AIR 1.5 * @langversion 3.0 */ function clearRedo():void; /** * Indicates whether there is currently an operation that can be redone. * * @return Boolean true, if there is an operation on the redo stack that can be redone. * Otherwise, false. * * @playerversion Flash 10 * @playerversion AIR 1.5 * @langversion 3.0 */ function canRedo():Boolean; /** * Returns the next operation to be redone. * * @return IOperation The redoable IOperation object, or null, if no redoable operation * is on the stack. * * @playerversion Flash 10 * @playerversion AIR 1.5 * @langversion 3.0 */ function peekRedo():IOperation; /** * Removes the next operation to be redone from the redo stack, and returns it. * * @return IOperation The redoable IOperation object, or null, if no redoable operation * is on the stack. * @playerversion Flash 10 * @playerversion AIR 1.5 * @langversion 3.0 */ function popRedo():IOperation; /** * Adds a redoable operation to the redo stack. * * @playerversion Flash 10 * @playerversion AIR 1.5 * @langversion 3.0 */ function pushRedo(operation:IOperation):void; /** * Removes the next IOperation object from the undo stack and calls the performUndo() * function of that object. * * @see flashx.textLayout.edit.IEditManager#undo() * @see flashx.undo.IUndoManager#canUndo() * @see flashx.undo.IUndoManager#clearUndo() * @see flashx.undo.IUndoManager#peekUndo() * @see flashx.undo.IUndoManager#pushUndo() * @see flashx.undo.IUndoManager#popUndo() */ function undo():void; /** * Removes the next IOperation object from the redo stack and calls the performRedo() * function of that object. * * @see flashx.textLayout.edit.IEditManager#redo() * @see flashx.undo.IUndoManager#canRedo() * @see flashx.undo.IUndoManager#clearRedo() * @see flashx.undo.IUndoManager#peekRedo() * @see flashx.undo.IUndoManager#pushRedo() * @see flashx.undo.IUndoManager#popRedo() */ function redo():void; } }