- private void writeAllToFile() {\r
- if ( ( getMainPanel().getTabbedPane() == null ) || ( getMainPanel().getTabbedPane().getTabCount() < 1 ) ) {\r
- return;\r
- }\r
- final File my_dir = getCurrentDir();\r
- if ( my_dir != null ) {\r
- _save_filechooser.setCurrentDirectory( my_dir );\r
- }\r
- _save_filechooser.setSelectedFile( new File( "" ) );\r
- final int result = _save_filechooser.showSaveDialog( _contentpane );\r
- final File file = _save_filechooser.getSelectedFile();\r
- setCurrentDir( _save_filechooser.getCurrentDirectory() );\r
- if ( ( file != null ) && ( result == JFileChooser.APPROVE_OPTION ) ) {\r
- if ( file.exists() ) {\r
- final int i = JOptionPane.showConfirmDialog( this,\r
- file + " already exists. Overwrite?",\r
- "Warning",\r
- JOptionPane.OK_CANCEL_OPTION,\r
- JOptionPane.WARNING_MESSAGE );\r
- if ( i != JOptionPane.OK_OPTION ) {\r
- return;\r
- }\r
- else {\r
- try {\r
- file.delete();\r
- }\r
- catch ( final Exception e ) {\r
- JOptionPane.showMessageDialog( this,\r
- "Failed to delete: " + file,\r
- "Error",\r
- JOptionPane.WARNING_MESSAGE );\r
- }\r
- }\r
- }\r
- final int count = getMainPanel().getTabbedPane().getTabCount();\r
- final List<Phylogeny> trees = new ArrayList<Phylogeny>();\r
- for( int i = 0; i < count; ++i ) {\r
- final Phylogeny phy = getMainPanel().getPhylogeny( i );\r
- if ( ForesterUtil.isEmpty( phy.getName() )\r
- && !ForesterUtil.isEmpty( getMainPanel().getTabbedPane().getTitleAt( i ) ) ) {\r
- phy.setName( getMainPanel().getTabbedPane().getTitleAt( i ) );\r
- }\r
- trees.add( phy );\r
- getMainPanel().getTreePanels().get( i ).setEdited( false );\r
- }\r
- final PhylogenyWriter writer = new PhylogenyWriter();\r
- try {\r
- writer.toPhyloXML( file, trees, 0, ForesterUtil.LINE_SEPARATOR );\r
- }\r
- catch ( final IOException e ) {\r
- JOptionPane.showMessageDialog( this,\r
- "Failed to write to: " + file,\r
- "Error",\r
- JOptionPane.WARNING_MESSAGE );\r
- }\r
- }\r
- }\r