package jalview.gui;\r
\r
import jalview.datamodel.*;\r
-\r
import jalview.jbgui.*;\r
+import jalview.util.Comparison;\r
+import jalview.commands.*;\r
\r
import java.awt.event.*;\r
\r
import java.util.*;\r
\r
import javax.swing.event.*;\r
-import jalview.util.Comparison;\r
+\r
import javax.swing.*;\r
\r
\r
*/\r
public void applyButton_actionPerformed(ActionEvent e)\r
{\r
- historyList.push(new HistoryItem("Remove redundancy",\r
- ap.av.alignment, HistoryItem.HIDE));\r
-\r
- if ((historyList.size() == 1) ||\r
- !af.historyList.contains(historyList.firstElement()))\r
- {\r
- af.addHistoryItem((HistoryItem) historyList.firstElement());\r
- af.updateEditMenuBar();\r
- }\r
-\r
Vector del = new Vector();\r
\r
undoButton.setEnabled(true);\r
SequenceI seq = originalSequences[i];\r
ap.av.alignment.deleteSequence(seq);\r
PaintRefresher.Refresh(this,ap.av.getSequenceSetId(),seq,null);\r
- del.add(seq);\r
+ del.addElement(seq);\r
if (sg != null)\r
{\r
sg.deleteSequence(seq, false);\r
// actually restore these sequences.\r
if (del.size() > 0)\r
{\r
- for (int i = 0, j = del.size(); i < j; i++)\r
- {\r
- SequenceI sq = (SequenceI) del.elementAt(i);\r
- sq.deleteChars(0, sq.getLength());\r
- }\r
+ SequenceI [] deleted = new SequenceI[del.size()];\r
+\r
+ int width = 0;\r
+\r
+ for (int i = 0, j = del.size(); i < j; i++)\r
+ {\r
+ deleted[i] = (SequenceI)del.elementAt(i);\r
+ if(deleted[i].getLength()>width)\r
+ width = deleted[i].getLength();\r
+ }\r
+\r
+ EditCommand cut = new EditCommand("Remove Redundancy",\r
+ EditCommand.CUT, deleted,0,width,ap.av.alignment);\r
+\r
+ historyList.push(cut);\r
+\r
+ ap.av.firePropertyChange("alignment", null, ap.av.getAlignment().getSequences());\r
}\r
\r
- ap.av.firePropertyChange("alignment", null, ap.av.getAlignment().getSequences());\r
- af.updateEditMenuBar();\r
+\r
}\r
\r
\r
*/\r
public void undoButton_actionPerformed(ActionEvent e)\r
{\r
- HistoryItem hi = (HistoryItem) historyList.pop();\r
- af.restoreHistoryItem(hi);\r
+ CommandI command = (CommandI) historyList.pop();\r
+ command.undoCommand();\r
\r
if (historyList.size() == 0)\r
{\r
undoButton.setEnabled(false);\r
-\r
- if (af.historyList.contains(hi))\r
- {\r
- af.historyList.remove(hi);\r
- af.updateEditMenuBar();\r
- }\r
}\r
}\r
\r