JAL-3081 is/setShowAutocalculatedAbove pulled up to interface
[jalview.git] / src / jalview / api / AlignViewportI.java
index 3cb06c1..fa0a3b0 100644 (file)
@@ -20,7 +20,9 @@
  */
 package jalview.api;
 
+import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
 import jalview.analysis.Conservation;
+import jalview.analysis.TreeModel;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.AlignmentView;
@@ -485,4 +487,59 @@ public interface AlignViewportI extends ViewStyleI
    */
   @Override
   void setProteinFontAsCdna(boolean b);
+
+  public abstract TreeModel getCurrentTree();
+
+  public abstract void setCurrentTree(TreeModel tree);
+
+  /**
+   * @param update
+   *          - set the flag for updating structures on next repaint
+   */
+  void setUpdateStructures(boolean update);
+
+  /**
+   *
+   * @return true if structure views will be updated on next refresh
+   */
+  boolean isUpdateStructures();
+
+  /**
+   * check if structure views need to be updated, and clear the flag afterwards.
+   * 
+   * @return if an update is needed
+   */
+  boolean needToUpdateStructureViews();
+
+  /**
+   * Adds sequencegroup to the alignment in the view. Also adds a group to the
+   * complement view if one is defined.
+   * 
+   * @param sequenceGroup
+   *          - a group defined on sequences in the alignment held by the view
+   */
+  void addSequenceGroup(SequenceGroup sequenceGroup);
+
+  /**
+   * Returns true if autocalculated annotations are shown above other
+   * annotations, false if below
+   * 
+   * @return
+   */
+  boolean isShowAutocalculatedAbove();
+
+  /**
+   * Sets the flag for whether autocalculated annotations are shown above (true)
+   * or below (false) other annotations
+   * 
+   * @param showAutocalculatedAbove
+   */
+  void setShowAutocalculatedAbove(boolean showAutocalculatedAbove);
+
+  /**
+   * Sets the sort order to apply to annotations
+   * 
+   * @param sortAnnotationsBy
+   */
+  void setSortAnnotationsBy(SequenceAnnotationOrder sortAnnotationsBy);
 }