Merge branch 'develop' into feature_29/JAL-1372_referenceseq
[jalview.git] / src / jalview / appletgui / ScalePanel.java
index 8fe6e30..2b6f37a 100755 (executable)
@@ -1,26 +1,41 @@
 /*
- * 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.2)
+ * 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.
- * 
+ * 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/>.
+ * 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.appletgui;
 
-import java.awt.*;
-import java.awt.event.*;
-
-import jalview.datamodel.*;
+import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.SequenceGroup;
+import jalview.util.MessageManager;
+
+import java.awt.Color;
+import java.awt.FontMetrics;
+import java.awt.Graphics;
+import java.awt.MenuItem;
+import java.awt.Panel;
+import java.awt.PopupMenu;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.InputEvent;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
 
 public class ScalePanel extends Panel implements MouseMotionListener,
         MouseListener
@@ -76,7 +91,8 @@ public class ScalePanel extends Panel implements MouseMotionListener,
       PopupMenu pop = new PopupMenu();
       if (reveal != null)
       {
-        MenuItem item = new MenuItem("Reveal");
+        MenuItem item = new MenuItem(
+                MessageManager.getString("label.reveal"));
         item.addActionListener(new ActionListener()
         {
           public void actionPerformed(ActionEvent e)
@@ -92,9 +108,9 @@ public class ScalePanel extends Panel implements MouseMotionListener,
         });
         pop.add(item);
 
-        if (av.getColumnSelection().getHiddenColumns().size() > 1)
+        if (av.getColumnSelection().hasManyHiddenColumns())
         {
-          item = new MenuItem("Reveal All");
+          item = new MenuItem(MessageManager.getString("action.reveal_all"));
           item.addActionListener(new ActionListener()
           {
             public void actionPerformed(ActionEvent e)
@@ -115,15 +131,16 @@ public class ScalePanel extends Panel implements MouseMotionListener,
       }
       else if (av.getColumnSelection().contains(res))
       {
-        MenuItem item = new MenuItem("Hide Columns");
+        MenuItem item = new MenuItem(
+                MessageManager.getString("label.hide_columns"));
         item.addActionListener(new ActionListener()
         {
           public void actionPerformed(ActionEvent e)
           {
             av.hideColumns(res, res);
             if (av.getSelectionGroup() != null
-                    && av.getSelectionGroup().getSize() == av.getAlignment()
-                            .getHeight())
+                    && av.getSelectionGroup().getSize() == av
+                            .getAlignment().getHeight())
             {
               av.setSelectionGroup(null);
             }
@@ -317,10 +334,8 @@ public class ScalePanel extends Panel implements MouseMotionListener,
     res = av.getColumnSelection().adjustForHiddenColumns(res);
 
     reveal = null;
-    for (int i = 0; i < av.getColumnSelection().getHiddenColumns().size(); i++)
+    for (int[] region : av.getColumnSelection().getHiddenColumns())
     {
-      int[] region = (int[]) av.getColumnSelection().getHiddenColumns()
-              .elementAt(i);
       if (res + 1 == region[0] || res - 1 == region[1])
       {
         reveal = region;
@@ -401,18 +416,18 @@ public class ScalePanel extends Panel implements MouseMotionListener,
         }
 
         gg.drawLine(
-                (int) (((i - startx - 1) * av.charWidth) + (av.charWidth / 2)),
+                ((i - startx - 1) * av.charWidth) + (av.charWidth / 2),
                 y + 2,
-                (int) (((i - startx - 1) * av.charWidth) + (av.charWidth / 2)),
+                ((i - startx - 1) * av.charWidth) + (av.charWidth / 2),
                 y + (fm.getDescent() * 2));
 
       }
       else
       {
         gg.drawLine(
-                (int) (((i - startx - 1) * av.charWidth) + (av.charWidth / 2)),
+                ((i - startx - 1) * av.charWidth) + (av.charWidth / 2),
                 y + fm.getDescent(),
-                (int) (((i - startx - 1) * av.charWidth) + (av.charWidth / 2)),
+                ((i - startx - 1) * av.charWidth) + (av.charWidth / 2),
                 y + (fm.getDescent() * 2));
       }
     }
@@ -447,7 +462,8 @@ public class ScalePanel extends Panel implements MouseMotionListener,
 
       if (reveal != null && reveal[0] > startx && reveal[0] < endx)
       {
-        gg.drawString("Reveal Columns", reveal[0] * av.charWidth, 0);
+        gg.drawString(MessageManager.getString("label.reveal_columns"),
+                reveal[0] * av.charWidth, 0);
       }
     }