import jalview.datamodel.SequenceCollectionI;
import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
+import jalview.gui.AlignmentPanel;
import jalview.gui.QuitHandler;
import jalview.project.Jalview2XML;
import jalview.renderer.ResidueShader;
if (calculator.getRegisteredWorkersOfClass(
AlignmentComparisonThread.class) == null)
{
- calculator
- .registerWorker(new AlignmentComparisonThread(this, ap));
+ initAlignmentComparison(ap);
+ ap.adjustAnnotationHeight();
}
}
}
*/
private boolean followHighlight = true;
+ private AlignmentAnnotation aligComparison;
+
+ private boolean showComparison = true;
+
/**
* Property change listener for changes in alignment
*
}
}
+ private void initAlignmentComparison(final AlignmentViewPanel ap)
+ {
+ if (getCodingComplement() == null
+ || getCodingComplement().isNucleotide() != isNucleotide())
+ {
+ return;
+ }
+
+ if (aligComparison == null)
+ {
+ aligComparison = new AlignmentAnnotation("Comparision",
+ MessageManager.getString("label.alignment_comparison_descr"),
+ new Annotation[1], 0f, 100f, AlignmentAnnotation.BAR_GRAPH);
+ aligComparison.hasText = true;
+ aligComparison.autoCalculated = true;
+
+ if (showComparison)
+ {
+ alignment.addAnnotation(aligComparison);
+ }
+ }
+
+ if (calculator.getRegisteredWorkersOfClass(
+ AlignmentComparisonThread.class) == null)
+ {
+ calculator.registerWorker(new AlignmentComparisonThread(this, ap));
+ }
+ }
+ @Override
+ public AlignmentAnnotation getComparisonAnnotation()
+ {
+ return aligComparison;
+ }
+
/*
* (non-Javadoc)
*