| Package | com.yworks.support |
| Class | public class UndoEngine |
| Inheritance | UndoEngine flash.events.EventDispatcher |
| Implements | IUndoUnit |
IUndoUnit instances to support undoability.
| Property | Defined By | ||
|---|---|---|---|
| autoAddTimeSpan : int
The timespan in milliseconds during which two events will be merged. | UndoEngine | ||
| currentCompoundEdit : ICompoundEdit [read-only]
Gets a possibly open current compound edit. | UndoEngine | ||
| mergeUnits : Boolean
Whether or not this instance should try to merge newly added units. | UndoEngine | ||
| performingRedo : Boolean [read-only]
Indicates whether this instance is currently performing a redo operation. | UndoEngine | ||
| performingUndo : Boolean [read-only]
Indicates whether this instance is currently performing an undo operation. | UndoEngine | ||
| redoName : String
Returns the name of the redo unit. | UndoEngine | ||
| redoText : String [read-only]
The IUndoUnit.redoName of the next redo operation. | UndoEngine | ||
| size : uint
The maximum size of the undo queue this instance is managing. | UndoEngine | ||
| undoName : String
The name of the undo unit. | UndoEngine | ||
| undoText : String [read-only]
The IUndoUnit.undoName of the next undo operation. | UndoEngine | ||
| Method | Defined By | ||
|---|---|---|---|
addToQueue(unit:IUndoUnit):void
Adds a new IUndoUnit to the queue. | UndoEngine | ||
This implementation always returns false
Allows for collapsing multiple units into one. | UndoEngine | ||
beginCompoundEdit(undoName:String, redoName:String):ICompoundEdit
Begins a compound edit that will use the provided name. | UndoEngine | ||
canRedo():Boolean
Determines whether this instance can currently redo its work. | UndoEngine | ||
canUndo():Boolean
Determines whether this instance can currently undo its work. | UndoEngine | ||
clear():void
Clears the internal queue. | UndoEngine | ||
dispose():void
Frees all used resources and calls end. | UndoEngine | ||
getToken():Object
Returns a token that can be used to store and compare the state of the undo queue. | UndoEngine | ||
redo():void
Redoes the change that is represented by this unit. | UndoEngine | ||
redoNext():void
Redoes the next IUndoUnit
| UndoEngine | ||
replaceUnit(unit:IUndoUnit):Boolean
This implementation always returns false
Allows for collapsing multiple units into one. | UndoEngine | ||
toString():String [override]
| UndoEngine | ||
undo():void
Undoes all units in this queue. | UndoEngine | ||
undoNext():void
Undoes the next IUndoUnit. | UndoEngine | ||
| Method | Defined By | ||
|---|---|---|---|
onPropertyChanged(name:String, oldValue:Object, newValue:Object):void
This will trigger the corresponding PropertyChangedEvent. | UndoEngine | ||
| Event | Summary | Defined By | ||
|---|---|---|---|---|
| Dispatched when the value of the performingUndo or performingRedo property changes. | UndoEngine | |||
| autoAddTimeSpan | property |
autoAddTimeSpan:intThe timespan in milliseconds during which two events will be merged.
Setting this to 0 will effectively disable automatic merging.
The default value is 100.
This property can be used as the source for data binding.
public function get autoAddTimeSpan():int public function set autoAddTimeSpan(value:int):void| currentCompoundEdit | property |
currentCompoundEdit:ICompoundEdit [read-only] Gets a possibly open current compound edit.
Indicates and possibly returns the currently active ICompoundEdit
that has been started using beginCompoundEdit.
public function get currentCompoundEdit():ICompoundEditSee also
| mergeUnits | property |
mergeUnits:BooleanWhether or not this instance should try to merge newly added units.
If true this instance will try to merge using IUndoUnit.addUnit
or replace using IUndoUnit.replaceUnit units in the queue.
This property can be used as the source for data binding.
public function get mergeUnits():Boolean public function set mergeUnits(value:Boolean):void| performingRedo | property |
performingRedo:Boolean [read-only] Indicates whether this instance is currently performing a redo operation.
This property can be used as the source for data binding.
public function get performingRedo():Boolean| performingUndo | property |
performingUndo:Boolean [read-only] Indicates whether this instance is currently performing an undo operation.
This property can be used as the source for data binding.
public function get performingUndo():Boolean| redoName | property |
redoName:StringReturns the name of the redo unit.
Depending on the implementation and context this might be a human readable representation of the redo action or a symbolic name that needs localization.
This property can be used as the source for data binding.
public function get redoName():String public function set redoName(value:String):void| redoText | property |
redoText:String [read-only]
The IUndoUnit.redoName of the next redo operation.
This property is not bindable. Use redoName if data binding is needed.
public function get redoText():String| size | property |
size:uintThe maximum size of the undo queue this instance is managing.
A size of 0 effectively disables this implementation.
This property can be used as the source for data binding.
public function get size():uint public function set size(value:uint):void| undoName | property |
undoName:StringThe name of the undo unit.
Depending on the implementation and context this might be a human readable representation of the undo action or a symbolic name that needs localization.
This property can be used as the source for data binding.
public function get undoName():String public function set undoName(value:String):void| undoText | property |
undoText:String [read-only]
The IUndoUnit.undoName of the next undo operation.
This property is not bindable. Use undoName if data binding is needed.
public function get undoText():String| addToQueue | () | method |
public function addToQueue(unit:IUndoUnit):void
Adds a new IUndoUnit to the queue.
This implementation will automatically group multiple units
into a single unit if the time since the last add is less than autoAddTimeSpan.
Parameters
unit:IUndoUnit — The unit of work to add.
|
| addUnit | () | method |
public function addUnit(unit:IUndoUnit):Boolean
This implementation always returns false
Allows for collapsing multiple units into one.
Implementation should try to incorporate the change of unit into this
and if successful return true.
This method will be called by the UndoEngine
to collapse multiple events into single events.
Typically this unit has been placed onto an undo
stack and unit should be placed on top of it. Both units have been done
and might be undone in an upcoming action. If this method yields true,
the provided unit will not be placed onto the stack but will be IDisposable.disposed.
Parameters
unit:IUndoUnit — The unit to incorporate that happened after this unit.
|
Boolean — Whether the state change of unit has been incorporated into this
unit and unit can be disposed of.
|
| beginCompoundEdit | () | method |
public function beginCompoundEdit(undoName:String, redoName:String):ICompoundEditBegins a compound edit that will use the provided name.
This will create a new edit that can independently be canceled or ended.
Note that only if the outer-most instance is ended, the corresponding
IUndoUnit units will be enqueued into this instance.
Parameters
undoName:String — The undo name to use for the edit.
| |
redoName:String — The redo name to use for the edit.
|
ICompoundEdit — A compound edit implemenation that needs to be canceled or ended later.
|
| canRedo | () | method |
public function canRedo():Boolean
Determines whether this instance can currently redo its work.
Boolean — Whether a call to redo will succeed.
|
| canUndo | () | method |
public function canUndo():Boolean
Determines whether this instance can currently undo its work.
Boolean — Whether a call to undo will succeed.
|
| clear | () | method |
public function clear():voidClears the internal queue.
| dispose | () | method |
public function dispose():void
Frees all used resources and calls end.
| getToken | () | method |
public function getToken():ObjectReturns a token that can be used to store and compare the state of the undo queue.
E.g. an application can retrieve the token once the user has saved his document. Comparing the token returned by this instance with another one retrieved at a later point in time enables the application to determine whether the document is in the same state.
ReturnsObject — An object that can be checked against other tokens via the Object.equals(Object) method.
|
| onPropertyChanged | () | method |
protected function onPropertyChanged(name:String, oldValue:Object, newValue:Object):void
This will trigger the corresponding PropertyChangedEvent.
Parameters
name:String — The name of the property that changed.
| |
oldValue:Object | |
newValue:Object |
| redo | () | method |
public function redo():voidRedoes the change that is represented by this unit.
This method will only succeed if canRedo yields true.
| redoNext | () | method |
public function redoNext():void
Redoes the next IUndoUnit
| replaceUnit | () | method |
public function replaceUnit(unit:IUndoUnit):Boolean
This implementation always returns false
Allows for collapsing multiple units into one.
Implementation should try to incorporate the change of unit into this
and if successful return true.
This method will be called by the UndoEngine
to collapse multiple events into single events.
Typically unit has already been placed onto an undo stack and this
should be placed on top of it. Both units have been done and might be undone in an upcoming action.
If this method yields true, this unit will replace the unit on the top of the stack and
unit will be IDisposable.Disposed.
Parameters
unit:IUndoUnit — The unit to incorporate that happened before this unit.
|
Boolean — Whether the state change of unit has been incorporated into this unit and
unit can be disposed of.
|
| toString | () | method |
override public function toString():StringReturns
String |
| undo | () | method |
public function undo():voidUndoes all units in this queue. Undoes the change that is represented by this unit.
This method will only succeed if canUndo yields true.
| undoNext | () | method |
public function undoNext():void
Undoes the next IUndoUnit.
| propertyChange | Event |
mx.event.PropertyChangeEventmx.event.PropertyChangeEvent.PROPERTY_CHANGE
Dispatched when the value of the performingUndo or performingRedo
property changes.