JAL-1640 updates to use get/setter on viewportI: efficiencies - temp variables create...
[jalview.git] / src / jalview / appletgui / AnnotationPanel.java
index 4a5fc8b..167dd09 100755 (executable)
@@ -6,14 +6,16 @@
  * 
  * 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;
@@ -238,7 +240,7 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI,
         aa[activeRow].hasText = true;
         if (evt.getActionCommand().equals(STEM))
         {
-          aa[activeRow].showAllColLabels=true;
+          aa[activeRow].showAllColLabels = true;
         }
       }
 
@@ -254,7 +256,9 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI,
           anot[index] = new Annotation(label, "", type, 0);
         }
 
-        anot[index].secondaryStructure = type;
+        
+        anot[index].secondaryStructure = type != 'S' ? type : label
+                .length() == 0 ? ' ' : label.charAt(0);
         anot[index].displayCharacter = label;
       }
     }
@@ -323,7 +327,8 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI,
         return;
       }
 
-      PopupMenu pop = new PopupMenu(MessageManager.getString("label.structure_type"));
+      PopupMenu pop = new PopupMenu(
+              MessageManager.getString("label.structure_type"));
       MenuItem item;
       /*
        * Just display the needed structure options
@@ -569,13 +574,13 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI,
       return;
     }
 
-    gg.copyArea(0, 0, imgWidth, getSize().height, -horizontal
-            * av.charWidth, 0);
+    gg.copyArea(0, 0, imgWidth, getSize().height,
+            -horizontal * av.getCharWidth(), 0);
     int sr = av.startRes, er = av.endRes + 1, transX = 0;
 
     if (horizontal > 0) // scrollbar pulled right, image to the left
     {
-      transX = (er - sr - horizontal) * av.charWidth;
+      transX = (er - sr - horizontal) * av.getCharWidth();
       sr = er - horizontal;
     }
     else if (horizontal < 0)
@@ -609,7 +614,8 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI,
     g.setFont(ofont);
 
     g.setColor(Color.white);
-    g.fillRect(0, 0, (endRes - startRes) * av.charWidth, getSize().height);
+    g.fillRect(0, 0, (endRes - startRes) * av.getCharWidth(),
+            getSize().height);
 
     if (fm == null)
     {
@@ -624,7 +630,8 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI,
       g.setColor(Color.black);
       if (av.validCharWidth)
       {
-        g.drawString(MessageManager.getString("label.alignment_has_no_annotations"), 20, 15);
+        g.drawString(MessageManager
+                .getString("label.alignment_has_no_annotations"), 20, 15);
       }
 
       return;
@@ -662,16 +669,21 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI,
   {
     return imgWidth;
   }
+
   private int[] bounds = new int[2];
+
   @Override
   public int[] getVisibleVRange()
   {
-    if (ap!=null && ap.alabels!=null)
+    if (ap != null && ap.alabels != null)
     {
-    int sOffset=-ap.alabels.scrollOffset;
-    int visHeight = sOffset+ap.annotationPanelHolder.getHeight();
-    bounds[0] = sOffset; bounds[1]=visHeight;
-    return bounds;
-    } else return null;
+      int sOffset = -ap.alabels.scrollOffset;
+      int visHeight = sOffset + ap.annotationPanelHolder.getHeight();
+      bounds[0] = sOffset;
+      bounds[1] = visHeight;
+      return bounds;
+    }
+    else
+      return null;
   }
 }