JAL-2016 FeatureSettingsI now FeatureSettingsModelI
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Tue, 15 Mar 2016 14:49:13 +0000 (14:49 +0000)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Tue, 15 Mar 2016 14:49:13 +0000 (14:49 +0000)
src/jalview/api/FeatureSettingsI.java [deleted file]
src/jalview/api/FeatureSettingsModelI.java
src/jalview/ext/ensembl/EnsemblGene.java
src/jalview/gui/AlignFrame.java
src/jalview/gui/AlignViewport.java
src/jalview/gui/SequenceFetcher.java
src/jalview/schemes/FeatureSettingsAdapter.java
src/jalview/ws/seqfetcher/DbSourceProxy.java
src/jalview/ws/seqfetcher/DbSourceProxyImpl.java

diff --git a/src/jalview/api/FeatureSettingsI.java b/src/jalview/api/FeatureSettingsI.java
deleted file mode 100644 (file)
index ddb5edc..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-package jalview.api;
-
-import java.util.Comparator;
-
-/**
- * An interface that describes the settings configurable in the Feature Settings
- * dialog.
- * 
- * @author gmcarstairs
- *
- */
-public interface FeatureSettingsI extends Comparator<String>
-{
-  // note Java 8 will allow default implementations of these methods in the
-  // interface, simplifying instantiating classes
-
-  /**
-   * Answers true if the specified feature type is displayed
-   * 
-   * @param type
-   * @return
-   */
-  boolean isFeatureDisplayed(String type);
-
-  /**
-   * Answers true if the specified feature group is displayed
-   * 
-   * @param group
-   * @return
-   */
-  boolean isGroupDisplayed(String group);
-
-  /**
-   * Returns the colour (or graduated colour) for the feature type, or null if
-   * not known
-   * 
-   * @param type
-   * @return
-   */
-  FeatureColourI getFeatureColour(String type);
-
-  /**
-   * Returns the transparency value, from 0 (fully transparent) to 1 (fully
-   * opaque)
-   * 
-   * @return
-   */
-  float getTransparency();
-
-  /**
-   * Returns -1 if feature1 'precedes' (is displayed on top of) feature 2, +1 if
-   * feature2 is on top of feature1, or 0 if we don't care
-   * 
-   * @param feature1
-   * @param feature2
-   * @return
-   */
-  @Override
-  int compare(String feature1, String feature2);
-
-  /**
-   * Answers true if features should be initially sorted so that features with a
-   * shorter average length are displayed on top of those with a longer average
-   * length
-   * 
-   * @return
-   */
-  boolean optimiseOrder();
-}
index 5474f4e..28f5c77 100644 (file)
  */
 package jalview.api;
 
-public interface FeatureSettingsModelI
+import java.util.Comparator;
+
+/**
+ * An interface that describes the settings configurable in the Feature Settings
+ * dialog.
+ * 
+ * @author gmcarstairs
+ */
+public interface FeatureSettingsModelI extends Comparator<String>
 {
 
+  // note Java 8 will allow default implementations of these methods in the
+  // interface, simplifying instantiating classes
+
+  /**
+   * Answers true if the specified feature type is displayed
+   * 
+   * @param type
+   * @return
+   */
+  boolean isFeatureDisplayed(String type);
+
+  /**
+   * Answers true if the specified feature group is displayed
+   * 
+   * @param group
+   * @return
+   */
+  boolean isGroupDisplayed(String group);
+
+  /**
+   * Returns the colour (or graduated colour) for the feature type, or null if
+   * not known
+   * 
+   * @param type
+   * @return
+   */
+  FeatureColourI getFeatureColour(String type);
+
+  /**
+   * Returns the transparency value, from 0 (fully transparent) to 1 (fully
+   * opaque)
+   * 
+   * @return
+   */
+  float getTransparency();
+
+  /**
+   * Returns -1 if feature1 'precedes' (is displayed on top of) feature 2, +1 if
+   * feature2 is on top of feature1, or 0 if we don't care
+   * 
+   * @param feature1
+   * @param feature2
+   * @return
+   */
+  @Override
+  int compare(String feature1, String feature2);
+
+  /**
+   * Answers true if features should be initially sorted so that features with a
+   * shorter average length are displayed on top of those with a longer average
+   * length
+   * 
+   * @return
+   */
+  boolean optimiseOrder();
+
 }
index 0cecc59..fa1e474 100644 (file)
@@ -1,7 +1,7 @@
 package jalview.ext.ensembl;
 
 import jalview.api.FeatureColourI;
-import jalview.api.FeatureSettingsI;
+import jalview.api.FeatureSettingsModelI;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.Sequence;
 import jalview.datamodel.SequenceFeature;
@@ -489,8 +489,18 @@ public class EnsemblGene extends EnsemblSeqProxy
     return ACCESSION_REGEX;
   }
 
+  /**
+   * Returns a descriptor for suitable feature display settings with
+   * <ul>
+   * <li>only exon or sequence_variant features (or their subtypes in the
+   * Sequence Ontology) visible</li>
+   * <li>variant features coloured red</li>
+   * <li>exon features coloured by label (exon name)</li>
+   * <li>variants displayed above (on top of) exons</li>
+   * </ul>
+   */
   @Override
-  public FeatureSettingsI getFeatureColourScheme()
+  public FeatureSettingsModelI getFeatureColourScheme()
   {
     return new FeatureSettingsAdapter()
     {
index 0d6efe4..5438ce8 100644 (file)
@@ -32,7 +32,7 @@ import jalview.api.AlignViewControllerI;
 import jalview.api.AlignViewportI;
 import jalview.api.AlignmentViewPanel;
 import jalview.api.FeatureSettingsControllerI;
-import jalview.api.FeatureSettingsI;
+import jalview.api.FeatureSettingsModelI;
 import jalview.api.SplitContainerI;
 import jalview.api.ViewStyleI;
 import jalview.api.analysis.ScoreModelI;
@@ -4737,10 +4737,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
              */
             ASequenceFetcher sftch = new SequenceFetcher();
             List<DbSourceProxy> proxies = sftch.getSourceProxy(source);
-            FeatureSettingsI featureColourScheme = null;
+            FeatureSettingsModelI featureColourScheme = null;
             for (DbSourceProxy proxy : proxies)
             {
-              FeatureSettingsI preferredColours = proxy
+              FeatureSettingsModelI preferredColours = proxy
                       .getFeatureColourScheme();
               if (preferredColours != null)
               {
index f754eb9..7d8d4fe 100644 (file)
@@ -44,7 +44,7 @@ import jalview.analysis.NJTree;
 import jalview.api.AlignViewportI;
 import jalview.api.AlignmentViewPanel;
 import jalview.api.FeatureColourI;
-import jalview.api.FeatureSettingsI;
+import jalview.api.FeatureSettingsModelI;
 import jalview.api.FeaturesDisplayedI;
 import jalview.api.ViewStyleI;
 import jalview.bin.Cache;
@@ -75,7 +75,6 @@ import java.awt.Rectangle;
 import java.util.ArrayList;
 import java.util.Hashtable;
 import java.util.List;
-import java.util.Map;
 import java.util.Vector;
 
 import javax.swing.JInternalFrame;
@@ -1137,7 +1136,7 @@ public class AlignViewport extends AlignmentViewport implements
    * 
    * @param featureSettings
    */
-  public void applyFeaturesStyle(FeatureSettingsI featureSettings)
+  public void applyFeaturesStyle(FeatureSettingsModelI featureSettings)
   {
     if (featureSettings == null)
     {
@@ -1146,7 +1145,6 @@ public class AlignViewport extends AlignmentViewport implements
 
     FeatureRenderer fr = getAlignPanel().getSeqPanel().seqCanvas
             .getFeatureRenderer();
-    Map<String, Object> featureColours = fr.getFeatureColours();
     fr.findAllFeatures(true);
     List<String> renderOrder = fr.getRenderOrder();
     FeaturesDisplayedI displayed = fr.getFeaturesDisplayed();
index a33fdc3..784474e 100755 (executable)
@@ -20,7 +20,7 @@
  */
 package jalview.gui;
 
-import jalview.api.FeatureSettingsI;
+import jalview.api.FeatureSettingsModelI;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.DBRefEntry;
 import jalview.datamodel.SequenceFeature;
@@ -527,7 +527,7 @@ public class SequenceFetcher extends JPanel implements Runnable
     Iterator<String> en = Arrays.asList(new String[0]).iterator();
     int nqueries = qries.length;
 
-    FeatureSettingsI preferredFeatureColours = null;
+    FeatureSettingsModelI preferredFeatureColours = null;
     while (proxies.hasNext() && (en.hasNext() || nextfetch.size() > 0))
     {
       if (!en.hasNext() && nextfetch.size() > 0)
@@ -694,7 +694,8 @@ public class SequenceFetcher extends JPanel implements Runnable
       // Stack results ready for opening in alignment windows
       if (aresult != null && aresult.size() > 0)
       {
-        FeatureSettingsI proxyColourScheme = proxy.getFeatureColourScheme();
+        FeatureSettingsModelI proxyColourScheme = proxy
+                .getFeatureColourScheme();
         if (proxyColourScheme != null)
         {
           preferredFeatureColours = proxyColourScheme;
@@ -790,7 +791,8 @@ public class SequenceFetcher extends JPanel implements Runnable
   }
 
   AlignmentI parseResult(AlignmentI al, String title,
-          String currentFileFormat, FeatureSettingsI preferredFeatureColours)
+          String currentFileFormat,
+          FeatureSettingsModelI preferredFeatureColours)
   {
 
     if (al != null && al.getHeight() > 0)
index 52b01ce..699d954 100644 (file)
@@ -1,12 +1,12 @@
 package jalview.schemes;
 
 import jalview.api.FeatureColourI;
-import jalview.api.FeatureSettingsI;
+import jalview.api.FeatureSettingsModelI;
 
 /**
  * An adapter class that may be extended to instantiate feature colour schemes
  */
-public class FeatureSettingsAdapter implements FeatureSettingsI
+public class FeatureSettingsAdapter implements FeatureSettingsModelI
 {
 
   @Override
index 2c6d582..a02ffc9 100644 (file)
@@ -20,7 +20,7 @@
  */
 package jalview.ws.seqfetcher;
 
-import jalview.api.FeatureSettingsI;
+import jalview.api.FeatureSettingsModelI;
 import jalview.datamodel.AlignmentI;
 
 import com.stevesoft.pat.Regex;
@@ -177,5 +177,5 @@ public interface DbSourceProxy
    * 
    * @return
    */
-  FeatureSettingsI getFeatureColourScheme();
+  FeatureSettingsModelI getFeatureColourScheme();
 }
\ No newline at end of file
index bdea000..20a1e33 100644 (file)
@@ -20,7 +20,7 @@
  */
 package jalview.ws.seqfetcher;
 
-import jalview.api.FeatureSettingsI;
+import jalview.api.FeatureSettingsModelI;
 import jalview.datamodel.AlignmentI;
 import jalview.io.FormatAdapter;
 import jalview.io.IdentifyFile;
@@ -151,7 +151,7 @@ public abstract class DbSourceProxyImpl implements DbSourceProxy
   }
 
   @Override
-  public FeatureSettingsI getFeatureColourScheme()
+  public FeatureSettingsModelI getFeatureColourScheme()
   {
     return null;
   }