formatting
[jalview.git] / src / jalview / gui / AnnotationPanel.java
index 315b141..0f6901d 100755 (executable)
@@ -167,6 +167,15 @@ public class AnnotationPanel extends JPanel implements MouseListener,
         AlignmentAnnotation[] aa = av.alignment.getAlignmentAnnotation();\r
         Annotation[] anot = aa[activeRow].annotations;\r
 \r
+        if (anot.length < av.getColumnSelection().getMax())\r
+        {\r
+          Annotation[] temp = new Annotation[av.getColumnSelection().getMax()+2 ];\r
+          System.arraycopy(anot, 0, temp, 0, anot.length);\r
+          anot = temp;\r
+          aa[activeRow].annotations = anot;\r
+        }\r
+\r
+\r
         if (evt.getActionCommand().equals(REMOVE))\r
         {\r
             for (int i = 0; i < av.getColumnSelection().size(); i++)\r
@@ -279,7 +288,6 @@ public class AnnotationPanel extends JPanel implements MouseListener,
     public void mousePressed(MouseEvent evt)\r
     {\r
 \r
-\r
         AlignmentAnnotation[] aa = av.alignment.getAlignmentAnnotation();\r
         if(aa==null)\r
           return;\r
@@ -349,6 +357,9 @@ public class AnnotationPanel extends JPanel implements MouseListener,
 \r
         int res = (evt.getX() / av.getCharWidth()) + av.getStartRes();\r
 \r
+        if(av.hasHiddenColumns)\r
+          res = av.getColumnSelection().adjustForHiddenColumns(res);\r
+\r
         min = res;\r
         max = res;\r
 \r
@@ -430,6 +441,9 @@ public class AnnotationPanel extends JPanel implements MouseListener,
 \r
         int res = (evt.getX() / av.getCharWidth()) + av.getStartRes();\r
 \r
+        if(av.hasHiddenColumns)\r
+          res = av.getColumnSelection().adjustForHiddenColumns(res);\r
+\r
         SequenceGroup sg = av.getSelectionGroup();\r
 \r
         if (res < min)\r
@@ -487,6 +501,7 @@ public class AnnotationPanel extends JPanel implements MouseListener,
 \r
         if (aa == null)\r
         {\r
+          this.setToolTipText(null);\r
             return;\r
         }\r
 \r
@@ -509,7 +524,10 @@ public class AnnotationPanel extends JPanel implements MouseListener,
         }\r
 \r
         if(row==-1)\r
-          return;\r
+       {\r
+         this.setToolTipText(null);\r
+         return;\r
+       }\r
 \r
         int res = (evt.getX() / av.getCharWidth()) + av.getStartRes();\r
 \r
@@ -534,18 +552,23 @@ public class AnnotationPanel extends JPanel implements MouseListener,
                 this.setToolTipText(tip.toString() + "</html>");\r
               }\r
             }\r
-            else if(aa[row].annotations[res] != null)\r
+            else if(aa[row].annotations[res] != null\r
+                    && aa[row].annotations[res].description!=null)\r
               this.setToolTipText(aa[row].annotations[res].description);\r
 \r
             if(aa[row].annotations[res]!=null)\r
             {\r
               StringBuffer text = new StringBuffer("Sequence position " +\r
-                                                   (res + 1) + "  " +\r
-                                                   aa[row].annotations[res].description);\r
+                                                   (res + 1));\r
+\r
+              if (aa[row].annotations[res].description != null)\r
+                text.append("  " + aa[row].annotations[res].description);\r
 \r
               ap.alignFrame.statusBar.setText(text.toString());\r
             }\r
         }\r
+        else\r
+          this.setToolTipText(null);\r
     }\r
 \r
     /**\r
@@ -753,7 +776,7 @@ public class AnnotationPanel extends JPanel implements MouseListener,
                 }\r
             }\r
 \r
-            if (av.updatingConsensus && aa[i].label.equals("Consensus"))\r
+            if (av.updatingConsensus && aa[i]==av.consensus)\r
             {\r
               y += av.charHeight;\r
 \r
@@ -1030,7 +1053,6 @@ public class AnnotationPanel extends JPanel implements MouseListener,
 \r
                 default:\r
                   g.setColor(Color.gray);\r
-                  if(!av.wrapAlignment || endRes==av.endRes)\r
                   g.fillRect(lastSSX, y + 6 + iconOffset,\r
                              (x*av.charWidth) - lastSSX, 2);\r
 \r