- try {
- int count = undoRedoSupport.getUndoContext(session).getAll().size();
- if (count < undoOpCount) {
- runUndo = true;
- } else {
- runUndo = false;
- }
- undoOpCount = count;
- if (DEBUG) System.out.println("Undo " + runUndo);
- } catch (DatabaseException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
-
+ try {
+ UndoContext undoContext = undoRedoSupport.getUndoContext(session);
+ int ucount = undoContext.getAll().size();
+ int rcount = undoContext.getRedoList().size();
+ if (DEBUG) System.out.println("Previous U:" + undoOpCount +" R:" + redoOpCount +" Current U:"+ucount+" R:"+rcount);
+ if (ucount < undoOpCount) {
+ runUndo = true;
+ } else {
+ runUndo = false;
+ }
+ if (!runUndo && rcount > 0)
+ runRedo = true;
+ else
+ runRedo = false;
+ undoOpCount = ucount;
+ redoOpCount = rcount;
+
+ if (DEBUG) System.out.println("Undo " + runUndo + " Redo " + runRedo);
+ } catch (DatabaseException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+