- int hgap = av.charHeight;\r
- if (av.scaleAboveWrapped)\r
- hgap += av.charHeight;\r
-\r
- int cHeight = av.getAlignment().getHeight() * av.charHeight\r
- + hgap\r
- + annotationHeight;\r
-\r
- int rowSize = av.getEndRes() - av.getStartRes();\r
-\r
- // Draw the rest of the panels\r
- for (int ypos = hgap, row = av.startRes;\r
- (ypos <= getHeight()) && (row < av.alignment.getWidth());\r
- ypos += cHeight, row += rowSize)\r
- {\r
- for (int i = starty; i < av.alignment.getHeight(); i++)\r
- {\r
- SequenceI s = av.alignment.getSequenceAt(i);\r
- gg.setFont(italic);\r
- drawIdString(gg, s, i, 0, ypos);\r
- }\r
-\r
- if(labels!=null)\r
- {\r
- gg.translate(0, ypos+(av.getAlignment().getHeight() * av.charHeight));\r
- labels.drawComponent(gg, getWidth());\r
- gg.translate(0, -ypos-(av.getAlignment().getHeight() * av.charHeight));\r
-\r
- }\r
- }\r
+ drawIdString(gg, s, i, 0, ypos);\r
+ }\r
+\r
+ if (labels != null && av.showAnnotation)\r
+ {\r
+ gg.translate(0, ypos + (alheight * av.charHeight));\r
+ labels.drawComponent(gg, getWidth());\r
+ gg.translate(0, -ypos - (alheight * av.charHeight));\r
+ }\r
+ }\r
+ }\r
+ else\r
+ {\r
+ //No need to hang on to labels if we're not wrapped\r
+ labels = null;\r
+\r
+ //Now draw the id strings\r
+ int panelWidth = getWidth();\r
+ int xPos = 0;\r
+\r
+ SequenceI sequence;\r
+ //Now draw the id strings\r
+ for (int i = starty; i < endy; i++)\r
+ {\r
+ sequence = av.alignment.getSequenceAt(i);\r
+\r
+ if (sequence == null)\r
+ {\r
+ continue;\r
+ }\r
+\r
+ if (av.hasHiddenRows)\r
+ {\r
+ setHiddenFont(sequence);\r
+ }\r
+\r
+ // Selected sequence colours\r
+ if ( (searchResults != null) &&\r
+ searchResults.contains(sequence))\r
+ {\r
+ currentColor = Color.black;\r
+ currentTextColor = Color.white;\r
+ }\r
+ else if ( (av.getSelectionGroup() != null) &&\r
+ av.getSelectionGroup().getSequences(null).contains(\r
+ sequence))\r
+ {\r
+ currentColor = Color.lightGray;\r
+ currentTextColor = Color.black;\r