From d426f538337d32aad42cedd555446dff7e8cffc2 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Tue, 24 Oct 2006 12:05:01 +0000 Subject: [PATCH] Must set alignIndex before delete takes place --- src/jalview/gui/RedundancyPanel.java | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/jalview/gui/RedundancyPanel.java b/src/jalview/gui/RedundancyPanel.java index 2d26245..2e136e0 100755 --- a/src/jalview/gui/RedundancyPanel.java +++ b/src/jalview/gui/RedundancyPanel.java @@ -235,14 +235,7 @@ public class RedundancyPanel extends GSliderPanel implements Runnable { if (value <= redundancy[i]) { - SequenceI seq = originalSequences[i]; - ap.av.alignment.deleteSequence(seq); - PaintRefresher.Refresh(this,ap.av.getSequenceSetId(),seq,null); - del.addElement(seq); - if (sg != null) - { - sg.deleteSequence(seq, false); - } + del.addElement(originalSequences[i]); } } @@ -254,8 +247,7 @@ public class RedundancyPanel extends GSliderPanel implements Runnable SequenceI [] deleted = new SequenceI[del.size()]; int width = 0; - - for (int i = 0, j = del.size(); i < j; i++) + for (int i = 0; i < del.size(); i++) { deleted[i] = (SequenceI)del.elementAt(i); if(deleted[i].getLength()>width) @@ -265,6 +257,18 @@ public class RedundancyPanel extends GSliderPanel implements Runnable EditCommand cut = new EditCommand("Remove Redundancy", EditCommand.CUT, deleted,0,width,ap.av.alignment); + for (int i = 0; i < del.size(); i++) + { + ap.av.alignment.deleteSequence( deleted[i] ); + PaintRefresher.Refresh(this, + ap.av.getSequenceSetId(), + deleted[i], null); + if (sg != null) + { + sg.deleteSequence(deleted[i], false); + } + } + historyList.push(cut); ap.av.firePropertyChange("alignment", null, ap.av.getAlignment().getSequences()); @@ -284,6 +288,8 @@ public class RedundancyPanel extends GSliderPanel implements Runnable CommandI command = (CommandI) historyList.pop(); command.undoCommand(); + ap.repaint(); + if (historyList.size() == 0) { undoButton.setEnabled(false); -- 1.7.10.2