Merge branch 'Release_2_8_2_Branch' into JAL-1483_featureBasedTreeCalc
[jalview.git] / src / jalview / appletgui / FeatureRenderer.java
index aef8e31..14338fa 100644 (file)
@@ -81,31 +81,41 @@ public class FeatureRenderer implements jalview.api.FeatureRenderer
     }
   }
 
-  public void transferSettings(FeatureRenderer fr)
+  public void transferSettings(jalview.api.FeatureRenderer _fr)
   {
-    renderOrder = fr.renderOrder;
-    featureGroups = fr.featureGroups;
-    featureColours = fr.featureColours;
-    transparency = fr.transparency;
-    if (av != null && fr.av != null && fr.av != av)
+    if (_fr instanceof FeatureRenderer)
     {
-      if (fr.av.featuresDisplayed != null)
+      FeatureRenderer fr = (FeatureRenderer) _fr;
+      renderOrder = fr.renderOrder;
+      featureGroups = fr.featureGroups;
+      featureColours = fr.featureColours;
+      transparency = fr.transparency;
+      if (av != null && fr.av != null && fr.av != av)
       {
-        if (av.featuresDisplayed == null)
-        {
-          av.featuresDisplayed = new Hashtable();
-        }
-        else
+        if (fr.av.featuresDisplayed != null)
         {
-          av.featuresDisplayed.clear();
-        }
-        Enumeration en = fr.av.featuresDisplayed.keys();
-        while (en.hasMoreElements())
-        {
-          av.featuresDisplayed.put(en.nextElement(), Boolean.TRUE);
+          if (av.featuresDisplayed == null)
+          {
+            av.featuresDisplayed = new Hashtable();
+          }
+          else
+          {
+            av.featuresDisplayed.clear();
+          }
+          Enumeration en = fr.av.featuresDisplayed.keys();
+          while (en.hasMoreElements())
+          {
+            av.featuresDisplayed.put(en.nextElement(), Boolean.TRUE);
+          }
         }
       }
     }
+    else
+    {
+      throw new Error(
+              "Implementation error: cannot port feature settings from implementation of type "
+                      + _fr.getClass() + " to " + getClass());
+    }
   }
 
   static String lastFeatureAdded;