X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fviewmodel%2Fseqfeatures%2FFeatureRendererModel.java;h=c1ad4659b5602ab2fb767edcdf586972ebc782e7;hb=eb5043c4c5932b46aa018e37ae42bd011405cd87;hp=a4e434863ebeed9cd6ad3064ac5e62014a82d9b2;hpb=bf0d052fef43e9809b7170dbfd372b3ea116391b;p=jalview.git diff --git a/src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java b/src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java index a4e4348..c1ad465 100644 --- a/src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java +++ b/src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java @@ -29,7 +29,6 @@ import jalview.datamodel.SequenceI; import jalview.renderer.seqfeatures.FeatureRenderer; import jalview.schemes.FeatureColour; import jalview.schemes.UserColourScheme; -import jalview.viewmodel.AlignmentViewport; import java.awt.Color; import java.beans.PropertyChangeListener; @@ -64,7 +63,7 @@ public abstract class FeatureRendererModel implements protected PropertyChangeSupport changeSupport = new PropertyChangeSupport( this); - protected AlignmentViewport av; + protected AlignViewportI av; @Override public AlignViewportI getViewport() @@ -289,8 +288,12 @@ public abstract class FeatureRendererModel implements continue; } - if ((features[i].getBegin() <= res) - && (features[i].getEnd() >= res)) + // check if start/end are at res, and if not a contact feature, that res + // lies between start and end + if ((features[i].getBegin() == res || features[i].getEnd() == res) + || (!features[i].isContactFeature() + && (features[i].getBegin() < res) && (features[i] + .getEnd() >= res))) { tmp.add(features[i]); } @@ -565,15 +568,22 @@ public abstract class FeatureRendererModel implements return fc.isColored(sequenceFeature); } + /** + * Answers true if the feature type is currently selected to be displayed, + * else false + * + * @param type + * @return + */ protected boolean showFeatureOfType(String type) { - return av.getFeaturesDisplayed().isVisible(type); + return type == null ? false : av.getFeaturesDisplayed().isVisible(type); } @Override public void setColour(String featureType, FeatureColourI col) { - featureColours.put(featureType, col); + featureColours.put(featureType, col); } public void setTransparency(float value)