JAL-1683 replace year/version strings with tokens in source
[jalview.git] / src / jalview / gui / ScalePanel.java
index a1e8e25..6ef5222 100755 (executable)
@@ -1,31 +1,47 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ 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.gui;
 
-import java.awt.*;
-import java.awt.event.*;
-
-import javax.swing.*;
-
-import jalview.datamodel.*;
+import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.SequenceGroup;
+import jalview.datamodel.SequenceI;
 import jalview.util.MessageManager;
 
+import java.awt.Color;
+import java.awt.FontMetrics;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
+
+import javax.swing.JMenuItem;
+import javax.swing.JPanel;
+import javax.swing.JPopupMenu;
+import javax.swing.SwingUtilities;
+import javax.swing.ToolTipManager;
+
 /**
  * DOCUMENT ME!
  * 
@@ -95,7 +111,8 @@ public class ScalePanel extends JPanel implements MouseMotionListener,
       JPopupMenu pop = new JPopupMenu();
       if (reveal != null)
       {
-        JMenuItem item = new JMenuItem("Reveal");
+        JMenuItem item = new JMenuItem(
+                MessageManager.getString("label.reveal"));
         item.addActionListener(new ActionListener()
         {
           public void actionPerformed(ActionEvent e)
@@ -111,9 +128,10 @@ public class ScalePanel extends JPanel implements MouseMotionListener,
         });
         pop.add(item);
 
-        if (av.getColumnSelection().getHiddenColumns().size() > 1)
+        if (av.getColumnSelection().hasHiddenColumns())
         {
-          item = new JMenuItem("Reveal All");
+          item = new JMenuItem(
+                  MessageManager.getString("action.reveal_all"));
           item.addActionListener(new ActionListener()
           {
             public void actionPerformed(ActionEvent e)
@@ -133,7 +151,8 @@ public class ScalePanel extends JPanel implements MouseMotionListener,
       }
       else if (av.getColumnSelection().contains(res))
       {
-        JMenuItem item = new JMenuItem("Hide Columns");
+        JMenuItem item = new JMenuItem(
+                MessageManager.getString("label.hide_columns"));
         item.addActionListener(new ActionListener()
         {
           public void actionPerformed(ActionEvent e)
@@ -322,7 +341,7 @@ public class ScalePanel extends JPanel implements MouseMotionListener,
   {
     if (mouseDragging)
     {
-      ap.seqPanel.scrollCanvas(null);
+      ap.getSeqPanel().scrollCanvas(null);
     }
   }
 
@@ -330,7 +349,7 @@ public class ScalePanel extends JPanel implements MouseMotionListener,
   {
     if (mouseDragging)
     {
-      ap.seqPanel.scrollCanvas(evt);
+      ap.getSeqPanel().scrollCanvas(evt);
     }
   }
 
@@ -350,24 +369,24 @@ public class ScalePanel extends JPanel implements MouseMotionListener,
     res = av.getColumnSelection().adjustForHiddenColumns(res);
 
     reveal = null;
-    for (int i = 0; i < av.getColumnSelection().getHiddenColumns().size(); i++)
+    if (av.getColumnSelection().getHiddenColumns() != null)
     {
-      int[] region = (int[]) av.getColumnSelection().getHiddenColumns()
-              .elementAt(i);
-      if (res + 1 == region[0] || res - 1 == region[1])
+      for (int[] region : av.getColumnSelection().getHiddenColumns())
       {
-        reveal = region;
-        ToolTipManager.sharedInstance().registerComponent(this);
-        this.setToolTipText("Reveal Hidden Columns with Right Mouse Button");
-        break;
-      }
-      else
-      {
-        this.setToolTipText(null);
+        if (res + 1 == region[0] || res - 1 == region[1])
+        {
+          reveal = region;
+          ToolTipManager.sharedInstance().registerComponent(this);
+          this.setToolTipText(MessageManager
+                  .getString("label.reveal_hidden_columns"));
+          break;
+        }
+        else
+        {
+          this.setToolTipText(null);
+        }
       }
-
     }
-
     repaint();
   }
 
@@ -460,18 +479,18 @@ public class ScalePanel extends JPanel 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));
       }
     }
@@ -480,7 +499,8 @@ public class ScalePanel extends JPanel implements MouseMotionListener,
     {
       gg.setColor(Color.blue);
       int res;
-      if (av.getShowHiddenMarkers())
+      if (av.getShowHiddenMarkers()
+              && av.getColumnSelection().getHiddenColumns() != null)
       {
         for (int i = 0; i < av.getColumnSelection().getHiddenColumns()
                 .size(); i++)
@@ -506,7 +526,8 @@ public class ScalePanel extends JPanel implements MouseMotionListener,
 
       if (reveal != null && reveal[0] > startx && reveal[0] < endx)
       {
-        gg.drawString(MessageManager.getString("label.reveal_columns"), reveal[0] * av.charWidth, 0);
+        gg.drawString(MessageManager.getString("label.reveal_columns"),
+                reveal[0] * av.charWidth, 0);
       }
     }