From 4fdeee885a8bca5d4f26d766bd31d86f639f3bc0 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Tue, 24 Oct 2006 11:36:59 +0000 Subject: [PATCH] Use EditCommand.Cut --- src/jalview/gui/RedundancyPanel.java | 52 ++++++++++++++++------------------ 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/src/jalview/gui/RedundancyPanel.java b/src/jalview/gui/RedundancyPanel.java index 50183eb..2d26245 100755 --- a/src/jalview/gui/RedundancyPanel.java +++ b/src/jalview/gui/RedundancyPanel.java @@ -19,15 +19,16 @@ package jalview.gui; import jalview.datamodel.*; - import jalview.jbgui.*; +import jalview.util.Comparison; +import jalview.commands.*; import java.awt.event.*; import java.util.*; import javax.swing.event.*; -import jalview.util.Comparison; + import javax.swing.*; @@ -223,16 +224,6 @@ public class RedundancyPanel extends GSliderPanel implements Runnable */ public void applyButton_actionPerformed(ActionEvent e) { - historyList.push(new HistoryItem("Remove redundancy", - ap.av.alignment, HistoryItem.HIDE)); - - if ((historyList.size() == 1) || - !af.historyList.contains(historyList.firstElement())) - { - af.addHistoryItem((HistoryItem) historyList.firstElement()); - af.updateEditMenuBar(); - } - Vector del = new Vector(); undoButton.setEnabled(true); @@ -247,7 +238,7 @@ public class RedundancyPanel extends GSliderPanel implements Runnable SequenceI seq = originalSequences[i]; ap.av.alignment.deleteSequence(seq); PaintRefresher.Refresh(this,ap.av.getSequenceSetId(),seq,null); - del.add(seq); + del.addElement(seq); if (sg != null) { sg.deleteSequence(seq, false); @@ -260,15 +251,26 @@ public class RedundancyPanel extends GSliderPanel implements Runnable // actually restore these sequences. if (del.size() > 0) { - for (int i = 0, j = del.size(); i < j; i++) - { - SequenceI sq = (SequenceI) del.elementAt(i); - sq.deleteChars(0, sq.getLength()); - } + SequenceI [] deleted = new SequenceI[del.size()]; + + int width = 0; + + for (int i = 0, j = del.size(); i < j; i++) + { + deleted[i] = (SequenceI)del.elementAt(i); + if(deleted[i].getLength()>width) + width = deleted[i].getLength(); + } + + EditCommand cut = new EditCommand("Remove Redundancy", + EditCommand.CUT, deleted,0,width,ap.av.alignment); + + historyList.push(cut); + + ap.av.firePropertyChange("alignment", null, ap.av.getAlignment().getSequences()); } - ap.av.firePropertyChange("alignment", null, ap.av.getAlignment().getSequences()); - af.updateEditMenuBar(); + } @@ -279,18 +281,12 @@ public class RedundancyPanel extends GSliderPanel implements Runnable */ public void undoButton_actionPerformed(ActionEvent e) { - HistoryItem hi = (HistoryItem) historyList.pop(); - af.restoreHistoryItem(hi); + CommandI command = (CommandI) historyList.pop(); + command.undoCommand(); if (historyList.size() == 0) { undoButton.setEnabled(false); - - if (af.historyList.contains(hi)) - { - af.historyList.remove(hi); - af.updateEditMenuBar(); - } } } -- 1.7.10.2