From d2f3c59deebfd9ea52b0021ab31467c18b9d2c14 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Thu, 15 Jun 2006 12:53:37 +0000 Subject: [PATCH] FeatureRenderer synchronized featuresAdded method --- src/jalview/gui/AlignmentPanel.java | 11 +++++++++-- src/jalview/gui/FeatureRenderer.java | 23 ++++++++++++++++++++--- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/jalview/gui/AlignmentPanel.java b/src/jalview/gui/AlignmentPanel.java index 4a7a05d..8e02a9c 100755 --- a/src/jalview/gui/AlignmentPanel.java +++ b/src/jalview/gui/AlignmentPanel.java @@ -250,8 +250,15 @@ public class AlignmentPanel extends GAlignmentPanel public void newFeatures(FeatureEvent evt) { - seqPanel.seqCanvas.fr.findAllFeatures(); - repaint(); + if (evt.getFeatures().length > 0) + { + seqPanel.seqCanvas.fr.featuresAdded(); + repaint(); + } + else + { + System.out.println("No Features found for "+evt.getDasSource().getNickname()); + } } /** diff --git a/src/jalview/gui/FeatureRenderer.java b/src/jalview/gui/FeatureRenderer.java index 628de4e..b06cace 100755 --- a/src/jalview/gui/FeatureRenderer.java +++ b/src/jalview/gui/FeatureRenderer.java @@ -54,6 +54,8 @@ public class FeatureRenderer String [] renderOrder; + boolean newFeatureAdded = false; + /** * Creates a new FeatureRenderer object. @@ -175,7 +177,9 @@ public class FeatureRenderer fm = g.getFontMetrics(); - if (av.featuresDisplayed == null || renderOrder==null) + if (av.featuresDisplayed == null + || renderOrder==null + || newFeatureAdded) { findAllFeatures(); if(av.featuresDisplayed.size()<1) @@ -212,6 +216,7 @@ public class FeatureRenderer for(int renderIndex=0; renderIndex