X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FStructureChooser.java;h=d63c94a81f70c1b918fe28f2b0ca57cb0b7c69e1;hb=744e4ade5413aa7e8006a8d4d29fdb718489bf08;hp=1f39f3c22122f6fcc053378f4369613f5a7b75b6;hpb=dc78f37f49146f6339815e93598159d0c1ddc4c7;p=jalview.git diff --git a/src/jalview/gui/StructureChooser.java b/src/jalview/gui/StructureChooser.java index 1f39f3c..d63c94a 100644 --- a/src/jalview/gui/StructureChooser.java +++ b/src/jalview/gui/StructureChooser.java @@ -83,6 +83,7 @@ import jalview.util.Platform; import jalview.util.StringUtils; import jalview.ws.DBRefFetcher; import jalview.ws.DBRefFetcher.FetchFinishedListenerI; +import jalview.ws.datamodel.alphafold.PAEContactMatrix; import jalview.ws.seqfetcher.DbSourceProxy; import jalview.ws.sifts.SiftsSettings; @@ -704,7 +705,7 @@ public class StructureChooser extends GStructureChooser } /** - * Handles action event for btn_pdbFromFile + * Handles action event for btn_paeMatrixFile */ @Override protected void paeMatrixFile_actionPerformed() @@ -733,10 +734,26 @@ public class StructureChooser extends GStructureChooser "label.load_pae_matrix_file_associate_with_structure", pdbFile.getName())); + // TODO convert to Callable/Promise int value = chooser.showOpenDialog(null); if (value == JalviewFileChooser.APPROVE_OPTION) { - localPdbPaeMatrixFileName = chooser.getSelectedFile().getPath(); + String fileName = chooser.getSelectedFile().getPath(); + try + { + PAEContactMatrix.validateContactMatrixFile(fileName); + } catch (Exception thr) + { + JvOptionPane.showInternalMessageDialog(this, MessageManager + .formatMessage("label.couldnt_load_file", new Object[] + { fileName }) + "
" + thr.getLocalizedMessage(), + MessageManager.getString("label.error_loading_file"), + JvOptionPane.WARNING_MESSAGE); + Console.error("Couldn't import " + fileName + " as a PAE matrix", + thr); + return; + } + localPdbPaeMatrixFileName = fileName; Cache.setProperty("LAST_DIRECTORY", localPdbPaeMatrixFileName); } validateAssociationFromFile(); @@ -1058,11 +1075,13 @@ public class StructureChooser extends GStructureChooser { pdbFileString = MessageManager.getString("label.none"); pdbFileTooltip = MessageManager.getString("label.nothing_selected"); + setPdbOptionsEnabled(false); } } else { btn_pdbFromFile.setEnabled(false); + setPdbOptionsEnabled(false); // lbl_fromFileStatus.setIcon(errorImage); pdbFileString = MessageManager.getString("label.none"); pdbFileTooltip = MessageManager.getString("label.nothing_selected"); @@ -1187,7 +1206,14 @@ public class StructureChooser extends GStructureChooser final StructureSelectionManager ssm = ap.getStructureSelectionManager(); final int preferredHeight = pnl_filter.getHeight(); + btn_add.setEnabled(false); + btn_newView.setEnabled(false); + btn_cancel.setEnabled(false); + actionsPanel.setEnabled(false); + final String progress = MessageManager + .getString("label.working_ellipsis"); + setProgressBar(progress, progress.hashCode()); Runnable viewStruc = new Runnable() { @Override @@ -1278,7 +1304,9 @@ public class StructureChooser extends GStructureChooser .getCmb_assSeq().getSelectedItem(); SequenceI userSelectedSeq = assSeqOpt.getSequence(); if (userSelectedSeq != null) + { selectedSequence = userSelectedSeq; + } String pdbFilename = selectedPdbFileName; StructureChooser.openStructureFileForSequence(ssm, sc, ap, @@ -1290,6 +1318,7 @@ public class StructureChooser extends GStructureChooser @Override public void run() { + setProgressBar("Complete.", progress.hashCode()); closeAction(preferredHeight); mainFrame.dispose(); } @@ -1767,11 +1796,12 @@ public class StructureChooser extends GStructureChooser { seq }, viewerType); } - if (headless) - sc.mainFrame.dispose(); + sc.mainFrame.dispose(); if (showRefAnnotations) + { showReferenceAnnotationsForSequence(ap.alignFrame, seq); + } return sv; }