Must set alignIndex before delete takes place
authoramwaterhouse <Andrew Waterhouse>
Tue, 24 Oct 2006 12:05:01 +0000 (12:05 +0000)
committeramwaterhouse <Andrew Waterhouse>
Tue, 24 Oct 2006 12:05:01 +0000 (12:05 +0000)
src/jalview/gui/RedundancyPanel.java

index 2d26245..2e136e0 100755 (executable)
@@ -235,14 +235,7 @@ 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
@@ -254,8 +247,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,6 +257,18 @@ 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.av.firePropertyChange("alignment", null, ap.av.getAlignment().getSequences());\r
@@ -284,6 +288,8 @@ public class RedundancyPanel extends GSliderPanel implements Runnable
       CommandI command = (CommandI) historyList.pop();\r
       command.undoCommand();\r
 \r
+      ap.repaint();\r
+\r
       if (historyList.size() == 0)\r
       {\r
         undoButton.setEnabled(false);\r