Beispiel #1
0
 // FIXME any restriction whether this method is invoked within model read/write action?
 public <T> T runNonUndoableAction(Computable<T> t) {
   if (ModelAccess.instance().canWrite() && myHandler != DEFAULT) {
     // locks optimization, install temporary dummy handler
     UndoHandler old = myHandler;
     try {
       myHandler = DEFAULT;
       return t.compute();
     } finally {
       myHandler = old;
     }
   } else {
     return myHandler.runNonUndoableAction(t);
   }
 }
Beispiel #2
0
 public boolean isInsideUndoableCommand() {
   return myHandler.isInsideUndoableCommand();
 }
Beispiel #3
0
 public boolean needRegisterUndo() {
   return myHandler.needRegisterUndo();
 }
Beispiel #4
0
 public void flushCommand(Project p) {
   myHandler.flushCommand(p);
 }
Beispiel #5
0
 public void addUndoableAction(SNodeUndoableAction action) {
   myHandler.addUndoableAction(action);
 }