JAL-1620 version bump and release notes
[jalview.git] / src / jalview / appletgui / AnnotationPanel.java
index 587f3ba..e17ce20 100755 (executable)
@@ -1,19 +1,21 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1)
  * 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;
@@ -26,6 +28,7 @@ import java.awt.event.*;
 import jalview.datamodel.*;
 import jalview.renderer.AnnotationRenderer;
 import jalview.renderer.AwtRenderPanelI;
+import jalview.util.MessageManager;
 
 public class AnnotationPanel extends Panel implements AwtRenderPanelI,
         AdjustmentListener, ActionListener, MouseListener,
@@ -235,6 +238,10 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI,
       if ((label.length() > 0) && !aa[activeRow].hasText)
       {
         aa[activeRow].hasText = true;
+        if (evt.getActionCommand().equals(STEM))
+        {
+          aa[activeRow].showAllColLabels = true;
+        }
       }
 
       for (int i = 0; i < av.getColumnSelection().size(); i++)
@@ -249,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;
       }
     }
@@ -318,7 +327,8 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI,
         return;
       }
 
-      PopupMenu pop = new PopupMenu("Structure type");
+      PopupMenu pop = new PopupMenu(
+              MessageManager.getString("label.structure_type"));
       MenuItem item;
       /*
        * Just display the needed structure options
@@ -619,7 +629,8 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI,
       g.setColor(Color.black);
       if (av.validCharWidth)
       {
-        g.drawString("Alignment has no annotations", 20, 15);
+        g.drawString(MessageManager
+                .getString("label.alignment_has_no_annotations"), 20, 15);
       }
 
       return;
@@ -631,10 +642,13 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI,
 
   int scrollOffset = 0;
 
-  public void setScrollOffset(int value)
+  public void setScrollOffset(int value, boolean repaint)
   {
     scrollOffset = value;
-    repaint();
+    if (repaint)
+    {
+      repaint();
+    }
   }
 
   @Override
@@ -654,16 +668,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;
   }
 }