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;
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);
MessageManager.getString(
"status.fetching_3d_structures_for_selected_entries"),
progressId);
- theViewer.viewStructures(pdbEntriesToView, sequences, alignPanel);
+ theViewer.viewStructures(pdbEntriesToView, sequences, alignPanel,
+ viewerType);
}
else
{
"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...
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);
}
// 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);
}