X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FFileLoader.java;h=f244d14a12500d827f88fe1dc11aefdf5c25382c;hb=7047b076a62df177047ceb16c3611efe020bdd76;hp=eda3899a13306555a3c15bc0fa13cdb268bd2415;hpb=c945c9641de88cad01b09b3db19e45667dfe751e;p=jalview.git diff --git a/src/jalview/io/FileLoader.java b/src/jalview/io/FileLoader.java index eda3899..f244d14 100755 --- a/src/jalview/io/FileLoader.java +++ b/src/jalview/io/FileLoader.java @@ -33,9 +33,9 @@ import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; import jalview.gui.AlignViewport; import jalview.gui.Desktop; -import jalview.gui.Jalview2XML; import jalview.gui.JvOptionPane; import jalview.json.binding.biojson.v1.ColourSchemeMapper; +import jalview.project.Jalview2XML; import jalview.schemes.ColourSchemeI; import jalview.structure.StructureSelectionManager; import jalview.util.MessageManager; @@ -170,6 +170,24 @@ public class FileLoader implements Runnable } /** + * Load alignment from (file, protocol) of type format and wait till loaded + * + * @param file + * @param sourceType + * @param format + * @return alignFrame constructed from file contents + */ + public AlignFrame LoadFileWaitTillLoaded(File file, + DataSourceType sourceType, FileFormatI format) + { + this.selectedFile = file; + this.file = file.getPath(); + this.protocol = sourceType; + this.format = format; + return _LoadFileWaitTillLoaded(); + } + + /** * Load alignment from FileParse source of type format and wait till loaded * * @param source @@ -320,7 +338,8 @@ public class FileLoader implements Runnable "IMPLEMENTATION ERROR: Cannot read consecutive Jalview XML projects from a stream."); // We read the data anyway - it might make sense. } - alignFrame = new Jalview2XML(raiseGUI).loadJalviewAlign(file); + // BH 2018 switch to File object here instead of filename + alignFrame = new Jalview2XML(raiseGUI).loadJalviewAlign(selectedFile == null ? file : selectedFile); } else { @@ -348,8 +367,13 @@ public class FileLoader implements Runnable file.lastIndexOf(".")); String tempStructureFileStr = createNamedJvTempFile( urlLeafName, structExt); - UrlDownloadClient.download(file, tempStructureFileStr); - al = fa.readFile(tempStructureFileStr, DataSourceType.FILE, + + // BH - switching to File object here so as to hold + // ._bytes array directly + File tempFile = new File(tempStructureFileStr); + UrlDownloadClient.download(file, tempFile); + + al = fa.readFile(tempFile, DataSourceType.FILE, format); source = fa.getAlignFile(); } @@ -443,13 +467,14 @@ public class FileLoader implements Runnable if (!(protocol == DataSourceType.PASTE)) { alignFrame.setFileName(file, format); + alignFrame.setFileObject(selectedFile); // BH 2018 SwingJS } if (proxyColourScheme != null) { alignFrame.getViewport() .applyFeaturesStyle(proxyColourScheme); } - alignFrame.statusBar.setText(MessageManager.formatMessage( + alignFrame.setStatus(MessageManager.formatMessage( "label.successfully_loaded_file", new String[] { title }));