JAL-2944 expose UI update methods in api
[jalview.git] / src / jalview / api / structures / JalviewStructureDisplayI.java
index a846e94..c58e3c1 100644 (file)
@@ -20,6 +20,9 @@
  */
 package jalview.api.structures;
 
+import jalview.api.AlignmentViewPanel;
+import jalview.datamodel.PDBEntry;
+import jalview.datamodel.SequenceI;
 import jalview.schemes.ColourSchemeI;
 import jalview.structures.models.AAStructureBindingModel;
 
@@ -48,13 +51,38 @@ public interface JalviewStructureDisplayI
   void dispose();
 
   /**
-   * shutdown any structure viewing processes started by this display
+   * Shutdown any Jalview structure viewing processes started by this display
+   * 
+   * @param closeExternalViewer
+   *          if true, force close any linked external viewer process
    */
-  void closeViewer();
+  void closeViewer(boolean closeExternalViewer);
+
   /**
    * apply a colourscheme to the structures in the viewer
+   * 
    * @param colourScheme
    */
   void setJalviewColourScheme(ColourSchemeI colourScheme);
 
+  /**
+   * 
+   * @return true if all background sequence/structure binding threads have
+   *         completed for this viewer instance
+   */
+  boolean hasMapping();
+
+  // construction method - move to another interface ?
+  boolean addAlreadyLoadedFile(SequenceI[] seq, String[] chains,
+          AlignmentViewPanel apanel, String pdbId);
+
+  // construction method - move to another interface ?
+  boolean addToExistingViewer(PDBEntry pdbentry, SequenceI[] seq,
+          String[] chains, AlignmentViewPanel apanel, String pdbId);
+
+  /**
+   * refresh GUI after reconfiguring structure(s) and alignment panels
+   */
+  void updateTitleAndMenus();
+
 }