X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FStructureChooser.java;fp=src%2Fjalview%2Fgui%2FStructureChooser.java;h=8dbe0c250e041edd7f12dbf426e6599b176ae4fa;hb=80edaa84d6d9beac9f0d2c71b50b7b56fd393427;hp=fd2de8e1bdf0952a22fe25df6a41c7213447c5c8;hpb=60073d3f838affacd3f4158c3e7d069652d26602;p=jalview.git diff --git a/src/jalview/gui/StructureChooser.java b/src/jalview/gui/StructureChooser.java index fd2de8e..8dbe0c2 100644 --- a/src/jalview/gui/StructureChooser.java +++ b/src/jalview/gui/StructureChooser.java @@ -717,10 +717,7 @@ public class StructureChooser extends GStructureChooser implements @Override public void ok_ActionPerformed() { - final long progressSessionId = System.currentTimeMillis(); final StructureSelectionManager ssm = ap.getStructureSelectionManager(); - ssm.setProgressIndicator(this); - ssm.setProgressSessionId(progressSessionId); new Thread(new Runnable() { @Override @@ -765,7 +762,8 @@ public class StructureChooser extends GStructureChooser implements } SequenceI[] selectedSeqs = selectedSeqsToView .toArray(new SequenceI[selectedSeqsToView.size()]); - launchStructureViewer(ssm, pdbEntriesToView, ap, selectedSeqs); + launchStructureViewer(ssm, pdbEntriesToView, ap, + selectedSeqs); } else if (currentView == VIEWS_LOCAL_PDB) { @@ -788,7 +786,8 @@ public class StructureChooser extends GStructureChooser implements } SequenceI[] selectedSeqs = selectedSeqsToView .toArray(new SequenceI[selectedSeqsToView.size()]); - launchStructureViewer(ssm, pdbEntriesToView, ap, selectedSeqs); + launchStructureViewer(ssm, pdbEntriesToView, ap, + selectedSeqs); } else if (currentView == VIEWS_ENTER_ID) { @@ -830,7 +829,8 @@ public class StructureChooser extends GStructureChooser implements jalview.io.AppletFormatAdapter.FILE, selectedSequence, true, Desktop.instance); - launchStructureViewer(ssm, new PDBEntry[] { fileEntry }, ap, + launchStructureViewer(ssm, + new PDBEntry[] { fileEntry }, ap, new SequenceI[] { selectedSequence }); } mainFrame.dispose(); @@ -857,12 +857,17 @@ public class StructureChooser extends GStructureChooser implements final PDBEntry[] pdbEntriesToView, final AlignmentPanel alignPanel, SequenceI[] sequences) { - ssm.setProgressBar(MessageManager - .getString("status.launching_3d_structure_viewer")); + long progressId = sequences.hashCode(); + setProgressBar(MessageManager + .getString("status.launching_3d_structure_viewer"), progressId); final StructureViewer sViewer = new StructureViewer(ssm); + setProgressBar(null, progressId); if (SiftsSettings.isMapWithSifts()) { + // TODO: prompt user if there are lots of sequences without dbrefs. + // It can take a long time if we need to fetch all dbrefs for all + // sequences! ArrayList seqsWithoutSourceDBRef = new ArrayList(); for (SequenceI seq : sequences) { @@ -875,10 +880,9 @@ public class StructureChooser extends GStructureChooser implements if (!seqsWithoutSourceDBRef.isEmpty()) { int y = seqsWithoutSourceDBRef.size(); - ssm.setProgressBar(null); - ssm.setProgressBar(MessageManager.formatMessage( + setProgressBar(MessageManager.formatMessage( "status.fetching_dbrefs_for_sequences_without_valid_refs", - y)); + y), progressId); SequenceI[] seqWithoutSrcDBRef = new SequenceI[y]; int x = 0; for (SequenceI fSeq : seqsWithoutSourceDBRef) @@ -886,6 +890,7 @@ public class StructureChooser extends GStructureChooser implements seqWithoutSrcDBRef[x++] = fSeq; } new DBRefFetcher(seqWithoutSrcDBRef).fetchDBRefs(true); + setProgressBar("Fetch complete.", progressId); // todo i18n } } if (pdbEntriesToView.length > 1) @@ -896,19 +901,18 @@ public class StructureChooser extends GStructureChooser implements seqsMap.add(new SequenceI[] { seq }); } SequenceI[][] collatedSeqs = seqsMap.toArray(new SequenceI[0][0]); - ssm.setProgressBar(null); - ssm.setProgressBar(MessageManager - .getString("status.fetching_3d_structures_for_selected_entries")); + setProgressBar(MessageManager + .getString("status.fetching_3d_structures_for_selected_entries"), progressId); sViewer.viewStructures(pdbEntriesToView, collatedSeqs, alignPanel); } else { - ssm.setProgressBar(null); - ssm.setProgressBar(MessageManager.formatMessage( + setProgressBar(MessageManager.formatMessage( "status.fetching_3d_structures_for", - pdbEntriesToView[0].getId())); + pdbEntriesToView[0].getId()),progressId); sViewer.viewStructures(pdbEntriesToView[0], sequences, alignPanel); } + setProgressBar(null, progressId); } /**