+ }\r
+ catch (Exception ex)\r
+ {\r
+ ex.printStackTrace();\r
+ }\r
+ }\r
+\r
+ protected void preferences_actionPerformed(ActionEvent e)\r
+ {\r
+ Preferences pref = new Preferences();\r
+ }\r
+\r
+ public void saveState_actionPerformed(ActionEvent e)\r
+ {\r
+ JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache.\r
+ getProperty(\r
+ "LAST_DIRECTORY"), new String[]\r
+ {"jar"},\r
+ new String[]\r
+ {"Jalview Project"}, "Jalview Project");\r
+\r
+ chooser.setFileView(new JalviewFileView());\r
+ chooser.setDialogTitle("Save State");\r
+\r
+ int value = chooser.showSaveDialog(this);\r
+\r
+ if (value == JalviewFileChooser.APPROVE_OPTION)\r
+ {\r
+ java.io.File choice = chooser.getSelectedFile();\r
+ jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice.getParent());\r
+ Jalview2XML.SaveState(choice);\r
+ }\r
+ }\r
+\r
+ public void loadState_actionPerformed(ActionEvent e)\r
+ {\r
+ JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache.\r
+ getProperty(\r
+ "LAST_DIRECTORY"), new String[]\r
+ {"jar"},\r
+ new String[]\r
+ {"Jalview Project"}, "Jalview Project");\r
+ chooser.setFileView(new JalviewFileView());\r
+ chooser.setDialogTitle("Restore state");\r
+\r
+ int value = chooser.showOpenDialog(this);\r
+\r
+ if (value == JalviewFileChooser.APPROVE_OPTION)\r
+ {\r
+ String choice = chooser.getSelectedFile().getAbsolutePath();\r
+ jalview.bin.Cache.setProperty("LAST_DIRECTORY",\r
+ chooser.getSelectedFile().getParent());\r
+ Jalview2XML.LoadJalviewAlign(choice);\r
+ }\r
+ }\r
+\r
+ class LoadingThread\r
+ extends Thread\r
+ {\r
+ String file;\r
+ String protocol;\r
+ String format;\r
+\r
+ public LoadingThread(String file, String protocol, String format)\r
+ {\r
+ this.file = file;\r
+ this.protocol = protocol;\r
+ this.format = format;\r
+ }\r
+\r
+ public void run()\r
+ {\r
+ SequenceI[] sequences = null;\r
+\r
+ if (FormatAdapter.formats.contains(format))\r
+ {\r
+ sequences = FormatAdapter.readFile(file, protocol, format);\r
+ }\r
+\r
+ if ( (sequences != null) && (sequences.length > 0))\r
+ {\r
+ AlignFrame af = new AlignFrame(new Alignment(sequences));\r
+ addInternalFrame(af, file, AlignFrame.NEW_WINDOW_WIDTH,\r
+ AlignFrame.NEW_WINDOW_HEIGHT);\r
+ af.currentFileFormat = format;\r
+ af.statusBar.setText("Successfully loaded file " + file);\r
+\r
+ try\r
+ {\r
+ af.setMaximum(Preferences.showFullscreen);\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ }\r
+ }\r
+ else\r
+ {\r
+ JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
+ "Couldn't open file.\n" +\r
+ "Formats currently supported are\n" +\r
+ "Fasta, MSF, Clustal, BLC, PIR, MSP, and PFAM" // JBPNote - message should be generated through FormatAdapter!\r
+ , "Error loading file",\r
+ JOptionPane.WARNING_MESSAGE);\r
+ }\r
+ }\r
+ }\r