Package org.eclipse.ltk.core.refactoring
Interface IUndoManager
-
public interface IUndoManager
An undo manager keeps track of performed changes. Use the methodaddUndo
to add change objects to the undo stack andperformUndo
andperformRedo
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 theorg.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.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description void
aboutToPerformChange(Change change)
The infrastructure is going to perform the given change.void
addListener(IUndoManagerListener listener)
Adds a listener to the undo manager.void
addUndo(String name, Change change)
Adds a new undo change to this undo manager.boolean
anythingToRedo()
Returnstrue
if there is anything to redo, otherwisefalse
.boolean
anythingToUndo()
Returnstrue
if there is anything to undo, otherwisefalse
.void
changePerformed(Change change)
Deprecated.use #changePerformed(Change, boolean) insteadvoid
changePerformed(Change change, boolean successful)
The infrastructure has performed the given change.void
flush()
Flushes the undo manager's undo and redo stacks.String
peekRedoName()
Returns the name of the top most redo.String
peekUndoName()
Returns the name of the top most undo.void
performRedo(IValidationCheckResultQuery query, IProgressMonitor pm)
Redo the top most redo change.void
performUndo(IValidationCheckResultQuery query, IProgressMonitor pm)
Undo the top most undo change.void
removeListener(IUndoManagerListener listener)
Removes the given listener from this undo manager.void
shutdown()
Shut down the undo manager.
-
-
-
Method Detail
-
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 methodchangePerformed(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
@Deprecated void changePerformed(Change change)
Deprecated.use #changePerformed(Change, boolean) insteadThe 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 performedsuccessful
-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()
Returnstrue
if there is anything to undo, otherwisefalse
.- Returns:
true
if there is anything to undo, otherwisefalse
-
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. Ifnull
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()
Returnstrue
if there is anything to redo, otherwisefalse
.- Returns:
true
if there is anything to redo, otherwisefalse
-
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. Ifnull
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.
-
-