JAL-1683 replace year/version strings with tokens in source
[jalview.git] / src / jalview / appletgui / SeqCanvas.java
index f0031a8..eaa3a50 100755 (executable)
@@ -1,26 +1,35 @@
 /*
- * 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-Rel$$)
+ * Copyright (C) $$Year-Rel$$ 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.appletgui;
 
-import java.awt.*;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.SearchResults;
+import jalview.datamodel.SequenceGroup;
+import jalview.datamodel.SequenceI;
 
-import jalview.datamodel.*;
+import java.awt.Color;
+import java.awt.FontMetrics;
+import java.awt.Graphics;
+import java.awt.Image;
+import java.awt.Panel;
 
 public class SeqCanvas extends Panel
 {
@@ -79,7 +88,7 @@ public class SeqCanvas extends Panel
     for (int i = scalestartx; i < endx; i += 10)
     {
       int value = i;
-      if (av.hasHiddenColumns)
+      if (av.hasHiddenColumns())
       {
         value = av.getColumnSelection().adjustForHiddenColumns(value);
       }
@@ -98,22 +107,22 @@ public class SeqCanvas extends Panel
   {
     FontMetrics fm = getFontMetrics(av.getFont());
     ypos += av.charHeight;
-    if (av.hasHiddenColumns)
+    if (av.hasHiddenColumns())
     {
       startx = av.getColumnSelection().adjustForHiddenColumns(startx);
       endx = av.getColumnSelection().adjustForHiddenColumns(endx);
     }
 
-    int maxwidth = av.alignment.getWidth();
-    if (av.hasHiddenColumns)
+    int maxwidth = av.getAlignment().getWidth();
+    if (av.hasHiddenColumns())
     {
       maxwidth = av.getColumnSelection().findColumnPosition(maxwidth) - 1;
     }
 
     // WEST SCALE
-    for (int i = 0; i < av.alignment.getHeight(); i++)
+    for (int i = 0; i < av.getAlignment().getHeight(); i++)
     {
-      SequenceI seq = av.alignment.getSequenceAt(i);
+      SequenceI seq = av.getAlignment().getSequenceAt(i);
       int index = startx;
       int value = -1;
 
@@ -126,7 +135,7 @@ public class SeqCanvas extends Panel
           continue;
         }
 
-        value = av.alignment.getSequenceAt(i).findPosition(index);
+        value = av.getAlignment().getSequenceAt(i).findPosition(index);
 
         break;
       }
@@ -145,16 +154,16 @@ public class SeqCanvas extends Panel
   {
     ypos += av.charHeight;
 
-    if (av.hasHiddenColumns)
+    if (av.hasHiddenColumns())
     {
       endx = av.getColumnSelection().adjustForHiddenColumns(endx);
     }
 
     SequenceI seq;
     // EAST SCALE
-    for (int i = 0; i < av.alignment.getHeight(); i++)
+    for (int i = 0; i < av.getAlignment().getHeight(); i++)
     {
-      seq = av.alignment.getSequenceAt(i);
+      seq = av.getAlignment().getSequenceAt(i);
       int index = endx;
       int value = -1;
 
@@ -349,9 +358,10 @@ public class SeqCanvas extends Panel
     String mask = "0";
     int maxWidth = 0;
     int tmp;
-    for (int i = 0; i < av.alignment.getHeight(); i++)
+    AlignmentI alignment = av.getAlignment();
+    for (int i = 0; i < alignment.getHeight(); i++)
     {
-      tmp = av.alignment.getSequenceAt(i).getEnd();
+      tmp = alignment.getSequenceAt(i).getEnd();
       if (tmp > maxWidth)
       {
         maxWidth = tmp;
@@ -398,9 +408,9 @@ public class SeqCanvas extends Panel
     int endx;
     int ypos = hgap;
 
-    int maxwidth = av.alignment.getWidth() - 1;
+    int maxwidth = av.getAlignment().getWidth() - 1;
 
-    if (av.hasHiddenColumns)
+    if (av.hasHiddenColumns())
     {
       maxwidth = av.getColumnSelection().findColumnPosition(maxwidth) - 1;
     }
@@ -434,7 +444,7 @@ public class SeqCanvas extends Panel
       {
         drawNorthScale(g, startRes, endx, ypos);
       }
-      if (av.hasHiddenColumns && av.showHiddenMarkers)
+      if (av.hasHiddenColumns() && av.showHiddenMarkers)
       {
         g.setColor(Color.blue);
         int res;
@@ -507,51 +517,52 @@ public class SeqCanvas extends Panel
   void drawPanel(Graphics g1, int startRes, int endRes, int startSeq,
           int endSeq, int offset)
   {
-    if (!av.hasHiddenColumns)
+
+
+    if (!av.hasHiddenColumns())
     {
       draw(g1, startRes, endRes, startSeq, endSeq, offset);
     }
     else
     {
-      java.util.Vector regions = av.getColumnSelection().getHiddenColumns();
 
       int screenY = 0;
       int blockStart = startRes;
       int blockEnd = endRes;
 
-      for (int i = 0; i < regions.size(); i++)
+      if (av.hasHiddenColumns())
       {
-        int[] region = (int[]) regions.elementAt(i);
-        int hideStart = region[0];
-        int hideEnd = region[1];
-
-        if (hideStart <= blockStart)
+        for (int[] region : av.getColumnSelection().getHiddenColumns())
         {
-          blockStart += (hideEnd - hideStart) + 1;
-          continue;
-        }
+          int hideStart = region[0];
+          int hideEnd = region[1];
+
+          if (hideStart <= blockStart)
+          {
+            blockStart += (hideEnd - hideStart) + 1;
+            continue;
+          }
 
-        blockEnd = hideStart - 1;
+          blockEnd = hideStart - 1;
 
-        g1.translate(screenY * av.charWidth, 0);
+          g1.translate(screenY * av.charWidth, 0);
 
-        draw(g1, blockStart, blockEnd, startSeq, endSeq, offset);
+          draw(g1, blockStart, blockEnd, startSeq, endSeq, offset);
 
-        if (av.getShowHiddenMarkers())
-        {
-          g1.setColor(Color.blue);
-          g1
-                  .drawLine((blockEnd - blockStart + 1) * av.charWidth - 1,
-                          0 + offset, (blockEnd - blockStart + 1)
-                                  * av.charWidth - 1, (endSeq - startSeq)
-                                  * av.charHeight + offset);
-        }
+          if (av.getShowHiddenMarkers())
+          {
+            g1.setColor(Color.blue);
+            g1.drawLine((blockEnd - blockStart + 1) * av.charWidth - 1,
+                    0 + offset, (blockEnd - blockStart + 1) * av.charWidth
+                            - 1, (endSeq - startSeq) * av.charHeight
+                            + offset);
+          }
 
-        g1.translate(-screenY * av.charWidth, 0);
-        screenY += blockEnd - blockStart + 1;
-        blockStart = hideEnd + 1;
+          g1.translate(-screenY * av.charWidth, 0);
+          screenY += blockEnd - blockStart + 1;
+          blockStart = hideEnd + 1;
+        }
       }
-
       if (screenY <= (endRes - startRes))
       {
         blockEnd = blockStart + (endRes - startRes) - screenY;
@@ -578,17 +589,17 @@ public class SeqCanvas extends Panel
     // ///////////////////////////
     for (int i = startSeq; i < endSeq; i++)
     {
-      nextSeq = av.alignment.getSequenceAt(i);
+      nextSeq = av.getAlignment().getSequenceAt(i);
 
       if (nextSeq == null)
       {
         continue;
       }
 
-      sr.drawSequence(nextSeq, av.alignment.findAllGroups(nextSeq),
+      sr.drawSequence(nextSeq, av.getAlignment().findAllGroups(nextSeq),
               startRes, endRes, offset + ((i - startSeq) * av.charHeight));
 
-      if (av.showSequenceFeatures)
+      if (av.isShowSequenceFeatures())
       {
         fr.drawSequence(g, nextSeq, startRes, endRes, offset
                 + ((i - startSeq) * av.charHeight));
@@ -622,7 +633,7 @@ public class SeqCanvas extends Panel
     }
 
     if (av.getSelectionGroup() != null
-            || av.alignment.getGroups().size() > 0)
+            || av.getAlignment().getGroups().size() > 0)
     {
       drawGroupsBoundaries(g, startRes, endRes, startSeq, endSeq, offset);
     }
@@ -643,9 +654,9 @@ public class SeqCanvas extends Panel
     int ex = -1;
     int groupIndex = -1;
 
-    if ((group == null) && (av.alignment.getGroups().size() > 0))
+    if ((group == null) && (av.getAlignment().getGroups().size() > 0))
     {
-      group = (SequenceGroup) av.alignment.getGroups().elementAt(0);
+      group = av.getAlignment().getGroups().get(0);
       groupIndex = 0;
     }
 
@@ -658,7 +669,7 @@ public class SeqCanvas extends Panel
         boolean inGroup = false;
         int top = -1;
         int bottom = -1;
-        int alHeight = av.alignment.getHeight() - 1;
+        int alHeight = av.getAlignment().getHeight() - 1;
 
         for (i = startSeq; i < endSeq; i++)
         {
@@ -673,11 +684,12 @@ public class SeqCanvas extends Panel
 
           if ((sx <= (endRes - startRes) * av.charWidth)
                   && group.getSequences(null).contains(
-                          av.alignment.getSequenceAt(i)))
+                          av.getAlignment().getSequenceAt(i)))
           {
             if ((bottom == -1)
                     && (i >= alHeight || !group.getSequences(null)
-                            .contains(av.alignment.getSequenceAt(i + 1))))
+                            .contains(
+                                    av.getAlignment().getSequenceAt(i + 1))))
             {
               bottom = sy + av.charHeight;
             }
@@ -686,7 +698,7 @@ public class SeqCanvas extends Panel
             {
               if (((top == -1) && (i == 0))
                       || !group.getSequences(null).contains(
-                              av.alignment.getSequenceAt(i - 1)))
+                              av.getAlignment().getSequenceAt(i - 1)))
               {
                 top = sy;
               }
@@ -796,14 +808,14 @@ public class SeqCanvas extends Panel
 
         groupIndex++;
 
-        if (groupIndex >= av.alignment.getGroups().size())
+        if (groupIndex >= av.getAlignment().getGroups().size())
         {
           break;
         }
 
-        group = (SequenceGroup) av.alignment.getGroups().elementAt(
-                groupIndex);
-      } while (groupIndex < av.alignment.getGroups().size());
+        group = av.getAlignment().getGroups()
+                .get(groupIndex);
+      } while (groupIndex < av.getAlignment().getGroups().size());
 
     }
   }