SourceUndoManager Class

com.bea.ide.sourceeditor
SourceUndoManager Class

public class SourceUndoManager

    extends UndoManager

The SourceUndoManager manages the undo/redo stacks and dirty state for a source document.


Hierarchy
Object
  AbstractUndoableEdit
    CompoundEdit
      UndoManager
        SourceUndoManager
All Implemented Interfaces

EventListener, Serializable, UndoableEdit, UndoableEditListener

Field Summary

   
Fields from  javax.swing.undo.CompoundEdit
edits
 
Fields from  javax.swing.undo.AbstractUndoableEdit
RedoName, UndoName
 

Constructor Summary

SourceUndoManager(ISourceDocument file)

Creates a new SourceUndoManager for the specified document
 

Method Summary

public boolean
addEdit(UndoableEdit e)
public void
discardAllEdits()
Clear all edits in the undo queue.
public Object
getMark()
Returns a mark object that can be used in conjunction with SourceUndoManager.undoToMark(Object)
public void
redo()
Performs a redo, updating document dirty state if needed.
public void
registerSourceView(ISourceView sv)
Registers a source view with this undo manager.
public void
setIgnoreEdits(boolean ignoreEdits)
Sets a flag indicating that edits should be ignored by the undo manager.
public void
setUncleanable()
Sets a flag indicating that this document cannot reach a clean state until the file is saved to disk.
public void
undo()
Performs an undo, updating document dirty state if needed.
public boolean
undoToMark(Object mark)
Used in conjunction with SourceUndoManager.getMark().
public void
unregisterSourceView(ISourceView sv)
Unegisters a source view from this undo manager.
 
Methods from  javax.swing.undo.UndoManager
canRedo, canUndo, canUndoOrRedo, editToBeRedone, editToBeUndone, end, getLimit, getRedoPresentationName, getUndoOrRedoPresentationName, getUndoPresentationName, redoTo, setLimit, toString, trimEdits, trimForLimit, undoableEditHappened, undoOrRedo, undoTo
 
Methods from  javax.swing.undo.CompoundEdit
addEdit, canRedo, canUndo, die, end, getPresentationName, getRedoPresentationName, getUndoPresentationName, isInProgress, isSignificant, lastEdit, redo, toString, undo
 
Methods from  javax.swing.undo.AbstractUndoableEdit
addEdit, canRedo, canUndo, die, getPresentationName, getRedoPresentationName, getUndoPresentationName, isSignificant, redo, replaceEdit, toString, undo
 
Methods from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
   
Methods from interface javax.swing.undo.UndoableEdit
addEdit, canRedo, canUndo, die, getPresentationName, getRedoPresentationName, getUndoPresentationName, isSignificant, redo, replaceEdit, undo
 
Methods from interface javax.swing.event.UndoableEditListener
undoableEditHappened
 

Constructor Detail

SourceUndoManager

public SourceUndoManager(ISourceDocument file)
Creates a new SourceUndoManager for the specified document
 

Method Detail

addEdit(UndoableEdit) Method

public boolean addEdit(UndoableEdit e)
Overrides
UndoManager.addEdit(UndoableEdit)

discardAllEdits() Method

public void discardAllEdits()
Clear all edits in the undo queue. These undos are then lost, and so the edits may not be undone.

Overrides
UndoManager.discardAllEdits()

getMark() Method

public Object getMark()
Returns a mark object that can be used in conjunction with SourceUndoManager.undoToMark(Object)

Returns

An object identifying the current location in the undo stack.

redo() Method

public void redo()
Performs a redo, updating document dirty state if needed.

Overrides
UndoManager.redo()

registerSourceView(ISourceView) Method

public void registerSourceView(ISourceView sv)
Registers a source view with this undo manager. All registered source views will have their caret position updated automatically as a result of undo and redo actions.

Parameters

sv
The source view.

setIgnoreEdits(boolean) Method

public void setIgnoreEdits(boolean ignoreEdits)
Sets a flag indicating that edits should be ignored by the undo manager. Great care must be taken when calling this method because the IDE will crash if the document state and the undo stack are in an unsynchronized state when the user attempts to undo or redo. It is the caller's responsiblity to ensure that the document and undo stack stay in sync for the entire time that the manager is ignoring edits.

Parameters

ignoreEdits
whether edits should be ignored

setUncleanable() Method

public void setUncleanable()
Sets a flag indicating that this document cannot reach a clean state until the file is saved to disk.


undo() Method

public void undo()
Performs an undo, updating document dirty state if needed.

Overrides
UndoManager.undo()

undoToMark(Object) Method

public boolean undoToMark(Object mark)
Used in conjunction with SourceUndoManager.getMark(). Undoes edits until a particular edit is on the top of the undo stack. If the undo isn't found, all undos will be executed, exhausting the stack.

Parameters

mark
The last edit that should remain on the stack

Returns

boolean indicating whether the mark was found

unregisterSourceView(ISourceView) Method

public void unregisterSourceView(ISourceView sv)
Unegisters a source view from this undo manager. While the undo manager will continue to function normally, unregistered source views will not have their caret positions updated as a result of undo/redo actions.

Parameters

sv
The source view.