JAL-1807
[jalview.git] / src / jalview / commands / EditCommand.java
index e44068d..de80576 100644 (file)
@@ -64,57 +64,79 @@ import java.util.Map;
  */
 public class EditCommand implements CommandI
 {
-  public enum Action
+  public enum Action 
   {
     INSERT_GAP
-    {
-      @Override
-      public Action getUndoAction()
-      {
-        return DELETE_GAP;
-      }
-    },
+//    {
+//      @Override
+//      public Action getUndoAction()
+//      {
+//        return DELETE_GAP;
+//      }
+//    }
+    ,
     DELETE_GAP
-    {
-      @Override
-      public Action getUndoAction()
-      {
-        return INSERT_GAP;
-      }
-    },
+//    {
+//      @Override
+//      public Action getUndoAction()
+//      {
+//        return INSERT_GAP;
+//      }
+//    }
+    ,
     CUT
-    {
-      @Override
-      public Action getUndoAction()
-      {
-        return PASTE;
-      }
-    },
+//    {
+//      @Override
+//      public Action getUndoAction()
+//      {
+//        return PASTE;
+//      }
+//    }
+    ,
     PASTE
-    {
-      @Override
-      public Action getUndoAction()
-      {
-        return CUT;
-      }
-    },
+//    {
+//      @Override
+//      public Action getUndoAction()
+//      {
+//        return CUT;
+//      }
+//    }
+    ,
     REPLACE
-    {
-      @Override
-      public Action getUndoAction()
-      {
-        return REPLACE;
-      }
-    },
+//    {
+//      @Override
+//      public Action getUndoAction()
+//      {
+//        return REPLACE;
+//      }
+//    }
+    ,
     INSERT_NUC
-    {
-      @Override
-      public Action getUndoAction()
-      {
-        return null;
-      }
-    };
-    public abstract Action getUndoAction();
+//    {
+//     @Override
+//      public Action getUndoAction()
+//      {
+//        return null;
+//      }
+//    }
+    ;
+    public Action getUndoAction() {
+       switch (this) {
+       case INSERT_GAP:
+               return  DELETE_GAP;
+                       case CUT:
+                               return PASTE;
+                       case DELETE_GAP:
+                               return INSERT_GAP;
+                       case INSERT_NUC:
+                               return null;
+                       case PASTE:
+                               return CUT;
+                       case REPLACE:
+                               return REPLACE;
+       }
+       return null;
+    }
   };
 
   private List<Edit> edits = new ArrayList<Edit>();