JAL-1847 superpose checkbox in structure chooser
[jalview.git] / src / jalview / gui / StructureChooser.java
index 1c99f02..1b69989 100644 (file)
@@ -22,6 +22,7 @@
 package jalview.gui;
 
 import jalview.api.structures.JalviewStructureDisplayI;
+import jalview.bin.Cache;
 import jalview.bin.Jalview;
 import jalview.datamodel.DBRefEntry;
 import jalview.datamodel.DBRefSource;
@@ -108,6 +109,8 @@ public class StructureChooser extends GStructureChooser
       progressBar = new ProgressBar(this.statusPanel, this.statusBar);
     }
 
+    chk_superpose.setSelected(Cache.getDefault("AUTOSUPERIMPOSE", true));
+
     // ensure a filter option is in force for search
     populateFilterComboBox(true, cachedPDBExists);
     Thread discoverPDBStructuresThread = new Thread(new Runnable()
@@ -999,17 +1002,24 @@ public class StructureChooser extends GStructureChooser
     return foundEntry;
   }
 
+  /**
+   * @param ssm
+   * @return targetted structure view (new or existing) configured according to
+   *         superpose checkbox
+   */
   public StructureViewer getTargetedStructureViewer(
           StructureSelectionManager ssm)
   {
     Object _sv = targetView.getSelectedItem();
-
+    StructureViewer sv;
     if (_sv == null)
     {
-      return new StructureViewer(ssm);
+      sv = new StructureViewer(ssm);
     } else {
-      return (StructureViewer) _sv;
+      sv = (StructureViewer) _sv;
     }
+    sv.setSuperpose(chk_superpose.isSelected());
+    return sv;
   }
   private StructureViewer launchStructureViewer(
           StructureSelectionManager ssm,
@@ -1020,6 +1030,7 @@ public class StructureChooser extends GStructureChooser
     setProgressBar(MessageManager
             .getString("status.launching_3d_structure_viewer"), progressId);
     final StructureViewer sViewer = getTargetedStructureViewer(ssm);
+    sViewer.setSuperpose(chk_superpose.isSelected());
 
     setProgressBar(null, progressId);
     if (SiftsSettings.isMapWithSifts())