EditCommand added to AlignFrame
[jalview.git] / src / jalview / gui / RedundancyPanel.java
index 2d26245..3df55c1 100755 (executable)
@@ -235,18 +235,10 @@ public class RedundancyPanel extends GSliderPanel implements Runnable
         {\r
           if (value <= redundancy[i])\r
           {\r
-            SequenceI seq = originalSequences[i];\r
-            ap.av.alignment.deleteSequence(seq);\r
-            PaintRefresher.Refresh(this,ap.av.getSequenceSetId(),seq,null);\r
-            del.addElement(seq);\r
-            if (sg != null)\r
-            {\r
-              sg.deleteSequence(seq, false);\r
-            }\r
+            del.addElement(originalSequences[i]);\r
           }\r
         }\r
 \r
-\r
         // This has to be done before the restoreHistoryItem method of alignFrame will\r
         // actually restore these sequences.\r
         if (del.size() > 0)\r
@@ -254,8 +246,7 @@ public class RedundancyPanel extends GSliderPanel implements Runnable
           SequenceI [] deleted = new SequenceI[del.size()];\r
 \r
           int width = 0;\r
-\r
-          for (int i = 0, j = del.size(); i < j; i++)\r
+          for (int i = 0; i < del.size(); i++)\r
           {\r
             deleted[i] = (SequenceI)del.elementAt(i);\r
             if(deleted[i].getLength()>width)\r
@@ -265,8 +256,22 @@ public class RedundancyPanel extends GSliderPanel implements Runnable
           EditCommand cut = new EditCommand("Remove Redundancy",\r
               EditCommand.CUT, deleted,0,width,ap.av.alignment);\r
 \r
+          for (int i = 0; i < del.size(); i++)\r
+          {\r
+            ap.av.alignment.deleteSequence( deleted[i] );\r
+            PaintRefresher.Refresh(this,\r
+                                   ap.av.getSequenceSetId(),\r
+                                   deleted[i], null);\r
+            if (sg != null)\r
+            {\r
+              sg.deleteSequence(deleted[i], false);\r
+            }\r
+          }\r
+\r
           historyList.push(cut);\r
 \r
+          ap.alignFrame.addHistoryItem(cut);\r
+\r
           ap.av.firePropertyChange("alignment", null, ap.av.getAlignment().getSequences());\r
         }\r
 \r
@@ -284,6 +289,14 @@ public class RedundancyPanel extends GSliderPanel implements Runnable
       CommandI command = (CommandI) historyList.pop();\r
       command.undoCommand();\r
 \r
+      if (af.historyList.contains(command))\r
+      {\r
+        af.historyList.remove(command);\r
+        af.updateEditMenuBar();\r
+      }\r
+\r
+      ap.repaint();\r
+\r
       if (historyList.size() == 0)\r
       {\r
         undoButton.setEnabled(false);\r