import jalview.datamodel.ColumnSelection;
import jalview.datamodel.HiddenColumns;
import jalview.datamodel.ProfilesI;
+import jalview.renderer.api.AnnotationRendererFactoryI;
+import jalview.renderer.api.AnnotationRowRendererI;
import jalview.schemes.ColourSchemeI;
import jalview.schemes.NucleotideColourScheme;
import jalview.schemes.ResidueProperties;
private ProfilesI hconsensus;
- private Hashtable[] complementConsensus;
+ private Hashtable<String, Object>[] complementConsensus;
- private Hashtable[] hStrucConsensus;
+ private Hashtable<String, Object>[] hStrucConsensus;
private boolean av_ignoreGapsConsensus;
*/
public void dispose()
{
+ hiddenColumns = null;
hconsensus = null;
complementConsensus = null;
hStrucConsensus = null;
fadedImage = null;
annotationPanel = null;
+ rendererFactoryI = null;
}
void drawStemAnnot(Graphics g, Annotation[] row_annotations, int lastSSX,
useClip = false;
}
+ rendererFactoryI = AnnotationRendererFactory.getRendererFactory();
updateFromAlignViewport(av);
}
return null;
}
+ boolean rna = false;
+
+ private AnnotationRendererFactoryI rendererFactoryI;
+
/**
* Render the annotation rows associated with an alignment.
*
updateFromAwtRenderPanel(annotPanel, av);
fm = g.getFontMetrics();
AlignmentAnnotation[] aa = av.getAlignment().getAlignmentAnnotation();
- int temp = 0;
+ // int temp = 0;
if (aa == null)
{
return false;
boolean validRes = false;
boolean validEnd = false;
boolean labelAllCols = false;
- boolean centreColLabels;
- boolean centreColLabelsDef = av.isCentreColumnLabels();
+ // boolean centreColLabels;
+ // boolean centreColLabelsDef = av.isCentreColumnLabels();
boolean scaleColLabel = false;
final AlignmentAnnotation consensusAnnot = av
.getAlignmentConsensusAnnotation();
{
continue;
}
- centreColLabels = row.centreColLabels || centreColLabelsDef;
+ // centreColLabels = row.centreColLabels || centreColLabelsDef;
labelAllCols = row.showAllColLabels;
scaleColLabel = row.scaleColLabel;
lastSS = ' ';
if (x > -1)
{
- int nb_annot = x - temp;
+ // int nb_annot = x - temp;
// System.out.println("\t type :"+lastSS+"\t x :"+x+"\t nbre
// annot :"+nb_annot);
switch (lastSS)
case ')': // and opposite direction
drawStemAnnot(g, row_annotations, lastSSX, x, y,
iconOffset, startRes, column, validRes, validEnd);
- temp = x;
+ // temp = x;
break;
case 'H':
drawNotCanonicalAnnot(g, nonCanColor, row_annotations,
lastSSX, x, y, iconOffset, startRes, column,
validRes, validEnd);
- temp = x;
+ // temp = x;
break;
default:
g.setColor(Color.gray);
g.fillRect(lastSSX, y + 6 + iconOffset,
(x * charWidth) - lastSSX, 2);
- temp = x;
+ // temp = x;
break;
}
}
row.graphMin, row.graphMax, y, renderHistogram,
renderProfile, normaliseProfile);
}
+ else
+ {
+ AnnotationRowRendererI renderer = rendererFactoryI
+ .getRendererFor(row);
+ if (renderer != null)
+ {
+ renderer.renderRow(g, charWidth, charHeight,
+ hasHiddenColumns, av, hiddenColumns, columnSelection,
+ row, row_annotations, startRes, endRes, row.graphMin,
+ row.graphMax, y);
+ }
+ if (debugRedraw)
+ {
+ if (renderer == null)
+ {
+ System.err.println("No renderer found for "
+ + row.toString());
+ }
+ else
+ {
+ System.err.println("rendered with "
+ + renderer.getClass().toString());
+ }
+ }
+
+ }
}
}
else
public static final Color STEM_COLOUR = Color.blue;
- private Color sdNOTCANONICAL_COLOUR;
+ // private Color sdNOTCANONICAL_COLOUR;
void drawGlyphLine(Graphics g, Annotation[] row, int lastSSX, int x,
int y, int iconOffset, int startRes, int column, boolean validRes,
.deriveFont(AffineTransform.getScaleInstance(sx, sy));
g.setFont(font);
g.drawChars(dc, 0, dc.length, x * charWidth, hght);
+ g.setFont(ofont);
+
ht += newHeight;
}
}