JAL-1847 JAL-2944 make superposition step a configurable property when opening/adding...
[jalview.git] / src / jalview / api / structures / JalviewStructureDisplayI.java
index a846e94..a27cec6 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,42 @@ 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();
+
+  boolean isAlignAddedStructures();
+
+  void setAlignAddedStructures(boolean alignAdded);
+
 }