JAL-1588 restoring saved Chimera session(s)
[jalview.git] / src / jalview / gui / StructureViewer.java
index c204fec..b3b1962 100644 (file)
@@ -24,6 +24,7 @@ import jalview.api.structures.JalviewStructureDisplayI;
 import jalview.bin.Cache;
 import jalview.datamodel.PDBEntry;
 import jalview.datamodel.SequenceI;
+import jalview.datamodel.ViewerData;
 import jalview.structure.StructureSelectionManager;
 
 import java.awt.Rectangle;
@@ -115,18 +116,35 @@ public class StructureViewer
     return viewStructures(getViewerType(), ap, pdb, sequenceIs);
   }
 
+  /**
+   * Create a new panel controlling a structure viewer.
+   * 
+   * @param type
+   * @param pdbf
+   * @param id
+   * @param sq
+   * @param alignPanel
+   * @param viewerData
+   * @param fileloc
+   * @param rect
+   * @param vid
+   * @return
+   */
   public JalviewStructureDisplayI createView(ViewerType type,
-          String[] pdbf,
-          String[] id, SequenceI[][] sq, AlignmentPanel alignPanel,
-          boolean useinJmolsuperpos, boolean usetoColourbyseq,
-          boolean jmolColouring, String fileloc, Rectangle rect, String vid)
+          String[] pdbf, String[] id, SequenceI[][] sq,
+          AlignmentPanel alignPanel, ViewerData viewerData, String fileloc,
+          Rectangle rect, String vid)
   {
+    final boolean useinViewerSuperpos = viewerData.isAlignWithPanel();
+    final boolean usetoColourbyseq = viewerData.isColourWithAlignPanel();
+    final boolean viewerColouring = viewerData.isColourByViewer();
+
     JalviewStructureDisplayI sview = null;
     switch (type)
     {
     case JMOL:
-      sview = new AppJmol(pdbf, id, sq, alignPanel, useinJmolsuperpos,
-              usetoColourbyseq, jmolColouring, fileloc, rect, vid);
+      sview = new AppJmol(pdbf, id, sq, alignPanel, usetoColourbyseq,
+              useinViewerSuperpos, viewerColouring, fileloc, rect, vid);
       break;
     case CHIMERA:
       Cache.log.error("Unsupported structure viewer type "