org.eclipse.ltk.core.refactoring
Interface IUndoManager
-
public interface IUndoManager
An undo manager keeps track of performed changes. Use the method addUndo
to add change objects to the undo stack and performUndo
and
performRedo
to undo or redo changes.
This interface is not intended to be implemented by clients. Clients should use the
method
RefactoringCore.getUndoManager()
to access the refactoring undo manager.
As of 3.1 the implementation of the refactoring undo manager is based on the
IOperationHistory
provided by the
org.eclipse.core.commands
plug-in.
As of 3.2 clients which need to examine refactorings which have been performed, undone or redone should use
IRefactoringHistoryService
for enhanced functionality.
-
Since:
- 3.0
-
See Also:
-
IOperationHistory
-
Restriction:
- This interface is not intended to be implemented by clients.
-
Restriction:
- This interface is not intended to be extended by clients.
addListener
void addListener(
IUndoManagerListener listener)
- Adds a listener to the undo manager. Does nothing if the listener
is already present.
-
-
Parameters:
-
listener
- the listener to be added to the undo manager
removeListener
void removeListener(
IUndoManagerListener listener)
- Removes the given listener from this undo manager. Does nothing if
the listener isn't registered with this undo manager
-
-
Parameters:
-
listener
- the listener to be removed
aboutToPerformChange
void aboutToPerformChange(
Change change)
- The infrastructure is going to perform the given change. If a
client calls this method it must make sure that the corresponding
method
changePerformed(Change)
is called after the
change got executed. A typically code snippet looks as follows:
Change change= ...;
try {
undoManager.aboutToPerformChange(change);
// execute change
} finally {
undoManager.changePerformed(change);
}
-
-
Parameters:
-
change
- the change to be performed.
changePerformed
void changePerformed(
Change change)
-
Deprecated. use #changePerformed(Change, boolean) instead
- The infrastructure has performed the given change.
-
-
Parameters:
-
change
- the change that was performed
changePerformed
void changePerformed(
Change change,
boolean successful)
- The infrastructure has performed the given change.
-
-
Parameters:
-
change
- the change that was performed -
successful
- true
if the change got executed
successful; false
otherwise. -
Since:
- 3.1
addUndo
void addUndo(
String name,
Change change)
- Adds a new undo change to this undo manager.
-
-
Parameters:
-
name
- the name presented on the undo stack for the provided
undo change. The name must be human readable. -
change
- the undo change
anythingToUndo
boolean anythingToUndo()
- Returns
true
if there is anything to undo, otherwise
false
.
-
-
Returns:
-
true
if there is anything to undo, otherwise
false
peekUndoName
String peekUndoName()
- Returns the name of the top most undo.
-
-
Returns:
- the top most undo name. Returns
null
if there
aren't any changes to undo.
performUndo
void performUndo(
IValidationCheckResultQuery query,
IProgressMonitor pm)
throws
CoreException
- Undo the top most undo change.
-
-
Parameters:
-
query
- a proceed query to decide how to proceed if the validation
checking of the undo change to perform returns a non OK status and the
status isn't a fatal error. If null
is passed in the
undo proceeds if the status is not a fatal error. -
pm
- a progress monitor to report progress during performing
the undo change
-
Throws:
-
CoreException
- if performing the undo caused an exception
anythingToRedo
boolean anythingToRedo()
- Returns
true
if there is anything to redo, otherwise
false
.
-
-
Returns:
-
true
if there is anything to redo, otherwise
false
peekRedoName
String peekRedoName()
- Returns the name of the top most redo.
-
-
Returns:
- the top most redo name. Returns
null
if there
are no any changes to redo.
performRedo
void performRedo(
IValidationCheckResultQuery query,
IProgressMonitor pm)
throws
CoreException
- Redo the top most redo change.
-
-
Parameters:
-
query
- a proceed query to decide how to proceed if the validation
checking of the redo change to perform returns a non OK status. If
null
is passed in the undo proceeds if the status
is not a fatal error. -
pm
- a progress monitor to report progress during performing
the redo change
-
Throws:
-
CoreException
- if performing the redo caused an exception
flush
void flush()
- Flushes the undo manager's undo and redo stacks.
-
shutdown
void shutdown()
- Shut down the undo manager.
-
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.