Highlight from alignment
[jalview.git] / src / jalview / gui / AnnotationPanel.java
index 9c2aac0..d97c80f 100755 (executable)
@@ -76,6 +76,12 @@ public class AnnotationPanel extends JPanel implements MouseListener,
         ap.annotationScroller.getVerticalScrollBar().addAdjustmentListener(this);\r
     }\r
 \r
+    public AnnotationPanel(AlignViewport av)\r
+    {\r
+      this.av = av;\r
+    }\r
+\r
+\r
     /**\r
      * DOCUMENT ME!\r
      *\r
@@ -89,7 +95,7 @@ public class AnnotationPanel extends JPanel implements MouseListener,
     /**\r
      * DOCUMENT ME!\r
      */\r
-    public void adjustPanelHeight()\r
+    public int adjustPanelHeight()\r
     {\r
         // setHeight of panels\r
         image = null;\r
@@ -136,6 +142,8 @@ public class AnnotationPanel extends JPanel implements MouseListener,
         }\r
 \r
         this.setPreferredSize(new Dimension(1, height));\r
+\r
+        return height;\r
     }\r
 \r
     /**\r
@@ -148,6 +156,8 @@ public class AnnotationPanel extends JPanel implements MouseListener,
         if (activeRow == -1)\r
         {\r
             AlignmentAnnotation[] aa = av.alignment.getAlignmentAnnotation();\r
+            if(aa==null)\r
+              return;\r
 \r
             for (int j = 0; j < aa.length; j++)\r
             {\r
@@ -178,6 +188,8 @@ public class AnnotationPanel extends JPanel implements MouseListener,
         if (activeRow == -1)\r
         {\r
             AlignmentAnnotation[] aa = av.alignment.getAlignmentAnnotation();\r
+            if(aa==null)\r
+              return;\r
 \r
             for (int j = 0; j < aa.length; j++)\r
             {\r
@@ -526,7 +538,7 @@ public class AnnotationPanel extends JPanel implements MouseListener,
       g.setColor(Color.white);\r
       g.fillRect(0, 0, getWidth(), getHeight());\r
 \r
-      if (fastPaint)\r
+      if (fastPaint && image!=null)\r
       {\r
         g.drawImage(image, 0, 0, this);\r
         fastPaint = false;\r
@@ -602,8 +614,14 @@ public class AnnotationPanel extends JPanel implements MouseListener,
      * @param startRes DOCUMENT ME!\r
      * @param endRes DOCUMENT ME!\r
      */\r
-    public void drawComponent(Graphics2D g, int startRes, int endRes)\r
+    public void drawComponent(Graphics g, int startRes, int endRes)\r
     {\r
+      g.setFont(av.getFont());\r
+\r
+      if (fm == null)\r
+        fm = g.getFontMetrics();\r
+\r
+\r
         g.setColor(Color.white);\r
         g.fillRect(0, 0, (endRes - startRes) * av.charWidth, getHeight());\r
 \r
@@ -852,13 +870,17 @@ public class AnnotationPanel extends JPanel implements MouseListener,
         g.fillRect(0, 0, width, y);\r
         g.setColor(new Color(0, 0, 180));\r
 \r
-        int x = 0;\r
+\r
+        int x = 0, height;\r
 \r
         for (int j = sRes; j < eRes; j++)\r
         {\r
             g.setColor(new Color(0, 0, 180));\r
 \r
-            int height = (int) ((aa.annotations[j].value / aa.graphMax) * GRAPH_HEIGHT);\r
+            height = (int) ((aa.annotations[j].value / aa.graphMax) * GRAPH_HEIGHT);\r
+            if(height>y)\r
+              height = y;\r
+\r
             g.fillRect(x, y - height, av.charWidth, height);\r
             x += av.charWidth;\r
         }\r