Package org.fife.ui.rtextarea
Class RUndoManager
- java.lang.Object
-
- javax.swing.undo.AbstractUndoableEdit
-
- javax.swing.undo.CompoundEdit
-
- javax.swing.undo.UndoManager
-
- org.fife.ui.rtextarea.RUndoManager
-
- All Implemented Interfaces:
Serializable
,EventListener
,UndoableEditListener
,UndoableEdit
public class RUndoManager extends UndoManager
This class manages undos/redos for a particular editor pane. It groups all undos that occur one character position apart together, to avoid Java's horrible "one character at a time" undo behavior. It also recognizes "replace" actions (i.e., text is selected, then the user types), and treats it as a single action, instead of a remove/insert action pair.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class javax.swing.undo.CompoundEdit
edits
-
Fields inherited from class javax.swing.undo.AbstractUndoableEdit
RedoName, UndoName
-
-
Constructor Summary
Constructors Constructor Description RUndoManager(RTextArea textArea)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
beginInternalAtomicEdit()
Begins an "atomic" edit.void
endInternalAtomicEdit()
Ends an "atomic" edit.String
getCantRedoText()
Returns the localized "Can't Redo" string.String
getCantUndoText()
Returns the localized "Can't Undo" string.void
redo()
void
undo()
void
undoableEditHappened(UndoableEditEvent e)
void
updateActions()
Ensures that undo/redo actions are enabled appropriately and have descriptive text at all times.-
Methods inherited from class javax.swing.undo.UndoManager
addEdit, canRedo, canUndo, canUndoOrRedo, discardAllEdits, editToBeRedone, editToBeUndone, end, getLimit, getRedoPresentationName, getUndoOrRedoPresentationName, getUndoPresentationName, redoTo, setLimit, toString, trimEdits, trimForLimit, undoOrRedo, undoTo
-
Methods inherited from class javax.swing.undo.CompoundEdit
die, getPresentationName, isInProgress, isSignificant, lastEdit
-
Methods inherited from class javax.swing.undo.AbstractUndoableEdit
replaceEdit
-
-
-
-
Constructor Detail
-
RUndoManager
public RUndoManager(RTextArea textArea)
Constructor.- Parameters:
textArea
- The parent text area.
-
-
Method Detail
-
beginInternalAtomicEdit
public void beginInternalAtomicEdit()
Begins an "atomic" edit. This method is called when RTextArea KNOWS that some edits should be compound automatically, such as when the user is typing in overwrite mode (the deletion of the current char + insertion of the new one) or the playing back of a macro.- See Also:
endInternalAtomicEdit()
-
endInternalAtomicEdit
public void endInternalAtomicEdit()
Ends an "atomic" edit.- See Also:
beginInternalAtomicEdit()
-
getCantRedoText
public String getCantRedoText()
Returns the localized "Can't Redo" string.- Returns:
- The localized "Can't Redo" string.
- See Also:
getCantUndoText()
-
getCantUndoText
public String getCantUndoText()
Returns the localized "Can't Undo" string.- Returns:
- The localized "Can't Undo" string.
- See Also:
getCantRedoText()
-
redo
public void redo() throws CannotRedoException
- Specified by:
redo
in interfaceUndoableEdit
- Overrides:
redo
in classUndoManager
- Throws:
CannotRedoException
-
undo
public void undo() throws CannotUndoException
- Specified by:
undo
in interfaceUndoableEdit
- Overrides:
undo
in classUndoManager
- Throws:
CannotUndoException
-
undoableEditHappened
public void undoableEditHappened(UndoableEditEvent e)
- Specified by:
undoableEditHappened
in interfaceUndoableEditListener
- Overrides:
undoableEditHappened
in classUndoManager
-
updateActions
public void updateActions()
Ensures that undo/redo actions are enabled appropriately and have descriptive text at all times.
-
-