Merge commit 'alpha/update_2_12_for_2_11_2_series_merge^2' into HEAD
[jalview.git] / src / jalview / api / AlignViewportI.java
index e5bf0be..295a9c4 100644 (file)
@@ -23,6 +23,7 @@ package jalview.api;
 import jalview.analysis.Conservation;
 import jalview.analysis.TreeModel;
 import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentExportData;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.AlignmentView;
 import jalview.datamodel.ColumnSelection;
@@ -38,6 +39,7 @@ import jalview.viewmodel.ViewportRanges;
 import java.awt.Color;
 import java.awt.Font;
 import java.util.Hashtable;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -113,9 +115,9 @@ public interface AlignViewportI extends ViewStyleI
    * 
    * @return
    */
-  Hashtable[] getComplementConsensusHash();
+  Hashtable<String, Object>[] getComplementConsensusHash();
 
-  Hashtable[] getRnaStructureConsensusHash();
+  Hashtable<String, Object>[] getRnaStructureConsensusHash();
 
   boolean isIgnoreGapsConsensus();
 
@@ -165,7 +167,7 @@ public interface AlignViewportI extends ViewStyleI
    * 
    * @return
    */
-  AlignCalcManagerI getCalcManager();
+  AlignCalcManagerI2 getCalcManager();
 
   /**
    * get the percentage gaps allowed in a conservation calculation
@@ -185,7 +187,7 @@ public interface AlignViewportI extends ViewStyleI
    * 
    * @param hconsensus
    */
-  void setComplementConsensusHash(Hashtable[] hconsensus);
+  void setComplementConsensusHash(Hashtable<String, Object>[] hconsensus);
 
   /**
    * 
@@ -199,7 +201,8 @@ public interface AlignViewportI extends ViewStyleI
    * 
    * @param hStrucConsensus
    */
-  void setRnaStructureConsensusHash(Hashtable[] hStrucConsensus);
+  void setRnaStructureConsensusHash(
+          Hashtable<String, Object>[] hStrucConsensus);
 
   /**
    * Sets the colour scheme for the background alignment (as distinct from
@@ -519,9 +522,18 @@ public interface AlignViewportI extends ViewStyleI
 
   boolean isInfoLetterHeight();
 
-  abstract TreeModel getCurrentTree();
+  public abstract TreeModel getCurrentTree();
 
-  abstract void setCurrentTree(TreeModel tree);
+  /**
+   * Answers a data bean containing data for export as configured by the
+   * supplied options
+   * 
+   * @param options
+   * @return
+   */
+  AlignmentExportData getAlignExportData(AlignExportSettingsI options);
+
+  public abstract void setCurrentTree(TreeModel tree);
 
   /**
    * @param update
@@ -550,4 +562,16 @@ public interface AlignViewportI extends ViewStyleI
    *          - a group defined on sequences in the alignment held by the view
    */
   void addSequenceGroup(SequenceGroup sequenceGroup);
+
+  /**
+   * Returns an interator over the [start, end] column positions of the visible
+   * regions of the alignment
+   * 
+   * @param selectedRegionOnly
+   *                             if true, and the view has a selection region,
+   *                             then only the intersection of visible columns
+   *                             with the selection region is returned
+   * @return
+   */
+  Iterator<int[]> getViewAsVisibleContigs(boolean selectedRegionOnly);
 }