An operation approver that prompts the user to see if a non-local undo should proceed inside an editor. A non-local undo is detected when an operation being undone or redone affects elements other than those described by the editor itself. Clients can optionally specify a class, the preferred comparison class, that should be used when comparing objects affected by the editor with objects affected by an undo or redo operation. Comparisons between the affected objects inside the editor and those described by the operation will first be done by simply performing an equality check, using {@link java.lang.Object#equals(java.lang.Object)}. If an object described by an operation is not equal to one of the objects affected by the editor, and if it is not an instance of the preferred comparison class, but is an instance of {@link org.eclipse.core.runtime.IAdaptable}, then the operation approver will also attempt to retrieve an adapter on that object for the preferred comparison class and perform a second equality check using the adapter.
This class may be instantiated by clients.
@since 3.1