git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Not used in Jalview
[jalview.git]
/
src
/
jalview
/
gui
/
FeatureRenderer.java
diff --git
a/src/jalview/gui/FeatureRenderer.java
b/src/jalview/gui/FeatureRenderer.java
index
628de4e
..
b06cace
100755
(executable)
--- a/
src/jalview/gui/FeatureRenderer.java
+++ b/
src/jalview/gui/FeatureRenderer.java
@@
-54,6
+54,8
@@
public class FeatureRenderer
\r
String [] renderOrder;
\r
\r
\r
String [] renderOrder;
\r
\r
+ boolean newFeatureAdded = false;
\r
+
\r
\r
/**
\r
* Creates a new FeatureRenderer object.
\r
\r
/**
\r
* Creates a new FeatureRenderer object.
\r
@@
-175,7
+177,9
@@
public class FeatureRenderer
fm = g.getFontMetrics();
\r
\r
\r
fm = g.getFontMetrics();
\r
\r
\r
- if (av.featuresDisplayed == null || renderOrder==null)
\r
+ if (av.featuresDisplayed == null
\r
+ || renderOrder==null
\r
+ || newFeatureAdded)
\r
{
\r
findAllFeatures();
\r
if(av.featuresDisplayed.size()<1)
\r
{
\r
findAllFeatures();
\r
if(av.featuresDisplayed.size()<1)
\r
@@
-212,6
+216,7
@@
public class FeatureRenderer
for(int renderIndex=0; renderIndex<renderOrder.length; renderIndex++)
\r
{
\r
type = renderOrder[renderIndex];
\r
for(int renderIndex=0; renderIndex<renderOrder.length; renderIndex++)
\r
{
\r
type = renderOrder[renderIndex];
\r
+
\r
if(!av.featuresDisplayed.containsKey(type))
\r
continue;
\r
\r
if(!av.featuresDisplayed.containsKey(type))
\r
continue;
\r
\r
@@
-333,12
+338,24
@@
public class FeatureRenderer
}
\r
}
\r
\r
}
\r
}
\r
\r
- synchronized void findAllFeatures()
\r
+ int count = 0;
\r
+ synchronized public void featuresAdded()
\r
{
\r
{
\r
+ newFeatureAdded = true;
\r
+ findAllFeatures();
\r
+ newFeatureAdded = false;
\r
+ }
\r
+
\r
+ synchronized void findAllFeatures()
\r
+ {
\r
jalview.schemes.UserColourScheme ucs = new
\r
jalview.schemes.UserColourScheme();
\r
\r
jalview.schemes.UserColourScheme ucs = new
\r
jalview.schemes.UserColourScheme();
\r
\r
- av.featuresDisplayed = new Hashtable();
\r
+ if(av.featuresDisplayed==null)
\r
+ av.featuresDisplayed = new Hashtable();
\r
+
\r
+ av.featuresDisplayed.clear();
\r
+
\r
Vector allfeatures = new Vector();
\r
for (int i = 0; i < av.alignment.getHeight(); i++)
\r
{
\r
Vector allfeatures = new Vector();
\r
for (int i = 0; i < av.alignment.getHeight(); i++)
\r
{
\r