X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fstructures%2Fmodels%2FAAStructureBindingModel.java;fp=src%2Fjalview%2Fstructures%2Fmodels%2FAAStructureBindingModel.java;h=0b19d51b7c74ac68502deba4ab4779ef17f532fe;hb=a5e22141bc3185284588761a69f023d527e7f18e;hp=fc828272216bfed907d03f3532c9030ce35cbc73;hpb=3207f84e04c66fc89da22ed04876e50b66e94649;p=jalview.git diff --git a/src/jalview/structures/models/AAStructureBindingModel.java b/src/jalview/structures/models/AAStructureBindingModel.java index fc82827..0b19d51 100644 --- a/src/jalview/structures/models/AAStructureBindingModel.java +++ b/src/jalview/structures/models/AAStructureBindingModel.java @@ -46,6 +46,8 @@ import java.util.Arrays; 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. @@ -74,6 +76,12 @@ public abstract class AAStructureBindingModel */ 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; /* @@ -350,7 +358,7 @@ public abstract class AAStructureBindingModel public void setColourBy(ColourBy option) { - colourBy = option; + colourBy = option; } public boolean isColourBySequence() @@ -360,7 +368,7 @@ public abstract class AAStructureBindingModel protected boolean isJalviewColourScheme() { - return colourBy == ColourBy.Jalview; + return colourBy == ColourBy.Jalview; } protected void addSequenceAndChain(int pe, SequenceI[] seq, @@ -773,19 +781,22 @@ public abstract class AAStructureBindingModel * * @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); } } @@ -819,7 +830,7 @@ public abstract class AAStructureBindingModel 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); @@ -831,20 +842,21 @@ public abstract class AAStructureBindingModel 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; @@ -856,7 +868,7 @@ public abstract class AAStructureBindingModel String[] files = getStructureFiles(); StructureMappingcommandSet[] colourBySequenceCommands = getColourBySequenceCommands( - files, sr, alignmentv); + files, sr, alignmentv, showFeatures); colourBySequence(colourBySequenceCommands); } @@ -888,7 +900,7 @@ public void updateColours(Object source) { { return; } - if (colourScheme == null || colourScheme.isSimple()) + if (!showFeatures && (colourScheme == null || colourScheme.isSimple())) { return; } @@ -897,11 +909,13 @@ public void updateColours(Object source) { { 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); } } }