//////////////////////////////////////////////////////////////////////////////// // // 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 Booleantrue
, 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;
}
}