Class RMUndoer
- java.lang.Object
- 
- com.reportmill.base.RMObject
- 
- com.reportmill.base.RMUndoer
 
 
- 
- All Implemented Interfaces:
- RMArchiver.Archiving,- java.lang.Cloneable
 
 public class RMUndoer extends RMObject RMUndoer - this object manages undo by keeping copies of changed objects. For objects to be undoable they must do the following:Call: undoer.addDirtyObject(this) - This registers and objects for possible change Implement: undoClone() or clone() - A typical clone implementation should do, except that all relationship objects should be copied deep unless they also register with addDirtyObject(). Objects are copied the first time they are sent to addDirtyObject(). Implement: undoEquals() or equals() - A typical equals implementation should do. At the end of the current event, objects that end up being equal to their registered clone are trimmed to avoid unecessary archival (and no-op undo events). Implement: undoCopy(anObj) or copy(anObj) - This method should restore the state of an object from its registered clone. All relationship objects should be copied deep, unless they also register with addDirtyObject(). 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classRMUndoer.RMUndoEventThis class reprents a distinct "undoable event".
 - 
Constructor SummaryConstructors Constructor Description RMUndoer()Creates a new undoer.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDirtyObject(RMObject anObj)Adds the given object to the current undo record.java.util.ListallUndos()Returns all undos (including the current one, if changes are pending).voiddisable()Disables undoer so it can receive new changes.voidenable()Enables undoer.booleangetCoalesce()Returns whether undoer coalesces changes.intgetDirtyObjectCount()Returns the number of dirty objects in the current undo record.intgetDisabled()Returns whether undoer is disabled.RMUndoer.RMUndoEventgetRecentUndo()Returns most recent undo event.RMUndoer.RMUndoEventgetRedoEvent()Returns the next redo event.RMUndoer.RMUndoEventgetRedoLast()Returns the last redo.java.util.ListgetRedoSelectedObjects()Returns the list of objects that should be selected after current undo is redone.RMUndoer.RMUndoEventgetUndoEvent()Returns the next undo event.RMUndoer.RMUndoEventgetUndoLast()Returns the last undo.java.util.ListgetUndoSelectedObjects()Returns the list of objects that should be selected after current undo is fired.booleanhasUndos()Returns whether undoer has undoable changes stored away.booleanisBenignChange(java.lang.String aString)Returns whether a given change doesn't really effect signficant state change.booleanisDuplicate(java.lang.String aTitle, RMObject anObj)Returns whether given title is title of last undo.voidredo()Pops last redo event off stack and has it update all changed objects it contains.java.util.Listredos()Returns the list of redos.voidreset()Resets the undoer to its initial state (good to do when a document is saved).voidsaveChanges()Pushes current undo record on the stack and opens new one.voidsetCoalesce(boolean aFlag)Sets whether undoer coalesces changes.voidsetDisabled(int aValue)Sets whether undoer is disabled.voidsetRedoSelectedObjects(java.util.List aList)Sets the list of objects that should be selected after current undo is redone.voidsetUndoSelectedObjects(java.util.List aList)Sets the list of objects that should be selected after current undo is fired.voidsetUndoTitle(java.lang.String aString)Sets the title of the current undo.voidundo()Pops last undo event off stack an has it update all changed objects it contains.java.util.Listundos()Returns the list of undos.- 
Methods inherited from class com.reportmill.base.RMObjectclone, copy, didChange, didUndo, getAnimAttribute, getClassNameShort, initWithArchiver, undoClone, undoCopy, undoEquals
 
- 
 
- 
- 
- 
Method Detail- 
getDirtyObjectCountpublic int getDirtyObjectCount() Returns the number of dirty objects in the current undo record.
 - 
addDirtyObjectpublic void addDirtyObject(RMObject anObj) Adds the given object to the current undo record.
 - 
saveChangespublic void saveChanges() Pushes current undo record on the stack and opens new one.
 - 
undopublic void undo() Pops last undo event off stack an has it update all changed objects it contains.
 - 
redopublic void redo() Pops last redo event off stack and has it update all changed objects it contains.
 - 
disablepublic void disable() Disables undoer so it can receive new changes.
 - 
enablepublic void enable() Enables undoer.
 - 
getDisabledpublic int getDisabled() Returns whether undoer is disabled.
 - 
setDisabledpublic void setDisabled(int aValue) Sets whether undoer is disabled.
 - 
getCoalescepublic boolean getCoalesce() Returns whether undoer coalesces changes.
 - 
setCoalescepublic void setCoalesce(boolean aFlag) Sets whether undoer coalesces changes.
 - 
getRecentUndopublic RMUndoer.RMUndoEvent getRecentUndo() Returns most recent undo event.
 - 
resetpublic void reset() Resets the undoer to its initial state (good to do when a document is saved).
 - 
isBenignChangepublic boolean isBenignChange(java.lang.String aString) Returns whether a given change doesn't really effect signficant state change.
 - 
hasUndospublic boolean hasUndos() Returns whether undoer has undoable changes stored away.
 - 
getUndoEventpublic RMUndoer.RMUndoEvent getUndoEvent() Returns the next undo event.
 - 
getRedoEventpublic RMUndoer.RMUndoEvent getRedoEvent() Returns the next redo event.
 - 
setUndoTitlepublic void setUndoTitle(java.lang.String aString) Sets the title of the current undo.
 - 
undospublic java.util.List undos() Returns the list of undos.
 - 
redospublic java.util.List redos() Returns the list of redos.
 - 
getUndoLastpublic RMUndoer.RMUndoEvent getUndoLast() Returns the last undo.
 - 
getRedoLastpublic RMUndoer.RMUndoEvent getRedoLast() Returns the last redo.
 - 
allUndospublic java.util.List allUndos() Returns all undos (including the current one, if changes are pending).
 - 
getUndoSelectedObjectspublic java.util.List getUndoSelectedObjects() Returns the list of objects that should be selected after current undo is fired.
 - 
setUndoSelectedObjectspublic void setUndoSelectedObjects(java.util.List aList) Sets the list of objects that should be selected after current undo is fired.
 - 
getRedoSelectedObjectspublic java.util.List getRedoSelectedObjects() Returns the list of objects that should be selected after current undo is redone.
 - 
setRedoSelectedObjectspublic void setRedoSelectedObjects(java.util.List aList) Sets the list of objects that should be selected after current undo is redone.
 - 
isDuplicatepublic boolean isDuplicate(java.lang.String aTitle, RMObject anObj)Returns whether given title is title of last undo.
 
- 
 
-