JAL-1503 update version in GPL header
[jalview.git] / src / jalview / gui / RedundancyPanel.java
index 1b84d9f..59ee1e7 100755 (executable)
@@ -1,19 +1,20 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * Jalview is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License 
  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- * 
+ *  
  * Jalview is distributed in the hope that it will be useful, but 
  * WITHOUT ANY WARRANTY; without even the implied warranty 
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
  * PURPOSE.  See the GNU General Public License for more details.
  * 
  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.gui;
 
@@ -27,7 +28,7 @@ import jalview.analysis.AlignSeq;
 import jalview.commands.*;
 import jalview.datamodel.*;
 import jalview.jbgui.*;
-import jalview.util.*;
+import jalview.util.MessageManager;
 
 /**
  * DOCUMENT ME!
@@ -74,7 +75,7 @@ public class RedundancyPanel extends GSliderPanel implements Runnable
       }
     });
 
-    applyButton.setText("Remove");
+    applyButton.setText(MessageManager.getString("action.remove"));
     allGroupsCheck.setVisible(false);
     slider.setMinimum(0);
     slider.setMaximum(100);
@@ -85,7 +86,7 @@ public class RedundancyPanel extends GSliderPanel implements Runnable
 
     frame = new JInternalFrame();
     frame.setContentPane(this);
-    Desktop.addInternalFrame(frame, "Redundancy threshold selection", 400,
+    Desktop.addInternalFrame(frame, MessageManager.getString("label.redundancy_threshold_selection"), 400,
             100, false);
     frame.addInternalFrameListener(new InternalFrameAdapter()
     {
@@ -115,7 +116,7 @@ public class RedundancyPanel extends GSliderPanel implements Runnable
     progress.setIndeterminate(true);
     southPanel.add(progress, java.awt.BorderLayout.SOUTH);
 
-    label.setText("Calculating....");
+    label.setText(MessageManager.getString("label.calculating"));
 
     slider.setVisible(false);
     applyButton.setEnabled(false);
@@ -148,7 +149,8 @@ public class RedundancyPanel extends GSliderPanel implements Runnable
     {
       omitHidden = ap.av.getViewAsString(sg != null);
     }
-    redundancy = AlignSeq.computeRedundancyMatrix(originalSequences, omitHidden, start, end, false);
+    redundancy = AlignSeq.computeRedundancyMatrix(originalSequences,
+            omitHidden, start, end, false);
 
     progress.setIndeterminate(false);
     progress.setVisible(false);
@@ -160,6 +162,7 @@ public class RedundancyPanel extends GSliderPanel implements Runnable
     valueField.setVisible(true);
 
     validate();
+    sliderValueChanged();
     // System.out.println((System.currentTimeMillis()-start));
   }
 
@@ -171,21 +174,15 @@ public class RedundancyPanel extends GSliderPanel implements Runnable
     }
 
     float value = slider.getValue();
-
+    List<SequenceI> redundantSequences = new ArrayList<SequenceI>();
     for (int i = 0; i < redundancy.length; i++)
     {
-      if (value > redundancy[i])
-      {
-        redundantSeqs.remove(originalSequences[i]);
-      }
-      else if (!redundantSeqs.contains(originalSequences[i]))
+      if (value <= redundancy[i])
       {
-        redundantSeqs.add(originalSequences[i]);
+        redundantSequences.add(originalSequences[i]);
       }
-
     }
-
-    ap.idPanel.idCanvas.setHighlighted(redundantSeqs);
+    ap.idPanel.idCanvas.setHighlighted(redundantSequences);
   }
 
   /**
@@ -245,8 +242,8 @@ public class RedundancyPanel extends GSliderPanel implements Runnable
       ap.alignFrame.addHistoryItem(cut);
 
       PaintRefresher.Refresh(this, ap.av.getSequenceSetId(), true, true);
-      //ap.av.firePropertyChange("alignment", null, ap.av.getAlignment()
-      //        .getSequences());
+      // ap.av.firePropertyChange("alignment", null, ap.av.getAlignment()
+      // .getSequences());
     }
 
   }