Eclipse JDT
Release 3.0

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.

Since:
3.0

Method Summary
 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()
          Returns true if there is anything to redo, otherwise false.
 boolean anythingToUndo()
          Returns true if there is anything to undo, otherwise false.
 void changePerformed(Change change)
          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, org.eclipse.core.runtime.IProgressMonitor pm)
          Redo the top most redo change.
 void performUndo(IValidationCheckResultQuery query, org.eclipse.core.runtime.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

public 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

public 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

public void aboutToPerformChange(Change change)
The infrastructure is going to perform the given change.

Parameters:
change - the change to be performed.

changePerformed

public void changePerformed(Change change)
The infrastructure has performed the given change.

Parameters:
change - the change that was performed

addUndo

public 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

public boolean anythingToUndo()
Returns true if there is anything to undo, otherwise false.

Returns:
true if there is anything to undo, otherwise false

peekUndoName

public 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

public void performUndo(IValidationCheckResultQuery query,
                        org.eclipse.core.runtime.IProgressMonitor pm)
                 throws org.eclipse.core.runtime.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 the undo proceeds if the status is not a fatal error.
pm - a progress monitor to report progress during performing the undo change
Throws:
org.eclipse.core.runtime.CoreException - if performing the undo caused an exception

anythingToRedo

public boolean anythingToRedo()
Returns true if there is anything to redo, otherwise false.

Returns:
true if there is anything to redo, otherwise false

peekRedoName

public 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

public void performRedo(IValidationCheckResultQuery query,
                        org.eclipse.core.runtime.IProgressMonitor pm)
                 throws org.eclipse.core.runtime.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 the undo proceeds if the status is not a fatal error.
pm - a progress monitor to report progress during performing the redo change
Throws:
org.eclipse.core.runtime.CoreException - if performing the redo caused an exception

flush

public void flush()
Flushes the undo manager's undo and redo stacks.


shutdown

public void shutdown()
Shut down the undo manager.


Eclipse JDT
Release 3.0

Copyright (c) IBM Corp. and others 2000, 2004. All Rights Reserved.