thread safety during repaint
[jalview.git] / src / jalview / gui / AnnotationLabels.java
index 0ea7730..c0b8022 100755 (executable)
@@ -147,7 +147,6 @@ public class AnnotationLabels
    */
   public void actionPerformed(ActionEvent evt)
   {
-    int dif = 0;
     AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation();
 
     if (evt.getActionCommand().equals(ADDNEW))
@@ -163,10 +162,6 @@ public class AnnotationLabels
 
       ap.av.alignment.addAnnotation(newAnnotation);
       ap.av.alignment.setAnnotationIndex(newAnnotation, 0);
-      if (aa != null)
-      {
-        dif = aa[aa.length - 1].height;
-      }
     }
     else if (evt.getActionCommand().equals(EDITNAME))
     {
@@ -181,13 +176,10 @@ public class AnnotationLabels
       {
         ap.av.quality = null;
       }
-
-      dif = aa[selectedRow].height * -1;
     }
     else if (evt.getActionCommand().equals(DELETE))
     {
       ap.av.alignment.deleteAnnotation(aa[selectedRow]);
-      dif = aa[selectedRow].height * -1;
     }
     else if (evt.getActionCommand().equals(SHOWALL))
     {
@@ -195,7 +187,6 @@ public class AnnotationLabels
       {
         if (!aa[i].visible && aa[i].annotations!=null)
         {
-          dif += aa[i].height;
           aa[i].visible = true;
         }
       }
@@ -378,9 +369,11 @@ public class AnnotationLabels
 
       if (aa.description != null && !aa.description.equals("New description"))
       {
-        desc.append(aa.description+"<br>");
+        desc.append(aa.description);
+        if(aa.hasScore)
+          desc.append("<br>");
       }
-      if(!Float.isNaN(aa.score))
+      if(aa.hasScore())
       {
         desc.append("Score: "+aa.score);
       }
@@ -410,20 +403,19 @@ public class AnnotationLabels
 
     AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation();
 
+    JPopupMenu pop = new JPopupMenu("Annotations");
+    JMenuItem item = new JMenuItem(ADDNEW);
+    item.addActionListener(this);
+
     if ( (aa == null) || (aa.length == 0))
     {
-      JPopupMenu pop = new JPopupMenu("Annotations");
-      JMenuItem item = new JMenuItem(ADDNEW);
+      item = new JMenuItem(SHOWALL);
       item.addActionListener(this);
       pop.add(item);
       pop.show(this, evt.getX(), evt.getY());
-
       return;
     }
 
-    JPopupMenu pop = new JPopupMenu("Annotations");
-    JMenuItem item = new JMenuItem(ADDNEW);
-    item.addActionListener(this);
     pop.add(item);
     item = new JMenuItem(EDITNAME);
     item.addActionListener(this);
@@ -441,7 +433,7 @@ public class AnnotationLabels
     item.addActionListener(this);
     pop.add(item);
     // annotation object should be typed
-    if (aa[selectedRow] == ap.av.consensus)
+    if (selectedRow<aa.length && aa[selectedRow] == ap.av.consensus)
     {
       pop.addSeparator();
       final JCheckBoxMenuItem cbmi = new JCheckBoxMenuItem(
@@ -643,13 +635,7 @@ public class AnnotationLabels
         }
         else
         {
-          if(aa[i].belowAlignment)
-            g.setColor(Color.ORANGE);
-          else
-            g.setColor(Color.red);
-
           g.drawString(aa[i].label, x, y +offset);
-
         }
       }
     }