/*\r
* Jalview - A Sequence Alignment Editor and Viewer\r
-* Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+* Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
*\r
* This program is free software; you can redistribute it and/or\r
* modify it under the terms of the GNU General Public License\r
import jalview.gui.AlignFrame;\r
import jalview.gui.Jalview2XML;\r
import javax.swing.JOptionPane;\r
+\r
+import jalview.gui.*;\r
import jalview.datamodel.*;\r
-import jalview.gui.Desktop;\r
-import jalview.datamodel.SequenceI;\r
import java.util.Vector;\r
import java.util.StringTokenizer;\r
\r
String file;\r
String protocol;\r
String format;\r
- AlignmentI alignment;\r
+ AlignViewport viewport;\r
\r
- public void LoadFile(AlignmentI alignment, String file, String protocol, String format)\r
+ public void LoadFile(AlignViewport viewport, String file, String protocol, String format)\r
{\r
- this.alignment = alignment;\r
+ this.viewport = viewport;\r
LoadFile(file, protocol, format);\r
}\r
\r
AlignFrame af;\r
\r
\r
+\r
public void run()\r
{\r
+ if (Desktop.instance != null)\r
+ Desktop.instance.startLoading(file);\r
+\r
SequenceI[] sequences = null;\r
\r
if (format.equalsIgnoreCase("Jalview"))\r
}\r
else\r
{\r
- String errorMessage = AppletFormatAdapter.SUPPORTED_FORMATS;\r
+ String error = AppletFormatAdapter.SUPPORTED_FORMATS;\r
\r
- if (FormatAdapter.formats.contains(format))\r
+ if (FormatAdapter.isValidFormat(format))\r
{\r
try\r
{\r
}\r
catch (java.io.IOException ex)\r
{\r
- errorMessage = ex.getMessage();\r
+ error = ex.getMessage();\r
}\r
}\r
\r
if ( (sequences != null) && (sequences.length > 0))\r
{\r
- if(alignment!=null)\r
+ if(viewport!=null)\r
{\r
for(int i=0; i<sequences.length; i++)\r
- alignment.addSequence(sequences[i]);\r
+ viewport.getAlignment().addSequence(sequences[i]);\r
+\r
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
}\r
else\r
{\r
{\r
}\r
}\r
-\r
}\r
else\r
{\r
- JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
- "Couldn't load file " + file +\r
- "\n"\r
- + errorMessage,\r
- "Error loading file",\r
- JOptionPane.WARNING_MESSAGE);\r
+ if (Desktop.instance != null)\r
+ Desktop.instance.stopLoading();\r
+\r
+ final String errorMessage = "Couldn't load file "+file+"\n"+error;\r
+\r
+ javax.swing.SwingUtilities.invokeLater(new Runnable()\r
+ {\r
+ public void run()\r
+ {\r
+ JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
+ errorMessage,\r
+ "Error loading file",\r
+ JOptionPane.WARNING_MESSAGE);\r
+ }\r
+ });\r
}\r
}\r
\r
{\r
updateRecentlyOpened();\r
}\r
+\r
+ if (Desktop.instance != null)\r
+ Desktop.instance.stopLoading();\r
+\r
}\r
}\r
\r