X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FStructureChooser.java;h=35972b09bf19a8f4edb314c27574d19f721daf54;hp=7d2d907d4fdb1c7e278c10c55dc9053b16a7b7d4;hb=0788111a588187a04dd0d254d70b055274cf2c9d;hpb=c71453f1c7de4cc250700c1b6dd39d061982e794 diff --git a/src/jalview/gui/StructureChooser.java b/src/jalview/gui/StructureChooser.java index 7d2d907..35972b0 100644 --- a/src/jalview/gui/StructureChooser.java +++ b/src/jalview/gui/StructureChooser.java @@ -67,6 +67,7 @@ import jalview.fts.core.FTSRestRequest; import jalview.fts.core.FTSRestResponse; import jalview.fts.service.pdb.PDBFTSRestClient; import jalview.fts.service.threedbeacons.TDB_FTSData; +import jalview.gui.StructureViewer.ViewerType; import jalview.gui.structurechooser.PDBStructureChooserQuerySource; import jalview.gui.structurechooser.StructureChooserQuerySource; import jalview.gui.structurechooser.ThreeDBStructureChooserQuerySource; @@ -1344,6 +1345,15 @@ public class StructureChooser extends GStructureChooser StructureSelectionManager ssm, final PDBEntry[] pdbEntriesToView, final AlignmentPanel alignPanel, SequenceI[] sequences) { + return launchStructureViewer(ssm, pdbEntriesToView, alignPanel, + sequences, null); + } + + private StructureViewer launchStructureViewer( + StructureSelectionManager ssm, final PDBEntry[] pdbEntriesToView, + final AlignmentPanel alignPanel, SequenceI[] sequences, + ViewerType viewerType) + { long progressId = sequences.hashCode(); setProgressBar(MessageManager .getString("status.launching_3d_structure_viewer"), progressId); @@ -1408,7 +1418,8 @@ public class StructureChooser extends GStructureChooser MessageManager.getString( "status.fetching_3d_structures_for_selected_entries"), progressId); - theViewer.viewStructures(pdbEntriesToView, sequences, alignPanel); + theViewer.viewStructures(pdbEntriesToView, sequences, alignPanel, + viewerType); } else { @@ -1416,7 +1427,8 @@ public class StructureChooser extends GStructureChooser "status.fetching_3d_structures_for", pdbEntriesToView[0].getId()), progressId); // Can we pass a pre-computeMappinged pdbFile? - theViewer.viewStructures(pdbEntriesToView[0], sequences, alignPanel); + theViewer.viewStructures(pdbEntriesToView[0], sequences, alignPanel, + viewerType); } setProgressBar(null, progressId); // remember the last viewer we used... @@ -1721,20 +1733,20 @@ public class StructureChooser extends GStructureChooser boolean doXferSettings) { openStructureFileForSequence(ssm, sc, ap, seq, prompt, sFilename, tft, - paeFilename, false, true, doXferSettings); + paeFilename, false, true, doXferSettings, null); } public static void openStructureFileForSequence( StructureSelectionManager ssm, StructureChooser sc, AlignmentPanel ap, SequenceI seq, boolean prompt, String sFilename, TFType tft, String paeFilename, - boolean forceHeadless, boolean showAnnotations, - boolean doXferSettings) + boolean forceHeadless, boolean showRefAnnotations, + boolean doXferSettings, ViewerType viewerType) { boolean headless = forceHeadless; if (sc == null) { - headless = true; + // headless = true; prompt = false; sc = new StructureChooser(new SequenceI[] { seq }, seq, ap, false); } @@ -1747,14 +1759,15 @@ public class StructureChooser extends GStructureChooser // if headless, "false" in the sc constructor above will avoid GUI behaviour // in sc.launchStructureViewer() - sc.launchStructureViewer(ssm, new PDBEntry[] { fileEntry }, ap, - new SequenceI[] - { seq }); + if (!headless && !(viewerType == null)) + sc.launchStructureViewer(ssm, new PDBEntry[] { fileEntry }, ap, + new SequenceI[] + { seq }, viewerType); if (headless) sc.mainFrame.dispose(); - if (showAnnotations) + if (showRefAnnotations) showReferenceAnnotationsForSequence(ap.alignFrame, seq); }