JAL-4307 View->Ligands submenu, implementation for Jmol and documentation
[jalview.git] / src / jalview / structure / StructureCommandsI.java
index 0489bda..8ba94b0 100644 (file)
@@ -1,6 +1,27 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.structure;
 
 import java.awt.Color;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -86,7 +107,8 @@ public interface StructureCommandsI
    * 
    * @param refAtoms
    * @param atomSpec
-   * @param backbone - superpose based on which kind of atomType
+   * @param backbone
+   *          - superpose based on which kind of atomType
    * @return
    */
   List<StructureCommandI> superposeStructures(AtomSpecModel refAtoms,
@@ -109,7 +131,11 @@ public interface StructureCommandsI
    */
   StructureCommandI saveSession(String filepath);
 
-  enum AtomSpecType { RESIDUE_ONLY, ALPHA, PHOSPHATE }; 
+  enum AtomSpecType
+  {
+    RESIDUE_ONLY, ALPHA, PHOSPHATE
+  };
+
   /**
    * Returns a representation of the atom set represented by the model, in
    * viewer syntax format. If {@code alphaOnly} is true, this is restricted to
@@ -168,6 +194,15 @@ public interface StructureCommandsI
    * @return
    */
   StructureCommandI openSession(String filepath);
+  
+  /**
+   * Returns command to restore a previously saved version of an existing structure viewer session file. 
+   * Default implementation calls 'openSession' 
+   * @param filePath
+   * @return
+   */
+  StructureCommandI restoreSession(String filePath);
+
 
   /**
    * Returns a command to ask the viewer to close down
@@ -218,4 +253,10 @@ public interface StructureCommandsI
    * @return
    */
   StructureCommandI getResidueAttributes(String attName);
+
+  List<StructureCommandI> centerViewOn(List<AtomSpecModel> residues);
+
+  default List<StructureCommandI> showHetatms(List<String> toShow) {
+    return Collections.EMPTY_LIST;
+  }
 }