Browse Source
added undo manager implementation
added undo manager implementation
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@819 bbc10eb1-c90d-0410-af57-cb519fbb1720master
2 changed files with 165 additions and 0 deletions
-
142prism/src/userinterface/util/GUIUndoManager.java
-
23prism/src/userinterface/util/GUIUndoManagerEvent.java
@ -0,0 +1,142 @@ |
|||
package userinterface.util; |
|||
|
|||
import javax.swing.event.UndoableEditEvent; |
|||
import javax.swing.event.UndoableEditListener; |
|||
import javax.swing.undo.CannotRedoException; |
|||
import javax.swing.undo.CannotUndoException; |
|||
import javax.swing.undo.UndoManager; |
|||
import javax.swing.undo.UndoableEdit; |
|||
|
|||
import userinterface.GUIPrism; |
|||
|
|||
public class GUIUndoManager extends GUIEventHandler implements UndoableEditListener |
|||
{ |
|||
private UndoManager undoManager; |
|||
|
|||
public GUIUndoManager(GUIPrism gui) |
|||
{ |
|||
super(gui); |
|||
undoManager = new UndoManager(); |
|||
} |
|||
|
|||
public boolean addEdit(UndoableEdit anEdit) |
|||
{ |
|||
boolean result = undoManager.addEdit(anEdit); |
|||
if (result) |
|||
notifyListeners(new GUIUndoManagerEvent(GUIUndoManagerEvent.UNDOABLE_EVENT)); |
|||
return result; |
|||
} |
|||
|
|||
public boolean canRedo() |
|||
{ |
|||
return undoManager.canRedo(); |
|||
} |
|||
|
|||
public boolean canUndo() |
|||
{ |
|||
return undoManager.canUndo(); |
|||
} |
|||
|
|||
public boolean canUndoOrRedo() |
|||
{ |
|||
return undoManager.canUndoOrRedo(); |
|||
} |
|||
|
|||
public void die() |
|||
{ |
|||
undoManager.die(); |
|||
notifyListeners(new GUIUndoManagerEvent(GUIUndoManagerEvent.DIED)); |
|||
} |
|||
|
|||
public void discardAllEdits() |
|||
{ |
|||
undoManager.discardAllEdits(); |
|||
notifyListeners(new GUIUndoManagerEvent(GUIUndoManagerEvent.DISCARD_ALL)); |
|||
} |
|||
|
|||
public void end() |
|||
{ |
|||
undoManager.end(); |
|||
notifyListeners(new GUIUndoManagerEvent(GUIUndoManagerEvent.DIED)); |
|||
} |
|||
|
|||
public boolean equals(Object obj) |
|||
{ |
|||
return undoManager.equals(obj); |
|||
} |
|||
|
|||
public int getLimit() |
|||
{ |
|||
return undoManager.getLimit(); |
|||
} |
|||
|
|||
public String getPresentationName() |
|||
{ |
|||
return undoManager.getPresentationName(); |
|||
} |
|||
|
|||
public String getRedoPresentationName() |
|||
{ |
|||
return undoManager.getRedoPresentationName(); |
|||
} |
|||
|
|||
public String getUndoOrRedoPresentationName() |
|||
{ |
|||
return undoManager.getUndoOrRedoPresentationName(); |
|||
} |
|||
|
|||
public String getUndoPresentationName() |
|||
{ |
|||
return undoManager.getUndoPresentationName(); |
|||
} |
|||
|
|||
public int hashCode() |
|||
{ |
|||
return undoManager.hashCode(); |
|||
} |
|||
|
|||
public boolean isInProgress() |
|||
{ |
|||
return undoManager.isInProgress(); |
|||
} |
|||
|
|||
public boolean isSignificant() |
|||
{ |
|||
return undoManager.isSignificant(); |
|||
} |
|||
|
|||
public void redo() throws CannotRedoException { |
|||
undoManager.redo(); |
|||
notifyListeners(new GUIUndoManagerEvent(GUIUndoManagerEvent.REDO)); |
|||
} |
|||
|
|||
public boolean replaceEdit(UndoableEdit anEdit) { |
|||
return false; |
|||
} |
|||
|
|||
public void setLimit(int l) { |
|||
undoManager.setLimit(l); |
|||
notifyListeners(new GUIUndoManagerEvent(GUIUndoManagerEvent.LIMIT_CHANGE)); |
|||
} |
|||
|
|||
public String toString() { |
|||
return undoManager.toString(); |
|||
} |
|||
|
|||
public void undo() throws CannotUndoException { |
|||
undoManager.undo(); |
|||
notifyListeners(new GUIUndoManagerEvent(GUIUndoManagerEvent.UNDO)); |
|||
} |
|||
|
|||
public void undoableEditHappened(UndoableEditEvent e) { |
|||
undoManager.undoableEditHappened(e); |
|||
notifyListeners(new GUIUndoManagerEvent(GUIUndoManagerEvent.UNDOABLE_EVENT)); |
|||
} |
|||
|
|||
public void undoOrRedo() throws CannotRedoException, CannotUndoException { |
|||
undoManager.undoOrRedo(); |
|||
notifyListeners(new GUIUndoManagerEvent(GUIUndoManagerEvent.UNDO)); |
|||
} |
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,23 @@ |
|||
package userinterface.util; |
|||
|
|||
import userinterface.GUIPlugin; |
|||
|
|||
public class GUIUndoManagerEvent extends GUIEvent |
|||
{ |
|||
public static final int UNDO = 0; |
|||
public static final int REDO = 1; |
|||
public static final int UNDOABLE_EVENT = 2; |
|||
public static final int DISCARD_ALL = 3; |
|||
public static final int LIMIT_CHANGE = 4; |
|||
public static final int DIED = 5; |
|||
|
|||
public GUIUndoManagerEvent(int id, GUIPlugin comp) |
|||
{ |
|||
super(id, comp); |
|||
} |
|||
|
|||
public GUIUndoManagerEvent(int id) |
|||
{ |
|||
super(id); |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue