protected boolean ignoreGapsInConsensusCalculation = false;
- protected ResidueShaderI globalColourScheme;
+ protected ResidueShaderI residueShading;
@Override
public void setGlobalColourScheme(ColourSchemeI cs)
* this means that any conservation or PID threshold settings
* persist when the alignment colour scheme is changed
*/
- if (globalColourScheme == null)
+ if (residueShading == null)
{
- globalColourScheme = new ResidueShader(viewStyle);
+ residueShading = new ResidueShader(viewStyle);
}
- globalColourScheme.setColourScheme(cs);
+ residueShading.setColourScheme(cs);
// TODO: do threshold and increment belong in ViewStyle or ResidueShader?
// ...problem: groups need these, but do not currently have a ViewStyle
if (cs != null)
{
- // if (getConservationSelected() || getAbovePIDThreshold()
- // || cs instanceof PIDColourScheme
- // || cs instanceof Blosum62ColourScheme)
if (getConservationSelected())
{
- globalColourScheme.setConservation(hconservation);
+ residueShading.setConservation(hconservation);
}
- globalColourScheme.alignmentChanged(alignment, hiddenRepSequences);
+ residueShading.alignmentChanged(alignment, hiddenRepSequences);
}
/*
@Override
public ColourSchemeI getGlobalColourScheme()
{
- return globalColourScheme == null ? null : globalColourScheme
+ return residueShading == null ? null : residueShading
.getColourScheme();
}
@Override
- public ResidueShaderI getViewportColourScheme()
+ public ResidueShaderI getResidueShading()
{
- return globalColourScheme;
+ return residueShading;
}
protected AlignmentAnnotation consensus;
hconsensus = null;
hcomplementConsensus = null;
// colour scheme may hold reference to consensus
- globalColourScheme = null;
+ residueShading = null;
// TODO remove listeners from changeSupport?
changeSupport = null;
setAlignment(null);
}
/**
- * Set the selection group for this window.
+ * Set the selection group for this window. Also sets the current alignment as
+ * the context for the group, if it does not already have one.
*
* @param sg
* - group holding references to sequences in this alignment view
public void setSelectionGroup(SequenceGroup sg)
{
selectionGroup = sg;
+ if (sg != null && sg.getContext() == null)
+ {
+ sg.setContext(alignment);
+ }
}
public void setHiddenColumns(ColumnSelection colsel)
if (ap != null)
{
updateConsensus(ap);
- if (globalColourScheme != null)
+ if (residueShading != null)
{
- globalColourScheme.setThreshold(globalColourScheme.getThreshold(),
+ residueShading.setThreshold(residueShading.getThreshold(),
ignoreGapsInConsensusCalculation);
}
}
*/
void updateAllColourSchemes()
{
- ResidueShaderI rs = globalColourScheme;
+ ResidueShaderI rs = residueShading;
if (rs != null)
{
rs.alignmentChanged(alignment, hiddenRepSequences);
}
/**
- * If this is a protein alignment and there are mappings to cDNA, add the cDNA
- * consensus annotation.
+ * If this is a protein alignment and there are mappings to cDNA, adds the
+ * cDNA consensus annotation and returns true, else returns false.
*/
- public void initComplementConsensus()
+ public boolean initComplementConsensus()
{
if (!alignment.isNucleotide())
{
"PID for cDNA", new Annotation[1], 0f, 100f,
AlignmentAnnotation.BAR_GRAPH);
initConsensus(complementConsensus);
+ return true;
}
}
}
+ return false;
}
private void initConsensus(AlignmentAnnotation aa)
public void setViewStyle(ViewStyleI settingsForView)
{
viewStyle = new ViewStyle(settingsForView);
+ if (residueShading != null)
+ {
+ residueShading.setConservationApplied(settingsForView
+ .isConservationColourSelected());
+ }
}
@Override