JAL-3253-applet JAL-3439 Preferences issues 1/2
[jalview.git] / src / jalview / api / AlignViewportI.java
index b976a3d..cec61f4 100644 (file)
@@ -108,9 +108,9 @@ public interface AlignViewportI extends ViewStyleI
    * 
    * @return
    */
-  Hashtable[] getComplementConsensusHash();
+  Hashtable<String, Object>[] getComplementConsensusHash();
 
-  Hashtable[] getRnaStructureConsensusHash();
+  Hashtable<String, Object>[] getRnaStructureConsensusHash();
 
   boolean isIgnoreGapsConsensus();
 
@@ -178,7 +178,7 @@ public interface AlignViewportI extends ViewStyleI
    * 
    * @param hconsensus
    */
-  void setComplementConsensusHash(Hashtable[] hconsensus);
+  void setComplementConsensusHash(Hashtable<String, Object>[] hconsensus);
 
   /**
    * 
@@ -192,13 +192,20 @@ public interface AlignViewportI extends ViewStyleI
    * 
    * @param hStrucConsensus
    */
-  void setRnaStructureConsensusHash(Hashtable[] hStrucConsensus);
+  void setRnaStructureConsensusHash(
+          Hashtable<String, Object>[] hStrucConsensus);
 
   /**
    * Sets the colour scheme for the background alignment (as distinct from
    * sub-groups, which may have their own colour schemes). A null value is used
    * for no residue colour (white).
    * 
+   * BH Note: It is critical that any call to
+   * AlignViewportI.setGlobalColourScheme is followed closely, if not
+   * immediately, by a call to AlignPanel.repaint(true, true) so that the
+   * overview is updated. When that happens, the sequence overview color caches
+   * are cleared.
+   * 
    * @param cs
    */
   void setGlobalColourScheme(ColourSchemeI cs);
@@ -500,4 +507,32 @@ public interface AlignViewportI extends ViewStyleI
    * @return
    */
   AlignmentExportData getAlignExportData(AlignExportSettingsI options);
+
+  /**
+   * @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);
 }