From 2b0a50fc3749313ad40744e6d80d16f798b8142a Mon Sep 17 00:00:00 2001
From: tcarver <tjc>
Date: Fri, 15 Nov 2013 13:51:59 +0000
Subject: [PATCH] call GFFUtils.updateSegmentRangeStore() for GFF features on
 feature location change

---
 uk/ac/sanger/artemis/components/FeatureDisplay.java | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/uk/ac/sanger/artemis/components/FeatureDisplay.java b/uk/ac/sanger/artemis/components/FeatureDisplay.java
index 611734d25..fee5c66df 100644
--- a/uk/ac/sanger/artemis/components/FeatureDisplay.java
+++ b/uk/ac/sanger/artemis/components/FeatureDisplay.java
@@ -33,6 +33,7 @@ import uk.ac.sanger.artemis.util.FileDocument;
 import uk.ac.sanger.artemis.util.OutOfRangeException;
 import uk.ac.sanger.artemis.util.StringVector;
 import uk.ac.sanger.artemis.io.ChadoCanonicalGene;
+import uk.ac.sanger.artemis.io.GFFUtils;
 import uk.ac.sanger.artemis.io.InvalidRelationException;
 import uk.ac.sanger.artemis.io.Qualifier;
 import uk.ac.sanger.artemis.io.Range;
@@ -975,6 +976,14 @@ public class FeatureDisplay extends EntryGroupPanel
     if(!getEntryGroup().contains(event_feature)) 
       return;
 
+    if( event.getType() ==  FeatureChangeEvent.LOCATION_CHANGED &&
+        event_feature.getEmblFeature() instanceof GFFStreamFeature &&
+        !GeneUtils.isDatabaseEntry(event_feature.getEmblFeature()))
+    {
+      GFFUtils.updateSegmentRangeStore((GFFStreamFeature)event_feature.getEmblFeature(),
+          event.getOldLocation(), event.getNewLocation());
+    }
+    
     // if the feature is visible now or is in the list of visible features
     //(ie. it was visible previously) then redisplay.
     if(featureVisible(event_feature) ||
-- 
GitLab