no action if supplied colour isnull
[jalview.git] / src / jalview / gui / OverviewPanel.java
index 2c67388..3988130 100755 (executable)
@@ -13,7 +13,7 @@ public class OverviewPanel extends JPanel
   float scalew = 1f;\r
   float scaleh = 1f;\r
 \r
-  int sequencesWidth=400, sequencesHeight=150;\r
+  int sequencesWidth, sequencesHeight;\r
   int graphHeight=30;\r
   int boxX=-1, boxY=-1, boxWidth=-1, boxHeight=-1;\r
 \r
@@ -21,6 +21,25 @@ public class OverviewPanel extends JPanel
   {\r
     this.av = av;\r
     this.ap = ap;\r
+\r
+    // scale the initial size of overviewpanel to shape of alignment\r
+\r
+    float initialScale = (float)av.getAlignment().getWidth()/(float)av.getAlignment().getHeight();\r
+    if(av.getAlignment().getWidth() > av.getAlignment().getHeight())\r
+    {\r
+      // wider\r
+      sequencesWidth = 400;\r
+      sequencesHeight = (int)(400f/initialScale);\r
+    }\r
+    else\r
+    {\r
+      // taller\r
+      sequencesWidth = (int)(400f*initialScale);\r
+      sequencesHeight = 300;\r
+    }\r
+\r
+\r
+\r
     setSize(sequencesWidth, sequencesHeight+graphHeight);\r
     setLayout(null);\r
 \r
@@ -97,14 +116,17 @@ public class OverviewPanel extends JPanel
 \r
   public void updateOverviewImage()\r
   {\r
+\r
+  boolean oldRenderGaps = av.renderGaps;\r
+  av.setRenderGaps(false);\r
    miniMe = null;\r
    setPreferredSize (new Dimension(sequencesWidth, sequencesHeight+graphHeight));\r
    sequencesWidth=getWidth();\r
    sequencesHeight=this.getHeight()-graphHeight;\r
 \r
 \r
-    int fullsizeWidth = (int)(av.getAlignment().getWidth()*av.getCharWidth());\r
-    int fullsizeHeight = av.getAlignment().getHeight()*av.getCharHeight();\r
+    int fullsizeWidth  = av.getAlignment().getWidth() * av.getCharWidth();\r
+    int fullsizeHeight = av.getAlignment().getHeight()* av.getCharHeight();\r
 \r
 \r
     BufferedImage fullSize = new BufferedImage(fullsizeWidth,\r
@@ -141,6 +163,8 @@ public class OverviewPanel extends JPanel
       miniMe = null;\r
     }\r
 \r
+    av.setRenderGaps(oldRenderGaps);\r
+\r
   }\r
 \r
   public void setBoxPosition()\r
@@ -156,6 +180,8 @@ public class OverviewPanel extends JPanel
 \r
   public void paintComponent(Graphics g)\r
   {\r
+    g.setColor(Color.white);\r
+    g.fillRect(0,0,getWidth(),getHeight());\r
     if(miniMe!=null)\r
       g.drawImage(miniMe, 0,0,this);\r
 \r