JAL-4307 View->Ligands submenu, implementation for Jmol and documentation
[jalview.git] / src / jalview / api / structures / JalviewStructureDisplayI.java
index f59e4cb..77f2b6d 100644 (file)
  */
 package jalview.api.structures;
 
+import java.io.File;
+import java.util.Collections;
+import java.util.List;
+
 import jalview.api.AlignmentViewPanel;
 import jalview.datamodel.PDBEntry;
 import jalview.datamodel.SequenceI;
-import jalview.schemes.ColourSchemeI;
+import jalview.gui.AlignmentPanel;
+import jalview.gui.StructureViewer;
 import jalview.structures.models.AAStructureBindingModel;
 
 public interface JalviewStructureDisplayI
@@ -59,11 +64,9 @@ public interface JalviewStructureDisplayI
   void closeViewer(boolean closeExternalViewer);
 
   /**
-   * apply a colourscheme to the structures in the viewer
-   * 
-   * @param colourScheme
+   * Check if the external viewer is still running
    */
-  void setJalviewColourScheme(ColourSchemeI colourScheme);
+  boolean stillRunning();
 
   /**
    * 
@@ -158,8 +161,45 @@ public interface JalviewStructureDisplayI
    * @param msg
    * @return handle
    */
-  long startProgressBar(String progressMsg);
+  long startProgressBar(String msg);
+
+  /**
+   * Ends the progress bar with the specified handle, leaving a message (if not
+   * null) on the status bar
+   * 
+   * @param msg
+   * @param handle
+   */
+  void stopProgressBar(String msg, long handle);
+
+  /**
+   * 
+   * @return true if the actions menu is shown for this viewer
+   */
+  boolean hasViewerActionsMenu();
 
-  void stopProgressBar(Object object, long handle);
+  String getViewId();
+
+  StructureViewer.ViewerType getViewerType();
+
+  boolean isUsedforaligment(AlignmentViewPanel ap);
+
+  boolean isColouredByViewer();
+
+  int getHeight();
+
+  int getWidth();
+
+  int getY();
+
+  File saveSession();
+
+  /**
+   * 
+   * @return heteroatoms in a form suitable for display and passing to command generator to display hetatms
+   */
+  default List<String> getHetatms() {
+    return Collections.EMPTY_LIST;
+  }
 
 }