JAL-819 menu options to reinstate missing auto-calculated annotation
[jalview.git] / src / jalview / api / AlignViewportI.java
index 3cb06c1..707d03d 100644 (file)
@@ -21,6 +21,7 @@
 package jalview.api;
 
 import jalview.analysis.Conservation;
+import jalview.analysis.TreeModel;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.AlignmentView;
@@ -430,9 +431,19 @@ public interface AlignViewportI extends ViewStyleI
    */
   void setFollowHighlight(boolean b);
 
+  /**
+   * configure the feature renderer with predefined feature settings
+   * 
+   * @param featureSettings
+   */
   public void applyFeaturesStyle(FeatureSettingsModelI featureSettings);
 
   /**
+   * Apply the given feature settings on top of existing feature settings.
+   */
+  public void mergeFeaturesStyle(FeatureSettingsModelI featureSettings);
+
+  /**
    * check if current selection group is defined on the view, or is simply a
    * temporary group.
    * 
@@ -485,4 +496,61 @@ 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);
+
+  /**
+   * Creates an empty Conservation annotation and adds it to the alignment
+   */
+  void initConservation();
+
+  /**
+   * Creates an empty Quality annotation and adds it to the alignment
+   */
+  void initQuality();
+
+  /**
+   * Creates an empty Consensus annotation and adds it to the alignment
+   */
+  void initConsensus();
+
+  /**
+   * Creates an empty Occupancy annotation and adds it to the alignment
+   */
+  void initOccupancy();
+
+  /**
+   * Creates an empty RNA Structure annotation and adds it to the alignment
+   */
+  void initRNAStructure();
 }