JAL-845 code/refactoring/tests related to linking DNA and protein
[jalview.git] / src / jalview / api / AlignViewportI.java
index 567ae83..798e47e 100644 (file)
  */
 package jalview.api;
 
-import java.awt.Color;
-import java.util.Hashtable;
-import java.util.Map;
-
 import jalview.analysis.Conservation;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.AlignmentI;
@@ -35,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
  * 
@@ -191,4 +192,28 @@ public interface AlignViewportI
 
   void setConservation(Conservation cons);
 
+  /**
+   * 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
+   */
+  List<AlignmentAnnotation> getVisibleAlignmentAnnotation(
+          boolean selectedOnly);
+
+  /**
+   * Returns a viewport which holds the cDna for this (protein), or vice versa,
+   * or null if none is set.
+   * 
+   * @return
+   */
+  AlignViewportI getCodingComplement();
+
+  void setCodingComplement(AlignViewportI sl);
+
+  /**
+   * Answers true if viewport hosts DNA/RAN, false if peptide.
+   * 
+   * @return
+   */
+  boolean isNucleotide();
 }