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:
java.io.Serializable
,java.util.EventListener
,javax.swing.event.UndoableEditListener
,javax.swing.undo.UndoableEdit
public class RUndoManager extends javax.swing.undo.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.- Version:
- 1.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
RUndoManager.RCompoundEdit
The edit used byRUndoManager
.
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
cantRedoText
private java.lang.String
cantUndoText
private RUndoManager.RCompoundEdit
compoundEdit
private int
internalAtomicEditDepth
private int
lastOffset
private static java.lang.String
MSG
private RTextArea
textArea
-
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.java.lang.String
getCantRedoText()
Returns the localized "Can't Redo" string.java.lang.String
getCantUndoText()
Returns the localized "Can't Undo" string.void
redo()
private RUndoManager.RCompoundEdit
startCompoundEdit(javax.swing.undo.UndoableEdit edit)
void
undo()
void
undoableEditHappened(javax.swing.event.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
-
-
-
-
Field Detail
-
compoundEdit
private RUndoManager.RCompoundEdit compoundEdit
-
textArea
private RTextArea textArea
-
lastOffset
private int lastOffset
-
cantUndoText
private java.lang.String cantUndoText
-
cantRedoText
private java.lang.String cantRedoText
-
internalAtomicEditDepth
private int internalAtomicEditDepth
-
MSG
private static final java.lang.String MSG
- See Also:
- Constant Field Values
-
-
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 java.lang.String getCantRedoText()
Returns the localized "Can't Redo" string.- Returns:
- The localized "Can't Redo" string.
- See Also:
getCantUndoText()
-
getCantUndoText
public java.lang.String getCantUndoText()
Returns the localized "Can't Undo" string.- Returns:
- The localized "Can't Undo" string.
- See Also:
getCantRedoText()
-
redo
public void redo()
- Specified by:
redo
in interfacejavax.swing.undo.UndoableEdit
- Overrides:
redo
in classjavax.swing.undo.UndoManager
-
startCompoundEdit
private RUndoManager.RCompoundEdit startCompoundEdit(javax.swing.undo.UndoableEdit edit)
-
undo
public void undo()
- Specified by:
undo
in interfacejavax.swing.undo.UndoableEdit
- Overrides:
undo
in classjavax.swing.undo.UndoManager
-
undoableEditHappened
public void undoableEditHappened(javax.swing.event.UndoableEditEvent e)
- Specified by:
undoableEditHappened
in interfacejavax.swing.event.UndoableEditListener
- Overrides:
undoableEditHappened
in classjavax.swing.undo.UndoManager
-
updateActions
public void updateActions()
Ensures that undo/redo actions are enabled appropriately and have descriptive text at all times.
-
-