JAL-3285 add unmerged features to AlignViewportI
[jalview.git] / src / jalview / api / AlignViewportI.java
index 3f1b6a4..e2a13d4 100644 (file)
@@ -388,14 +388,14 @@ public interface AlignViewportI extends ViewStyleI
    * 
    * @return a copy of this view's current display settings
    */
-  ViewStyleI getViewStyle();
+  public ViewStyleI getViewStyle();
 
   /**
    * update the view's display settings with the given style set
    * 
    * @param settingsForView
    */
-  void setViewStyle(ViewStyleI settingsForView);
+  public void setViewStyle(ViewStyleI settingsForView);
 
   /**
    * Returns a viewport which holds the cDna for this (protein), or vice versa,
@@ -439,7 +439,7 @@ public interface AlignViewportI extends ViewStyleI
    */
   void setFollowHighlight(boolean b);
 
-  void applyFeaturesStyle(FeatureSettingsModelI featureSettings);
+  public void applyFeaturesStyle(FeatureSettingsModelI featureSettings);
 
   /**
    * check if current selection group is defined on the view, or is simply a
@@ -495,33 +495,49 @@ public interface AlignViewportI extends ViewStyleI
   @Override
   void setProteinFontAsCdna(boolean b);
 
-  void setSequenceInformationHashes(List<ProfilesI> info);
+  void setHmmProfiles(ProfilesI info);
 
-  List<ProfilesI> getSequenceInformationHashes();
+  ProfilesI getHmmProfiles();
 
-  ProfilesI getSequenceInformationHash(int index);
+  /**
+   * Registers and starts a worker thread to calculate Information Content
+   * annotation, if it is not already registered
+   * 
+   * @param ap
+   */
+  void initInformationWorker(AlignmentViewPanel ap);
 
-  List<AlignmentAnnotation> getInformationAnnotations();
+  boolean isInfoLetterHeight();
 
-  AlignmentAnnotation getInformationAnnotation(int index);
+  abstract TreeModel getCurrentTree();
 
-  void setSequenceInformationHash(ProfilesI info, int index);
+  abstract void setCurrentTree(TreeModel tree);
 
   /**
-   * Initiates the information annotation for all uninitiated sequences.
+   * @param update
+   *          - set the flag for updating structures on next repaint
    */
-  void initInformation();
+  void setUpdateStructures(boolean update);
 
   /**
-   * Updates all information annotations.
-   * 
-   * @param ap
+   *
+   * @return true if structure views will be updated on next refresh
    */
-  void updateInformation(AlignmentViewPanel ap);
+  boolean isUpdateStructures();
 
-  boolean isInfoLetterHeight();
-
-  abstract TreeModel getCurrentTree();
+  /**
+   * check if structure views need to be updated, and clear the flag afterwards.
+   * 
+   * @return if an update is needed
+   */
+  boolean needToUpdateStructureViews();
 
-  abstract void setCurrentTree(TreeModel tree);
+  /**
+   * 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);
 }