JAL-2009 added programmatic custom feature setting to show insertion position for...
[jalview.git] / src / jalview / appletgui / AlignViewport.java
index ef17215..09e6562 100644 (file)
@@ -22,7 +22,7 @@ package jalview.appletgui;
 
 import jalview.analysis.NJTree;
 import jalview.api.AlignViewportI;
-import jalview.api.FeatureRenderer;
+import jalview.api.FeatureSettingsModelI;
 import jalview.bin.JalviewLite;
 import jalview.commands.CommandI;
 import jalview.datamodel.AlignmentI;
@@ -58,8 +58,7 @@ public class AlignViewport extends AlignmentViewport implements
 
   private AnnotationColumnChooser annotationColumnSelectionState;
 
-  private FeatureRenderer featureRenderer;
-
+  @Override
   public void finalize()
   {
     applet = null;
@@ -190,8 +189,13 @@ public class AlignViewport extends AlignmentViewport implements
 
     if (applet != null)
     {
-      String colour = applet.getParameter("defaultColour");
-
+      String colour = al.isNucleotide() ? applet
+              .getParameter("defaultColourNuc") : applet
+              .getParameter("defaultColourProt");
+      if (colour == null)
+      {
+        colour = applet.getParameter("defaultColour");
+      }
       if (colour == null)
       {
         colour = applet.getParameter("userDefinedColour");
@@ -290,7 +294,6 @@ public class AlignViewport extends AlignmentViewport implements
     return font;
   }
 
-
   public void resetSeqLimits(int height)
   {
     setEndSeq(height / getCharHeight());
@@ -306,7 +309,6 @@ public class AlignViewport extends AlignmentViewport implements
     return currentTree;
   }
 
-
   boolean centreColumnLabels;
 
   public boolean getCentreColumnLabels()
@@ -325,11 +327,12 @@ public class AlignViewport extends AlignmentViewport implements
     return followSelection;
   }
 
+  @Override
   public void sendSelection()
   {
     getStructureSelectionManager().sendSelection(
-                    new SequenceGroup(getSelectionGroup()),
-                    new ColumnSelection(getColumnSelection()), this);
+            new SequenceGroup(getSelectionGroup()),
+            new ColumnSelection(getColumnSelection()), this);
   }
 
   /**
@@ -378,6 +381,7 @@ public class AlignViewport extends AlignmentViewport implements
     }
   }
 
+  @Override
   public boolean isNormaliseSequenceLogo()
   {
     return normaliseSequenceLogo;
@@ -392,6 +396,7 @@ public class AlignViewport extends AlignmentViewport implements
    * 
    * @return true if alignment characters should be displayed
    */
+  @Override
   public boolean isValidCharWidth()
   {
     return validCharWidth;
@@ -470,17 +475,18 @@ public class AlignViewport extends AlignmentViewport implements
     }
   }
 
+  /**
+   * Applies the supplied feature settings descriptor to currently known
+   * features. This supports an 'initial configuration' of feature colouring
+   * based on a preset or user favourite. This may then be modified in the usual
+   * way using the Feature Settings dialogue.
+   * 
+   * @param featureSettings
+   */
   @Override
-  public FeatureRenderer getFeatureRenderer()
-  {
-    return featureRenderer;
-  }
-
-  @Override
-  public void setFeatureRenderer(FeatureRenderer featureRenderer)
+  public void applyFeaturesStyle(FeatureSettingsModelI featureSettings)
   {
-    this.featureRenderer = featureRenderer;
-
+    // TODO implement for applet
   }
 
 }