import java.util.BitSet;
import java.util.List;
+import org.springframework.web.filter.ShallowEtagHeaderFilter;
+
/**
*
* A base class to hold common function for protein structure model binding.
*/
private ColourSchemeI colourScheme;
+ /*
+ * flag for whether to include feature colouring, if using a Jalview colour
+ * scheme (independently of whether features are shown on alignment)
+ */
+ private boolean showFeatures;
+
private StructureSelectionManager ssm;
/*
public void setColourBy(ColourBy option)
{
- colourBy = option;
+ colourBy = option;
}
public boolean isColourBySequence()
protected boolean isJalviewColourScheme()
{
- return colourBy == ColourBy.Jalview;
+ return colourBy == ColourBy.Jalview;
}
protected void addSequenceAndChain(int pe, SequenceI[] seq,
*
* @param cs
* @param ap
+ * @param showFeats
*/
- public void setJalviewColourScheme(ColourSchemeI cs, AlignmentViewPanel ap)
+ public void setJalviewColourScheme(ColourSchemeI cs, AlignmentViewPanel ap,
+ boolean showFeats)
{
colourBy = ColourBy.Jalview;
colourScheme = cs;
+ showFeatures = showFeats;
- if (cs == null || cs.isSimple())
+ if (!showFeats && (cs == null || cs.isSimple()))
{
setSimpleColourScheme(cs);
}
else
{
- colourBySequence(ap, new SequenceRenderer(ap.getAlignViewport(), cs));
+ colourBySequence(ap, new SequenceRenderer(ap.getAlignViewport(), cs), showFeatures);
}
}
public abstract void setBackgroundColour(Color col);
protected abstract StructureMappingcommandSet[] getColourBySequenceCommands(
- String[] files, SequenceRendererI sr, AlignmentViewPanel avp);
+ String[] files, SequenceRendererI sr, AlignmentViewPanel avp, boolean showFeatures);
protected abstract void colourBySequence(
StructureMappingcommandSet[] colourBySequenceCommands);
public void colourByCharge()
{
- colourBy = ColourBy.ChargeAndCysteine;
+ colourBy = ColourBy.ChargeAndCysteine;
}
- public void colourBySequence(AlignmentViewPanel alignmentv)
+ public void colourBySequence(AlignmentViewPanel alignmentv, boolean showFeatures)
{
- colourBySequence(alignmentv, alignmentv.getSequenceRenderer());
+ colourBySequence(alignmentv, alignmentv.getSequenceRenderer(), showFeatures);
}
/**
* Colours any structures associated with sequences in the given alignment view
* using the getFeatureRenderer() and getSequenceRenderer() renderers
*/
- public void colourBySequence(AlignmentViewPanel alignmentv, SequenceRendererI sr)
+ public void colourBySequence(AlignmentViewPanel alignmentv, SequenceRendererI sr, boolean showFeats)
{
+ showFeatures = showFeats;
if (!isLoadingFinished())
{
return;
String[] files = getStructureFiles();
StructureMappingcommandSet[] colourBySequenceCommands = getColourBySequenceCommands(
- files, sr, alignmentv);
+ files, sr, alignmentv, showFeatures);
colourBySequence(colourBySequenceCommands);
}
{
return;
}
- if (colourScheme == null || colourScheme.isSimple())
+ if (!showFeatures && (colourScheme == null || colourScheme.isSimple()))
{
return;
}
{
if (isColourBySequence())
{
- colourBySequence(ap, new SequenceRenderer(ap.getAlignViewport()));
+ colourBySequence(ap, new SequenceRenderer(ap.getAlignViewport()),
+ showFeatures);
}
else
{
- colourBySequence(ap, new SequenceRenderer(ap.getAlignViewport(), colourScheme));
+ colourBySequence(ap, new SequenceRenderer(ap.getAlignViewport(),
+ colourScheme), showFeatures);
}
}
}