+ Dimension calculateIdWidth()\r
+ {\r
+ Graphics g = this.getGraphics();\r
+ if(g==null)\r
+ {\r
+ javax.swing.JFrame f = new javax.swing.JFrame();\r
+ f.addNotify();\r
+ g = f.getGraphics();\r
+ }\r
+\r
+ FontMetrics fm = g.getFontMetrics(av.font);\r
+ AlignmentI al = av.getAlignment();\r
+\r
+ int i = 0;\r
+ int idWidth = 0;\r
+ String id;\r
+ while (i < al.getHeight() && al.getSequenceAt(i) != null)\r
+ {\r
+ SequenceI s = al.getSequenceAt(i);\r
+ if(av.getShowFullId())\r
+ id = s.getDisplayId();\r
+ else\r
+ id = s.getName();\r
+\r
+ if (fm.stringWidth(id) > idWidth)\r
+ idWidth = fm.stringWidth(id);\r
+ i++;\r
+ }\r
+\r
+ return new Dimension(idWidth, 12);\r
+ }\r
+\r