{\r
this.av = av;\r
sr = new SequenceRenderer(av);\r
- JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache.getProperty("LAST_DIRECTORY")\r
- , new String[]{"html"}, "HTML files");\r
+ JalviewFileChooser chooser = new JalviewFileChooser(\r
+ jalview.bin.Cache.getProperty("LAST_DIRECTORY"),\r
+ new String[]{"html"},\r
+ new String[]{"HTML files"},\r
+ "HTML files");\r
\r
chooser.setFileView(new JalviewFileView());\r
chooser.setDialogTitle("Save as HTML");\r
if(value == JalviewFileChooser.APPROVE_OPTION)\r
{\r
String choice = chooser.getSelectedFile().getPath();\r
- jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);\r
+ jalview.bin.Cache.setProperty("LAST_DIRECTORY", chooser.getSelectedFile().getParent());\r
try{\r
PrintWriter out = new java.io.PrintWriter(new java.io.FileWriter(choice));\r
out.println("<HTML>");\r
private static String[] COLUMNS = null;\r
\r
\r
- public JalviewFileChooser(String dir, String [] suffix, String desc)\r
+ public JalviewFileChooser(String dir, String [] suffix, String [] desc, String selected)\r
{\r
super(dir);\r
- JalviewFileFilter filter = new JalviewFileFilter(suffix, desc);\r
- this.setFileFilter(filter);\r
+\r
+ JalviewFileFilter chosen = null;\r
+ for(int i=0; i<suffix.length; i++)\r
+ {\r
+ JalviewFileFilter jvf = new JalviewFileFilter(suffix[i], desc[i]);\r
+ addChoosableFileFilter(jvf);\r
+ if(selected!=null && selected.equals(desc[i]))\r
+ chosen = jvf;\r
+ }\r
+ if(chosen!=null)\r
+ setFileFilter(chosen);\r
initColumns();\r
}\r
\r
+ public String getSelectedFormat()\r
+ {\r
+\r
+ String format = getFileFilter().getDescription();\r
+ if (format.startsWith("Jalview"))\r
+ format = "Jalview";\r
+ else if (format.startsWith("Fasta"))\r
+ format = "FASTA";\r
+ else if (format.startsWith("MSF"))\r
+ format = "MSF";\r
+ else if (format.startsWith("Clustal"))\r
+ format = "CLUSTAL";\r
+ else if (format.startsWith("BLC"))\r
+ format = "BLC";\r
+ else if (format.startsWith("PIR"))\r
+ format = "PIR";\r
+ else if (format.startsWith("PFAM"))\r
+ format = "PFAM";\r
+\r
+ return format;\r
+ }\r
public JalviewFileChooser(String dir)\r
{\r
super(dir);\r
setDialogType(SAVE_DIALOG);\r
int ret = showDialog(parent, null);\r
\r
+ JalviewFileFilter jvf = (JalviewFileFilter)getFileFilter();\r
+ if( !jvf.accept( getSelectedFile() ) )\r
+ {\r
+ String withExtension = getSelectedFile()+"."+jvf.getAcceptableExtension();\r
+ setSelectedFile(new File(withExtension));\r
+ }\r
+\r
if(ret == JalviewFileChooser.APPROVE_OPTION && getSelectedFile().exists() )\r
{\r
int confirm = JOptionPane.showConfirmDialog(parent,\r
private String fullDescription = "full description";\r
private boolean useExtensionsInDescription = true;\r
\r
- public JalviewFileFilter() {\r
- this.filters = new Hashtable();\r
- }\r
-\r
- public JalviewFileFilter(String extension) {\r
- this(extension,null);\r
- }\r
\r
public JalviewFileFilter(String extension, String description) {\r
- this();\r
- if(extension!=null) addExtension(extension);\r
- if(description!=null) setDescription(description);\r
+\r
+ StringTokenizer st = new StringTokenizer(extension, ",");\r
+ while(st.hasMoreElements())\r
+ {\r
+ addExtension(st.nextToken().trim());\r
+ }\r
+ setDescription(description);\r
}\r
\r
public JalviewFileFilter(String[] filts) {\r
this(filts, null);\r
}\r
\r
+ public String getAcceptableExtension()\r
+ {\r
+ return filters.keys().nextElement().toString();\r
+ }\r
+\r
public JalviewFileFilter(String[] filts, String description) {\r
- this();\r
for (int i = 0; i < filts.length; i++) {\r
// add filters one by one\r
addExtension(filts[i]);\r