JAL-2034 moved ‘isDefinedGroup’ flag to a test method on AlignViewportI so controller...
[jalview.git] / src / jalview / api / AlignViewportI.java
index fa73194..df57cc0 100644 (file)
  */
 package jalview.api;
 
-import java.awt.Color;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-
 import jalview.analysis.Conservation;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.AlignmentI;
@@ -36,6 +31,11 @@ import jalview.datamodel.SequenceGroup;
 import jalview.datamodel.SequenceI;
 import jalview.schemes.ColourSchemeI;
 
+import java.awt.Color;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+
 /**
  * @author jimp
  * 
@@ -178,7 +178,7 @@ public interface AlignViewportI extends ViewStyleI
    */
   void updateGroupAnnotationSettings(boolean applyGlobalSettings,
           boolean preserveNewGroupSettings);
-  
+
   void setSequenceColour(SequenceI seq, Color col);
 
   Color getSequenceColour(SequenceI seq);
@@ -235,11 +235,30 @@ public interface AlignViewportI extends ViewStyleI
    * This method returns the visible alignment as text, as seen on the GUI, ie
    * if columns are hidden they will not be returned in the result. Use this for
    * calculating trees, PCA, redundancy etc on views which contain hidden
+   * columns. This method doesn't exclude hidden sequences from the output.
+   *
+   * @param selectedRegionOnly
+   *          - determines if only the selected region or entire alignment is
+   *          exported
+   * @return String[]
+   */
+  String[] getViewAsString(boolean selectedRegionOnly);
+  
+  /**
+   * This method returns the visible alignment as text, as seen on the GUI, ie
+   * if columns are hidden they will not be returned in the result. Use this for
+   * calculating trees, PCA, redundancy etc on views which contain hidden
    * columns.
    * 
+   * @param selectedRegionOnly
+   *          - determines if only the selected region or entire alignment is
+   *          exported
+   * @param isExportHiddenSeqs
+   *          - determines if hidden sequences would be exported or not.
+   * 
    * @return String[]
    */
-  String[] getViewAsString(boolean selectedRegionOnly);
+  String[] getViewAsString(boolean selectedRegionOnly, boolean isExportHiddenSeqs);
 
   void setSelectionGroup(SequenceGroup sg);
 
@@ -251,8 +270,11 @@ public interface AlignViewportI extends ViewStyleI
 
   /**
    * get a copy of the currently visible alignment annotation
-   * @param selectedOnly if true - trim to selected regions on the alignment
-   * @return an empty list or new alignment annotation objects shown only visible columns trimmed to selected region only
+   * 
+   * @param selectedOnly
+   *          if true - trim to selected regions on the alignment
+   * @return an empty list or new alignment annotation objects shown only
+   *         visible columns trimmed to selected region only
    */
   List<AlignmentAnnotation> getVisibleAlignmentAnnotation(
           boolean selectedOnly);
@@ -373,25 +395,14 @@ public interface AlignViewportI extends ViewStyleI
    */
   void setFollowHighlight(boolean b);
 
-  /**
-   * Returns a FeatureRenderer instance
-   * 
-   * @return
-   */
-  public FeatureRenderer getFeatureRenderer();
 
-  /**
-   * Sets a FeatureRenderer for a viewport
-   * 
-   * @param featureRenderer
-   */
-  public void setFeatureRenderer(FeatureRenderer featureRenderer);
+  public void applyFeaturesStyle(FeatureSettingsModelI featureSettings);
 
   /**
-   * Returns Settings for exporting an Alignment
+   * check if current selection group is defined on the view, or is simply a
+   * temporary group.
    * 
-   * @return
+   * @return true if group is defined on the alignment
    */
-  public AlignExportSettingI getExportSettings();
-
+  boolean isSelectionDefinedGroup();
 }