From 603c9cfbd07549751101b48df3c4cb649d6f9467 Mon Sep 17 00:00:00 2001 From: gmungoc Date: Thu, 10 Aug 2017 08:52:56 +0100 Subject: [PATCH] JAL-2593 don't filter out 'colour by label' features --- src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java | 8 +++++--- test/jalview/renderer/seqfeatures/FeatureRendererTest.java | 10 +++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java b/src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java index 1d09dca..231cfbe 100644 --- a/src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java +++ b/src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java @@ -993,7 +993,9 @@ public abstract class FeatureRendererModel implements /** * Removes from the list of features any that have a feature group that is not * displayed, or duplicate the location of a feature of the same type (unless - * a graduated colour scheme is applied) + * a graduated colour scheme or colour by label is applied). Should be used + * only for features of the same feature colour (which normally implies the + * same feature type). * * @param features * @param fc @@ -1006,7 +1008,7 @@ public abstract class FeatureRendererModel implements return; } SequenceFeatures.sortFeatures(features, true); - boolean graduated = fc != null && fc.isGraduatedColour(); + boolean simpleColour = fc == null || fc.isSimpleColour(); SequenceFeature lastFeature = null; Iterator it = features.iterator(); @@ -1025,7 +1027,7 @@ public abstract class FeatureRendererModel implements * (checking type and isContactFeature as a fail-safe here, although * currently they are guaranteed to match in this context) */ - if (!graduated) + if (simpleColour) { if (lastFeature != null && sf.getBegin() == lastFeature.getBegin() && sf.getEnd() == lastFeature.getEnd() diff --git a/test/jalview/renderer/seqfeatures/FeatureRendererTest.java b/test/jalview/renderer/seqfeatures/FeatureRendererTest.java index dc86605..d3cddf9 100644 --- a/test/jalview/renderer/seqfeatures/FeatureRendererTest.java +++ b/test/jalview/renderer/seqfeatures/FeatureRendererTest.java @@ -347,17 +347,17 @@ public class FeatureRendererTest assertTrue(features.contains(sf5)); /* - * filtering of co-located features with colour by label + * co-located features with colour by label + * should not get filtered */ features = seq.getSequenceFeatures(); FeatureColour fc = new FeatureColour(Color.black); fc.setColourByLabel(true); fr.filterFeaturesForDisplay(features, fc); - assertEquals(features.size(), 3); - assertTrue(features.contains(sf1) || features.contains(sf4)); - assertFalse(features.contains(sf1) && features.contains(sf4)); - assertFalse(features.contains(sf2)); + assertEquals(features.size(), 4); + assertTrue(features.contains(sf1)); assertTrue(features.contains(sf3)); + assertTrue(features.contains(sf4)); assertTrue(features.contains(sf5)); } } -- 1.7.10.2