JAL-3210 Barebones gradle/buildship/eclipse. See README
[jalview.git] / src / jalview / javascript / JalviewLiteJsApi.java
index 3ce2c9f..b5811aa 100644 (file)
@@ -1,13 +1,13 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$);
- * Copyright (C); $$Year-Rel$$ The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * Jalview is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License 
  * as published by the Free Software Foundation, either version 3
- * of the License, or (at your option); any later version.
+ * of the License, or (at your option) any later version.
  *  
  * Jalview is distributed in the hope that it will be useful, but 
  * WITHOUT ANY WARRANTY; without even the implied warranty 
  */
 package jalview.javascript;
 
-import jalview.api.AlignFrameI;
+import jalview.appletgui.AlignFrame;
 
 /**
  * The following public methods may be called
  * externally, eg via javascript in an HTML page.
  * 
- * <br><em>TODO: introduce abstract interface for jalview.appletgui.AlignFrameI</em><br>
+ * <br><em>TODO: introduce abstract interface for jalview.appletgui.AlignFrame</em><br>
  * 
  * Most function arguments are strings, which contain serialised versions of lists.
  * Lists of things are separated by a separator character - either the default or a user supplied one.
@@ -42,7 +42,7 @@ public interface JalviewLiteJsApi
 
   /**
    * @return String list of selected sequence IDs, each terminated by the
-   *         'boolean not' character (""+0x00AC); or (&#172;);
+   *         'boolean not' character (""+0x00AC) or (&#172;)
    */
   public abstract String getSelectedSequences();
 
@@ -56,12 +56,12 @@ public interface JalviewLiteJsApi
 
   /**
    * @param alf
-   *          AlignFrameI containing selection
+   *          alignframe containing selection
    * @return String list of selected sequence IDs, each terminated by current
    *         default separator sequence
    * 
    */
-  public abstract String getSelectedSequencesFrom(AlignFrameI alf);
+  public abstract String getSelectedSequencesFrom(AlignFrame alf);
 
   /**
    * get list of selected sequence IDs separated by given separator
@@ -73,7 +73,7 @@ public interface JalviewLiteJsApi
    * @return String list of selected sequence IDs, each terminated by the given
    *         separator
    */
-  public abstract String getSelectedSequencesFrom(AlignFrameI alf,
+  public abstract String getSelectedSequencesFrom(AlignFrame alf,
           String sep);
 
   /**
@@ -99,7 +99,7 @@ public interface JalviewLiteJsApi
    *          false, blank or something else - indicate if position is an
    *          alignment column or unaligned sequence position
    */
-  public abstract void highlightIn(AlignFrameI alf, String sequenceId,
+  public abstract void highlightIn(AlignFrame alf, String sequenceId,
           String position, String alignedPosition);
 
   /**
@@ -133,7 +133,7 @@ public interface JalviewLiteJsApi
    * @param sep
    *          separator between toselect fields
    */
-  public abstract void selectIn(AlignFrameI alf, String sequenceIds,
+  public abstract void selectIn(AlignFrame alf, String sequenceIds,
           String columns);
 
   /**
@@ -145,11 +145,11 @@ public interface JalviewLiteJsApi
    * @param sep
    *          separator between toselect fields
    */
-  public abstract void selectIn(AlignFrameI alf, String sequenceIds,
+  public abstract void selectIn(AlignFrame alf, String sequenceIds,
           String columns, String sep);
 
   /**
-   * get sequences selected in current AlignFrameI and return their alignment in
+   * get sequences selected in current alignFrame and return their alignment in
    * format 'format' either with or without suffix
    * 
    * @param alf
@@ -177,8 +177,7 @@ public interface JalviewLiteJsApi
    * @return selected sequences as flat file or empty string if there was no
    *         current selection
    */
-  public abstract String getSelectedSequencesAsAlignmentFrom(
-          AlignFrameI alf,
+  public abstract String getSelectedSequencesAsAlignmentFrom(AlignFrame alf,
           String format, String suffix);
 
   /**
@@ -196,7 +195,7 @@ public interface JalviewLiteJsApi
    * @param alf
    * @return
    */
-  public abstract String getAlignmentOrderFrom(AlignFrameI alf);
+  public abstract String getAlignmentOrderFrom(AlignFrame alf);
 
   /**
    * get a sep separated list of sequence IDs reflecting the order of the
@@ -207,8 +206,7 @@ public interface JalviewLiteJsApi
    *          - separator to use
    * @return
    */
-  public abstract String getAlignmentOrderFrom(AlignFrameI alf,
-          String sep);
+  public abstract String getAlignmentOrderFrom(AlignFrame alf, String sep);
 
   /**
    * re-order the current alignment using the given list of sequence IDs
@@ -234,8 +232,7 @@ public interface JalviewLiteJsApi
    * @return 'true' if alignment was actually reordered. empty string if
    *         alignment did not contain sequences.
    */
-  public abstract String orderBy(String order, String undoName,
-          String sep);
+  public abstract String orderBy(String order, String undoName, String sep);
 
   /**
    * re-order the given alignment using the given list of sequence IDs separated
@@ -250,12 +247,12 @@ public interface JalviewLiteJsApi
    * @return 'true' if alignment was actually reordered. empty string if
    *         alignment did not contain sequences.
    */
-  public abstract String orderAlignmentBy(AlignFrameI alf, String order,
+  public abstract String orderAlignmentBy(AlignFrame alf, String order,
           String undoName, String sep);
 
   /**
    * get alignment as format (format names FASTA, BLC, CLUSTAL, MSF, PILEUP,
-   * PFAM - see jalview.io.AppletFormatAdapter for full list);
+   * PFAM - see jalview.io.AppletFormatAdapter for full list)
    * 
    * @param format
    * @return
@@ -269,7 +266,7 @@ public interface JalviewLiteJsApi
    * @param format
    * @return
    */
-  public abstract String getAlignmentFrom(AlignFrameI alf, String format);
+  public abstract String getAlignmentFrom(AlignFrame alf, String format);
 
   /**
    * get alignment as format with jalview start-end sequence suffix appended
@@ -289,7 +286,7 @@ public interface JalviewLiteJsApi
    * @param suffix
    * @return
    */
-  public abstract String getAlignmentFrom(AlignFrameI alf, String format,
+  public abstract String getAlignmentFrom(AlignFrame alf, String format,
           String suffix);
 
   /**
@@ -305,12 +302,12 @@ public interface JalviewLiteJsApi
    * @param alf
    * @param annotation
    */
-  public abstract void loadAnnotationFrom(AlignFrameI alf,
+  public abstract void loadAnnotationFrom(AlignFrame alf,
           String annotation);
 
   /**
    * parse the given string as a jalview feature or GFF annotation file and
-   * optionally enable feature display on the current AlignFrameI
+   * optionally enable feature display on the current alignFrame
    * 
    * @param features
    *          - gff or features file
@@ -323,7 +320,7 @@ public interface JalviewLiteJsApi
 
   /**
    * parse the given string as a jalview feature or GFF annotation file and
-   * optionally enable feature display on the given AlignFrameI.
+   * optionally enable feature display on the given alignFrame.
    * 
    * @param alf
    * @param features
@@ -333,11 +330,11 @@ public interface JalviewLiteJsApi
    *          be parsed from the string.
    * @return true if data parsed as features
    */
-  public abstract boolean loadFeaturesFrom(AlignFrameI alf, String features,
+  public abstract boolean loadFeaturesFrom(AlignFrame alf, String features,
           boolean autoenabledisplay);
 
   /**
-   * get the sequence features in the given format (Jalview or GFF);
+   * get the sequence features in the given format (Jalview or GFF)
    * 
    * @param format
    * @return
@@ -345,13 +342,13 @@ public interface JalviewLiteJsApi
   public abstract String getFeatures(String format);
 
   /**
-   * get the sequence features in alf in the given format (Jalview or GFF);
+   * get the sequence features in alf in the given format (Jalview or GFF)
    * 
    * @param alf
    * @param format
    * @return
    */
-  public abstract String getFeaturesFrom(AlignFrameI alf, String format);
+  public abstract String getFeaturesFrom(AlignFrame alf, String format);
 
   /**
    * get current alignment's annotation as an annotation file
@@ -366,30 +363,30 @@ public interface JalviewLiteJsApi
    * @param alf
    * @return
    */
-  public abstract String getAnnotationFrom(AlignFrameI alf);
+  public abstract String getAnnotationFrom(AlignFrame alf);
 
   /**
-   * create a new view and return the AlignFrameI instance
+   * create a new view and return the alignFrame instance
    * 
    * @return
    */
-  public abstract AlignFrameI newView();
+  public abstract AlignFrame newView();
 
   /**
-   * create a new view named name and return the AlignFrameI instance
+   * create a new view named name and return the alignFrame instance
    * 
    * @param name
    * @return
    */
-  public abstract AlignFrameI newView(String name);
+  public abstract AlignFrame newView(String name);
 
   /**
-   * create a new view on alf and return the AlignFrameI instance
+   * create a new view on alf and return the alignFrame instance
    * 
    * @param alf
    * @return
    */
-  public abstract AlignFrameI newViewFrom(AlignFrameI alf);
+  public abstract AlignFrame newViewFrom(AlignFrame alf);
 
   /**
    * create a new view named name on alf
@@ -398,7 +395,7 @@ public interface JalviewLiteJsApi
    * @param name
    * @return
    */
-  public abstract AlignFrameI newViewFrom(AlignFrameI alf, String name);
+  public abstract AlignFrame newViewFrom(AlignFrame alf, String name);
 
   /**
    * 
@@ -408,15 +405,15 @@ public interface JalviewLiteJsApi
    *          window title
    * @return null or new alignment frame
    */
-  public abstract AlignFrameI loadAlignment(String text, String title);
+  public abstract AlignFrame loadAlignment(String text, String title);
 
   /**
    * register a javascript function to handle any alignment mouseover events
    * 
    * @param listener
    *          name of javascript function (called with arguments
-   *          [jalview.appletgui.AlignFrameI,String(sequence id);,String(column
-   *          in alignment);, String(position in sequence);]
+   *          [jalview.appletgui.AlignFrame,String(sequence id),String(column in
+   *          alignment), String(position in sequence)]
    */
   public abstract void setMouseoverListener(String listener);
 
@@ -424,13 +421,12 @@ public interface JalviewLiteJsApi
    * register a javascript function to handle mouseover events
    * 
    * @param af
-   *          (null or specific AlignFrameI for which events are to be listened
-   *          for);
+   *          (null or specific alignframe for which events are to be listened
+   *          for)
    * @param listener
    *          name of javascript function
    */
-  public abstract void setMouseoverListener(AlignFrameI af,
-          String listener);
+  public abstract void setMouseoverListener(AlignFrame af, String listener);
 
   /**
    * register a javascript function to handle any alignment selection events.
@@ -439,15 +435,14 @@ public interface JalviewLiteJsApi
    * 
    * @param listener
    *          name of javascript function (called with arguments
-   *          [jalview.appletgui.AlignFrameI, String(sequence set id);,
-   *          String(separator separated list of sequences which were
-   *          selected);, String(separator separated list of column ranges (i.e.
-   *          single number or hyphenated range); that were selected);]
+   *          [jalview.appletgui.AlignFrame, String(sequence set id),
+   *          String(separator separated list of sequences which were selected),
+   *          String(separator separated list of column ranges (i.e. single
+   *          number or hyphenated range) that were selected)]
    */
   public abstract void setSelectionListener(String listener);
 
-  public abstract void setSelectionListener(AlignFrameI af,
-          String listener);
+  public abstract void setSelectionListener(AlignFrame af, String listener);
 
   /**
    * register a javascript function to handle events normally routed to a Jmol
@@ -455,11 +450,11 @@ public interface JalviewLiteJsApi
    * 
    * @param listener
    *          - javascript function (arguments are variable, see
-   *          jalview.javascript.MouseOverStructureListener for full details);
+   *          jalview.javascript.MouseOverStructureListener for full details)
    * @param modelSet
    *          - separator separated list of PDB file URIs that this viewer is
    *          handling. These files must be in the same order they appear in
-   *          Jmol (e.g. first one is frame 1, second is frame 2, etc);.
+   *          Jmol (e.g. first one is frame 1, second is frame 2, etc).
    * @see jalview.javascript.MouseOverStructureListener
    */
   public abstract void setStructureListener(String listener,
@@ -467,14 +462,14 @@ public interface JalviewLiteJsApi
 
   /**
    * remove any callback using the given listener function and associated with
-   * the given AlignFrameI (or null for all callbacks);
+   * the given alignFrame (or null for all callbacks)
    * 
    * @param af
-   *          (may be null);
+   *          (may be null)
    * @param listener
-   *          (may be null);
+   *          (may be null)
    */
-  public abstract void removeJavascriptListener(AlignFrameI af,
+  public abstract void removeJavascriptListener(AlignFrame af,
           String listener);
 
   /**
@@ -489,10 +484,10 @@ public interface JalviewLiteJsApi
           String pdbfile);
 
   /**
-   * bind a pdb file to a sequence in the given AlignFrameI.
+   * bind a pdb file to a sequence in the given alignFrame.
    * 
    * @param alFrame
-   *          - null or specific AlignFrameI. This specifies the dataset that
+   *          - null or specific alignFrame. This specifies the dataset that
    *          will be searched for a seuqence called sequenceId
    * @param sequenceId
    *          - sequenceId within the dataset.
@@ -504,7 +499,7 @@ public interface JalviewLiteJsApi
    *         structure for indicating when PDB parsing or sequenceId location
    *         fails.
    */
-  public abstract boolean addPdbFile(AlignFrameI alFrame, String sequenceId,
+  public abstract boolean addPdbFile(AlignFrame alFrame, String sequenceId,
           String pdbEntryString, String pdbFile);
 
   /**
@@ -515,7 +510,7 @@ public interface JalviewLiteJsApi
    * @param topRow
    * @param leftHandColumn
    */
-  public abstract void scrollViewToIn(AlignFrameI alf, String topRow,
+  public abstract void scrollViewToIn(AlignFrame alf, String topRow,
           String leftHandColumn);
 
   /**
@@ -524,7 +519,7 @@ public interface JalviewLiteJsApi
    * @param alf
    * @param topRow
    */
-  public abstract void scrollViewToRowIn(AlignFrameI alf, String topRow);
+  public abstract void scrollViewToRowIn(AlignFrame alf, String topRow);
 
   /**
    * adjust horizontal scroll to make the given column the left one in the given
@@ -533,28 +528,28 @@ public interface JalviewLiteJsApi
    * @param alf
    * @param leftHandColumn
    */
-  public abstract void scrollViewToColumnIn(AlignFrameI alf,
+  public abstract void scrollViewToColumnIn(AlignFrame alf,
           String leftHandColumn);
 
   /**
    * 
    * @return
-   * @see jalview.appletgui.AlignFrameI#getFeatureGroups();
+   * @see jalview.appletgui.AlignFrame#getFeatureGroups()
    */
   public abstract String getFeatureGroups();
 
   /**
    * @param alf
-   *          AlignFrameI to get feature groups on
+   *          alignframe to get feature groups on
    * @return
-   * @see jalview.appletgui.AlignFrameI#getFeatureGroups();
+   * @see jalview.appletgui.AlignFrame#getFeatureGroups()
    */
-  public abstract String getFeatureGroupsOn(AlignFrameI alf);
+  public abstract String getFeatureGroupsOn(AlignFrame alf);
 
   /**
    * @param visible
    * @return
-   * @see jalview.appletgui.AlignFrameI#getFeatureGroupsOfState(boolean);
+   * @see jalview.appletgui.AlignFrame#getFeatureGroupsOfState(boolean)
    */
   public abstract String getFeatureGroupsOfState(boolean visible);
 
@@ -563,9 +558,9 @@ public interface JalviewLiteJsApi
    *          align frame to get groups of state visible
    * @param visible
    * @return
-   * @see jalview.appletgui.AlignFrameI#getFeatureGroupsOfState(boolean);
+   * @see jalview.appletgui.AlignFrame#getFeatureGroupsOfState(boolean)
    */
-  public abstract String getFeatureGroupsOfStateOn(AlignFrameI alf,
+  public abstract String getFeatureGroupsOfStateOn(AlignFrame alf,
           boolean visible);
 
   /**
@@ -573,11 +568,10 @@ public interface JalviewLiteJsApi
    *          tab separated list of group names
    * @param state
    *          true or false
-   * @see jalview.appletgui.AlignFrameI#setFeatureGroupState(java.lang.String[],
-   *      boolean);
+   * @see jalview.appletgui.AlignFrame#setFeatureGroupState(java.lang.String[],
+   *      boolean)
    */
-  public abstract void setFeatureGroupStateOn(AlignFrameI alf,
-          String groups,
+  public abstract void setFeatureGroupStateOn(AlignFrame alf, String groups,
           boolean state);
 
   public abstract void setFeatureGroupState(String groups, boolean state);
@@ -606,24 +600,4 @@ public interface JalviewLiteJsApi
    */
   public abstract String getJsMessage(String messageclass, String viewId);
 
-  /// in http://www.jalview.org/examples/jalviewLiteJs.html but missing here
-
-  // get selected sequences as alignment as format with or without start-end
-  // suffix
-  public String getSelectedSequencesAsAlignment(String format,
-          boolean suffix);
-
-  // get selected sequences as alignment from given view as format with or
-  // without start-end suffix
-  public String getSelectedSequencesAsAlignmentFrom(AlignFrameI alf,
-          String format, boolean suffix);
-
-  public String arrayToSeparatorList(String[] array);
-
-  // get a string array from a list
-  public String[] separatorListToArray(String list);
-
-  // debug flag - controls output to standard out
-  public static boolean debug = false;
-
 }