getVisibleIdWidth() for making images
authoramwaterhouse <Andrew Waterhouse>
Mon, 11 Sep 2006 11:30:23 +0000 (11:30 +0000)
committeramwaterhouse <Andrew Waterhouse>
Mon, 11 Sep 2006 11:30:23 +0000 (11:30 +0000)
src/jalview/gui/AlignmentPanel.java

index ec5d956..366a36d 100755 (executable)
@@ -798,7 +798,7 @@ public class AlignmentPanel extends GAlignmentPanel
   public int printUnwrapped(Graphics pg, int pwidth, int pheight, int pi)\r
       throws PrinterException\r
   {\r
-    int idWidth = calculateIdWidth().width + 4;\r
+    int idWidth = getVisibleIdWidth();\r
     FontMetrics fm = getFontMetrics(av.getFont());\r
     int scaleHeight = av.charHeight + fm.getDescent();\r
 \r
@@ -810,6 +810,8 @@ public class AlignmentPanel extends GAlignmentPanel
     /// How many sequences and residues can we fit on a printable page?\r
     int totalRes = (pwidth - idWidth) / av.getCharWidth();\r
 \r
+    System.out.println(totalRes);\r
+\r
     int totalSeq = (int) ( (pheight - scaleHeight) / av.getCharHeight()) -\r
         1;\r
 \r
@@ -953,7 +955,7 @@ public class AlignmentPanel extends GAlignmentPanel
         + hgap\r
         + annotationHeight;\r
 \r
-    int idWidth = calculateIdWidth().width + 4;\r
+    int idWidth = getVisibleIdWidth();\r
 \r
     int maxwidth = av.alignment.getWidth();\r
     if (av.hasHiddenColumns)\r
@@ -1026,6 +1028,13 @@ public class AlignmentPanel extends GAlignmentPanel
     }\r
   }\r
 \r
+  int getVisibleIdWidth()\r
+  {\r
+    return\r
+        idPanel.getWidth() > 0 ? idPanel.getWidth() :\r
+        calculateIdWidth().width + 4;\r
+  }\r
+\r
   void makeAlignmentImage(int type, File file)\r
   {\r
     int maxwidth = av.alignment.getWidth();\r
@@ -1033,11 +1042,7 @@ public class AlignmentPanel extends GAlignmentPanel
       maxwidth = av.getColumnSelection().findColumnPosition(maxwidth);\r
 \r
     int height = ( (av.alignment.getHeight() + 1) * av.charHeight) + 30;\r
-    int width = idPanel.getWidth() + (maxwidth * av.charWidth);\r
-    if (idPanel.getWidth() == 0)\r
-    {\r
-      width += calculateIdWidth().getWidth() + 4;\r
-    }\r
+    int width = getVisibleIdWidth() + (maxwidth * av.charWidth);\r
 \r
     if (av.getWrapAlignment())\r
     {\r
@@ -1048,7 +1053,7 @@ public class AlignmentPanel extends GAlignmentPanel
         width = alignFrame.getWidth() - 22;\r
       }\r
       else\r
-        width = seqPanel.getWidth() + idPanel.getWidth();\r
+        width = seqPanel.getWidth() + getVisibleIdWidth();\r
 \r
     }\r
     else if (av.getShowAnnotation())\r
@@ -1128,7 +1133,7 @@ public class AlignmentPanel extends GAlignmentPanel
   {\r
     ///////ONLY WORKS WITH NONE WRAPPED ALIGNMENTS\r
     //////////////////////////////////////////////\r
-    int idWidth = calculateIdWidth().width + 4;\r
+    int idWidth = getVisibleIdWidth();\r
     FontMetrics fm = getFontMetrics(av.getFont());\r
     int scaleHeight = av.charHeight + fm.getDescent();\r
 \r
@@ -1258,8 +1263,7 @@ public class AlignmentPanel extends GAlignmentPanel
     if (System.getProperty("java.awt.headless") != null\r
               && System.getProperty("java.awt.headless").equals("true"))\r
     {\r
-      int idWidth = calculateIdWidth().width + 4;\r
-      seqPanelWidth = alignFrame.getWidth() - idWidth;\r
+      seqPanelWidth = alignFrame.getWidth() - getVisibleIdWidth();\r
     }\r
 \r
     int chunkWidth = seqPanel.seqCanvas.getWrappedCanvasWidth(\r