Merge remote-tracking branch 'origin/tasks/JAL-3070_wsinterfaces' into alpha/JAL...
[jalview.git] / src / jalview / api / AlignViewportI.java
index ea921c7..e5bf0be 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,17 @@ public interface AlignViewportI extends ViewStyleI
    */
   void setFollowHighlight(boolean b);
 
-  void applyFeaturesStyle(FeatureSettingsModelI featureSettings);
+  /**
+   * 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
@@ -495,31 +505,49 @@ public interface AlignViewportI extends ViewStyleI
   @Override
   void setProteinFontAsCdna(boolean b);
 
-  void setSequenceInformationHashes(List<ProfilesI> info);
-
-  List<ProfilesI> getSequenceInformationHashes();
+  void setHmmProfiles(ProfilesI info);
 
-  ProfilesI getSequenceInformationHash(int index);
-
-  List<AlignmentAnnotation> getInformationAnnotations();
-
-  void setSequenceInformationHash(ProfilesI info, int index);
+  ProfilesI getHmmProfiles();
 
   /**
-   * Initiates the information annotation for all uninitiated sequences.
-   */
-  void initInformation();
-
-  /**
-   * Updates all information annotations.
+   * Registers and starts a worker thread to calculate Information Content
+   * annotation, if it is not already registered
    * 
    * @param ap
    */
-  void updateInformation(AlignmentViewPanel ap);
+  void initInformationWorker(AlignmentViewPanel ap);
 
   boolean isInfoLetterHeight();
 
   abstract TreeModel getCurrentTree();
 
   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);
 }