boolean fastPaint = false;\r
java.util.Vector searchResults;\r
FontMetrics fm;\r
+ AnnotationLabels labels = null;\r
+ AnnotationPanel ap;\r
\r
/**\r
* Creates a new IdCanvas object.\r
gg.setColor(Color.white);\r
}\r
else if ((av.getSelectionGroup() != null) &&\r
- av.getSelectionGroup().getSequences(false).contains(s))\r
+ av.getSelectionGroup().getSequences(null).contains(s))\r
{\r
gg.setColor(Color.lightGray);\r
gg.fillRect(0, ((i - starty) * charHeight) + ypos, getWidth(),\r
maxwidth = av.getColumnSelection().findColumnPosition(maxwidth) - 1;\r
\r
int annotationHeight = 0;\r
- AnnotationLabels labels = null;\r
+\r
\r
if(av.showAnnotation)\r
{\r
- AnnotationPanel ap = new AnnotationPanel(av);\r
+ if (ap == null)\r
+ ap = new AnnotationPanel(av);\r
+\r
annotationHeight = ap.adjustPanelHeight();\r
- labels = new AnnotationLabels(av);\r
+ if (labels == null)\r
+ labels = new AnnotationLabels(av);\r
}\r
\r
int hgap = av.charHeight;\r
{\r
for (int i = starty; i < alheight; i++)\r
{\r
+ SequenceI s = av.alignment.getSequenceAt(i);\r
if (av.hasHiddenRows)\r
{\r
- setHiddenFont(i);\r
+ setHiddenFont(s);\r
}\r
else\r
gg.setFont(italic);\r
\r
- SequenceI s = av.alignment.getSequenceAt(i);\r
drawIdString(gg, s, i, 0, ypos);\r
}\r
\r
- if(labels!=null)\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
}\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
if (av.hasHiddenRows)\r
{\r
- setHiddenFont(i);\r
+ setHiddenFont(sequence);\r
}\r
\r
// Selected sequence colours\r
currentTextColor = Color.white;\r
}\r
else if ( (av.getSelectionGroup() != null) &&\r
- av.getSelectionGroup().getSequences(false).contains(\r
+ av.getSelectionGroup().getSequences(null).contains(\r
sequence))\r
{\r
currentColor = Color.lightGray;\r
}\r
}\r
\r
- void setHiddenFont(int i)\r
+ void setHiddenFont(SequenceI seq)\r
{\r
Font italic = new Font(av.getFont().getName(), Font.ITALIC,\r
av.getFont().getSize());\r
av.getFont().getSize());\r
\r
\r
- if (av.alignment.getSequenceAt(i)!=null\r
- && av.alignment.getSequenceAt(i).getHiddenSequences() != null)\r
+ if (av.hiddenRepSequences!=null &&\r
+ av.hiddenRepSequences.containsKey(seq))\r
gg.setFont(bold);\r
else\r
gg.setFont(italic);\r