X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FFileLoader.java;h=b11dfd55554b0556ad71408c4364d89d1da173ab;hb=a23cc416cd520ac6dec6052591575b264f5d25bc;hp=e27c6661b03ca2c46ac29b3e522b29d40f6c35a4;hpb=70f9c4700f20a8fa57ed7eb974277d8bad0723c2;p=jalview.git diff --git a/src/jalview/io/FileLoader.java b/src/jalview/io/FileLoader.java index e27c666..b11dfd5 100755 --- a/src/jalview/io/FileLoader.java +++ b/src/jalview/io/FileLoader.java @@ -20,12 +20,6 @@ */ package jalview.io; -import java.util.StringTokenizer; -import java.util.Vector; - -import javax.swing.JOptionPane; -import javax.swing.SwingUtilities; - import jalview.api.ComplexAlignFile; import jalview.datamodel.AlignmentI; import jalview.datamodel.ColumnSelection; @@ -39,6 +33,12 @@ import jalview.schemes.ColourSchemeI; import jalview.structure.StructureSelectionManager; import jalview.util.MessageManager; +import java.util.StringTokenizer; +import java.util.Vector; + +import javax.swing.JOptionPane; +import javax.swing.SwingUtilities; + public class FileLoader implements Runnable { String file; @@ -299,7 +299,8 @@ public class FileLoader implements Runnable // open a new source and read from it FormatAdapter fa = new FormatAdapter(); al = fa.readFile(file, protocol, format); - source = fa.getAlignFile(); // keep reference for later if necessary. + source = fa.getAlignFile(); // keep reference for later if + // necessary. } } catch (java.io.IOException ex) { @@ -317,6 +318,7 @@ public class FileLoader implements Runnable if ((al != null) && (al.getHeight() > 0)) { + // construct and register dataset sequences for (SequenceI sq : al.getSequences()) { while (sq.getDatasetSequence() != null) @@ -327,21 +329,23 @@ public class FileLoader implements Runnable { for (PDBEntry pdbe : sq.getPDBId()) { + // register PDB entries with desktop's structure selection + // manager StructureSelectionManager.getStructureSelectionManager( Desktop.instance).registerPDBEntry(pdbe); } } } + if (viewport != null) { + // append to existing alignment viewport.addAlignment(al, title); } else { - if (!protocol.equals(AppletFormatAdapter.PASTE)) - { - alignFrame.setFileName(file, format); - } + // otherwise construct the alignFrame + if (source instanceof ComplexAlignFile) { ColumnSelection colSel = ((ComplexAlignFile) source) @@ -353,8 +357,7 @@ public class FileLoader implements Runnable ColourSchemeI cs = ((ComplexAlignFile) source) .getColourScheme(); alignFrame = new AlignFrame(al, hiddenSeqs, colSel, - AlignFrame.DEFAULT_WIDTH, - AlignFrame.DEFAULT_HEIGHT); + AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT); alignFrame.getViewport().setShowSequenceFeatures( showSeqFeatures); @@ -365,6 +368,11 @@ public class FileLoader implements Runnable alignFrame = new AlignFrame(al, AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT); } + // add metadata and update ui + if (!protocol.equals(AppletFormatAdapter.PASTE)) + { + alignFrame.setFileName(file, format); + } alignFrame.statusBar.setText(MessageManager.formatMessage( "label.successfully_loaded_file", new String[] @@ -399,7 +407,9 @@ public class FileLoader implements Runnable final String errorMessage = "Couldn't load file " + title + "\n" + error; - if (raiseGUI) + // TODO: refactor FileLoader to be independent of Desktop / Applet GUI + // bits ? + if (raiseGUI && Desktop.desktop != null) { javax.swing.SwingUtilities.invokeLater(new Runnable() { @@ -452,12 +462,12 @@ public class FileLoader implements Runnable { public void run() { - javax.swing.JOptionPane - .showInternalMessageDialog( - Desktop.desktop, - MessageManager.formatMessage("warn.out_of_memory_loading_file", new String[]{file}), - MessageManager.getString("label.out_of_memory"), - javax.swing.JOptionPane.WARNING_MESSAGE); + javax.swing.JOptionPane.showInternalMessageDialog( + Desktop.desktop, MessageManager.formatMessage( + "warn.out_of_memory_loading_file", new String[] + { file }), MessageManager + .getString("label.out_of_memory"), + javax.swing.JOptionPane.WARNING_MESSAGE); } }); }