JAL-1645 Version-Rel Version 2.9 Year-Rel 2015 Licensing glob
[jalview.git] / src / jalview / gui / SliderPanel.java
index 8c290b5..02a8ed7 100755 (executable)
@@ -1,32 +1,39 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)
- * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Copyright (C) 2015 The Jalview Authors
  * 
- * This program 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 2
- * of the License, or (at your option) any later version.
+ * This file is part of Jalview.
  * 
- * This program 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.
+ * 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 this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.gui;
 
-import java.util.*;
+import jalview.datamodel.SequenceGroup;
+import jalview.jbgui.GSliderPanel;
+import jalview.schemes.ColourSchemeI;
+import jalview.util.MessageManager;
 
-import java.awt.event.*;
-import javax.swing.*;
-import javax.swing.event.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.util.Iterator;
 
-import jalview.datamodel.*;
-import jalview.jbgui.*;
-import jalview.schemes.*;
+import javax.swing.JInternalFrame;
+import javax.swing.JLayeredPane;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
 
 /**
  * DOCUMENT ME!
@@ -50,13 +57,13 @@ public class SliderPanel extends GSliderPanel
    * Creates a new SliderPanel object.
    * 
    * @param ap
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    * @param value
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    * @param forConserve
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    * @param cs
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   public SliderPanel(final AlignmentPanel ap, int value,
           boolean forConserve, ColourSchemeI cs)
@@ -69,13 +76,15 @@ public class SliderPanel extends GSliderPanel
 
     if (forConservation)
     {
-      label.setText("Enter value to increase conservation visibility");
+      label.setText(MessageManager
+              .getString("label.enter_value_increase_conservation_visibility"));
       slider.setMinimum(0);
       slider.setMaximum(100);
     }
     else
     {
-      label.setText("Enter % identity above which to colour residues");
+      label.setText(MessageManager
+              .getString("label.enter_percentage_identity_above_which_colour_residues"));
       slider.setMinimum(0);
       slider.setMaximum(100);
     }
@@ -105,11 +114,11 @@ public class SliderPanel extends GSliderPanel
    * DOCUMENT ME!
    * 
    * @param ap
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    * @param cs
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    * @param source
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    * 
    * @return DOCUMENT ME!
    */
@@ -131,10 +140,12 @@ public class SliderPanel extends GSliderPanel
       sp.cs = cs;
     }
 
-    conservationSlider.setTitle("Conservation Colour Increment  (" + source
-            + ")");
+    conservationSlider
+            .setTitle(MessageManager.formatMessage(
+                    "label.conservation_colour_increment",
+                    new String[] { source }));
 
-    if (ap.av.alignment.getGroups() != null)
+    if (ap.av.getAlignment().getGroups() != null)
     {
       sp.setAllGroupsCheckEnabled(true);
     }
@@ -161,8 +172,8 @@ public class SliderPanel extends GSliderPanel
 
     if (!conservationSlider.isVisible())
     {
-      Desktop.addInternalFrame(conservationSlider, conservationSlider
-              .getTitle(), 420, 90, false);
+      Desktop.addInternalFrame(conservationSlider,
+              conservationSlider.getTitle(), 420, 90, false);
       conservationSlider
               .addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()
               {
@@ -180,11 +191,11 @@ public class SliderPanel extends GSliderPanel
    * DOCUMENT ME!
    * 
    * @param ap
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    * @param cs
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    * @param source
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    * 
    * @return DOCUMENT ME!
    */
@@ -208,9 +219,11 @@ public class SliderPanel extends GSliderPanel
       pid.cs = cs;
     }
 
-    PIDSlider.setTitle("Percentage Identity Threshold (" + source + ")");
+    PIDSlider.setTitle(MessageManager
+            .formatMessage("label.percentage_identity_thereshold",
+                    new String[] { source }));
 
-    if (ap.av.alignment.getGroups() != null)
+    if (ap.av.getAlignment().getGroups() != null)
     {
       pid.setAllGroupsCheckEnabled(true);
     }
@@ -257,7 +270,7 @@ public class SliderPanel extends GSliderPanel
    * DOCUMENT ME!
    * 
    * @param i
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   public void valueChanged(int i)
   {
@@ -266,57 +279,46 @@ public class SliderPanel extends GSliderPanel
       return;
     }
 
-    ColourSchemeI toChange = null;
-    Vector allGroups = null;
-    int groupIndex = 0;
+    ColourSchemeI toChange = cs;
+    Iterator<SequenceGroup> allGroups = null;
 
     if (allGroupsCheck.isSelected())
     {
-      allGroups = ap.av.alignment.getGroups();
-      groupIndex = allGroups.size() - 1;
-    }
-    else
-    {
-      toChange = cs;
+      allGroups = ap.av.getAlignment().getGroups().listIterator();
     }
 
-    while (groupIndex > -1)
+    while (toChange != null)
     {
-      if (allGroups != null)
+      if (forConservation)
       {
-        toChange = ((SequenceGroup) allGroups.get(groupIndex)).cs;
-
-        if (toChange == null)
-        {
-          groupIndex--;
-
-          continue;
-        }
+        toChange.setConservationInc(i);
       }
-
-      if (forConservation)
+      else
+      {
+        toChange.setThreshold(i, ap.av.isIgnoreGapsConsensus());
+      }
+      if (allGroups != null && allGroups.hasNext())
       {
-        if (toChange.conservationApplied())
+        while ((toChange = allGroups.next().cs) == null
+                && allGroups.hasNext())
         {
-          toChange.setConservationInc(i);
+          ;
         }
       }
       else
       {
-        toChange.setThreshold(i, ap.av.getIgnoreGapsConsensus());
+        toChange = null;
       }
-
-      groupIndex--;
     }
 
-    ap.seqPanel.seqCanvas.repaint();
+    ap.getSeqPanel().seqCanvas.repaint();
   }
 
   /**
    * DOCUMENT ME!
    * 
    * @param b
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   public void setAllGroupsCheckEnabled(boolean b)
   {
@@ -327,7 +329,7 @@ public class SliderPanel extends GSliderPanel
    * DOCUMENT ME!
    * 
    * @param e
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   public void valueField_actionPerformed(ActionEvent e)
   {
@@ -345,7 +347,7 @@ public class SliderPanel extends GSliderPanel
    * DOCUMENT ME!
    * 
    * @param value
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   public void setValue(int value)
   {