JAL-3489 ensure all chains mapped when loading local multimeric PDB file
[jalview.git] / src / jalview / gui / AssociatePdbFileWithSeq.java
index e2637a9..c68914c 100644 (file)
@@ -23,12 +23,11 @@ package jalview.gui;
 import jalview.api.StructureSelectionManagerProvider;
 import jalview.datamodel.PDBEntry;
 import jalview.datamodel.SequenceI;
+import jalview.io.DataSourceType;
 import jalview.io.StructureFile;
 import jalview.structure.StructureSelectionManager;
 import jalview.util.MessageManager;
 
-import javax.swing.JOptionPane;
-
 /**
  * GUI related routines for associating PDB files with sequences
  * 
@@ -39,20 +38,25 @@ public class AssociatePdbFileWithSeq
 {
 
   /**
-   * assocate the given PDB file with
+   * Associates the given file as a PDB structure for the given sequence.
    * 
    * @param choice
+   * @param file
    * @param sequence
+   * @param prompt
+   * @param ssmp
+   * @param forViewer
+   * @return
    */
-  public PDBEntry associatePdbWithSeq(String choice, String protocol,
+  public PDBEntry associatePdbWithSeq(String choice, DataSourceType file,
           SequenceI sequence, boolean prompt,
-          StructureSelectionManagerProvider ssmp)
+          StructureSelectionManagerProvider ssmp, boolean forViewer)
   {
     PDBEntry entry = new PDBEntry();
     StructureFile pdbfile = null;
     pdbfile = StructureSelectionManager.getStructureSelectionManager(ssmp)
-            .setMapping(false, new SequenceI[] { sequence }, null, choice,
-                    protocol);
+            .setMapping(forViewer, new SequenceI[]
+            { sequence }, null, choice, file);
     if (pdbfile == null)
     {
       // stacktrace already thrown so just return
@@ -64,11 +68,11 @@ public class AssociatePdbFileWithSeq
 
       if (prompt)
       {
-        reply = JOptionPane.showInternalInputDialog(Desktop.desktop,
+        reply = JvOptionPane.showInternalInputDialog(Desktop.desktop,
                 MessageManager
                         .getString("label.couldnt_find_pdb_id_in_file"),
                 MessageManager.getString("label.no_pdb_id_in_file"),
-                JOptionPane.QUESTION_MESSAGE);
+                JvOptionPane.QUESTION_MESSAGE);
       }
       if (reply == null)
       {