- ap.av.firePropertyChange("alignment", null,\r
- ap.av.getAlignment().getSequences());\r
- ap.av.resetSeqLimits(ap.seqPanel.seqCanvas.getHeight());\r
- if (ap.av.getAlignment().getHeight() < 1)\r
- {\r
- try\r
- {\r
- af.setClosed(true);\r
- }\r
- catch (Exception ex)\r
- {}\r
- }\r
- ap.av.updateConservation();\r
- ap.av.updateConsensus();\r
- af.updateEditMenuBar();\r
- ap.repaint();\r
-\r
- }\r
-\r
- public void undoButton_actionPerformed(ActionEvent e)\r
- {\r
- HistoryItem hi = (HistoryItem) historyList.pop();\r
- af.restoreHistoryItem(hi);\r
- if (historyList.size() == 0)\r
- {\r
- undoButton.setEnabled(false);\r
- if (af.historyList.contains(hi))\r
- {\r
- af.historyList.remove(hi);\r
+ for (int i = 0; i < del.size(); i++)\r
+ {\r
+ if (sg.sequences.contains((SequenceI) del.elementAt(i)))\r
+ {\r
+ sg.deleteSequence((SequenceI) del.elementAt(i), true);\r
+ }\r
+ }\r
+ }\r
+ else\r
+ {\r
+ Vector s = new Vector();\r
+ int i = 0;\r
+\r
+ while (i < ap.av.alignment.getHeight())\r
+ {\r
+ s.addElement(ap.av.alignment.getSequenceAt(i));\r
+ i++;\r
+ }\r
+\r
+ del = ap.av.alignment.removeRedundancy(threshold, s);\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
+ {\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
+ }\r
+\r
+ ap.av.firePropertyChange("alignment", null,\r
+ ap.av.getAlignment().getSequences());\r
+ ap.av.resetSeqLimits(ap.seqPanel.seqCanvas.getHeight());\r
+\r
+ if (ap.av.getAlignment().getHeight() < 1)\r
+ {\r
+ try\r
+ {\r
+ af.setClosed(true);\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ }\r
+ }\r
+\r
+ ap.av.updateConservation();\r
+ ap.av.updateConsensus();\r