X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Farchaeopteryx%2FMainFrameApplication.java;h=97a7a7a429ec1b0216092870bfc10ae768eeb19e;hb=9bb791edf52887de31d1a49ff9606f85724a09a8;hp=e5195c4ebf7f205db1e430f7ef5853ca98d6f032;hpb=74b46d4227fcc7eedf7c3eeefa521191cf22fa30;p=jalview.git diff --git a/forester/java/src/org/forester/archaeopteryx/MainFrameApplication.java b/forester/java/src/org/forester/archaeopteryx/MainFrameApplication.java index e5195c4..97a7a7a 100644 --- a/forester/java/src/org/forester/archaeopteryx/MainFrameApplication.java +++ b/forester/java/src/org/forester/archaeopteryx/MainFrameApplication.java @@ -57,11 +57,19 @@ import javax.swing.WindowConstants; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.swing.filechooser.FileFilter; +import javax.swing.plaf.synth.SynthLookAndFeel; import org.forester.archaeopteryx.Options.CLADOGRAM_TYPE; import org.forester.archaeopteryx.Options.NODE_LABEL_DIRECTION; import org.forester.archaeopteryx.Options.PHYLOGENY_GRAPHICS_TYPE; import org.forester.archaeopteryx.Util.GraphicsExportType; +import org.forester.archaeopteryx.tools.AncestralTaxonomyInferrer; +import org.forester.archaeopteryx.tools.GoAnnotation; +import org.forester.archaeopteryx.tools.PhyloInferenceDialog; +import org.forester.archaeopteryx.tools.PhylogeneticInferenceOptions; +import org.forester.archaeopteryx.tools.PhylogeneticInferrer; +import org.forester.archaeopteryx.tools.SequenceDataRetriver; +import org.forester.archaeopteryx.tools.TaxonomyDataObtainer; import org.forester.archaeopteryx.webservices.PhylogeniesWebserviceClient; import org.forester.archaeopteryx.webservices.WebservicesManager; import org.forester.io.parsers.FastaParser; @@ -229,25 +237,42 @@ public final class MainFrameApplication extends MainFrame { throw new IllegalArgumentException( "configuration is null" ); } try { - if ( _configuration.isUseNativeUI() ) { - UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() ); + boolean synth_exception = false; + if ( Constants.__SYNTH_LF ) { + try { + final SynthLookAndFeel synth = new SynthLookAndFeel(); + synth.load( MainFrameApplication.class.getResourceAsStream( "/resources/synth_look_and_feel_1.xml" ), + MainFrameApplication.class ); + UIManager.setLookAndFeel( synth ); + } + catch ( Exception ex ) { + synth_exception = true; + ForesterUtil.printWarningMessage( Constants.PRG_NAME, + "could not create synth look and feel: " + + ex.getLocalizedMessage() ); + } } - else { - UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName() ); + if ( !Constants.__SYNTH_LF || synth_exception ) { + if ( _configuration.isUseNativeUI() ) { + UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() ); + } + else { + UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName() ); + } } //UIManager.setLookAndFeel( "com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel" ); } catch ( final UnsupportedLookAndFeelException e ) { - Util.dieWithSystemError( "UnsupportedLookAndFeelException: " + e.toString() ); + Util.dieWithSystemError( "unsupported look and feel: " + e.toString() ); } catch ( final ClassNotFoundException e ) { - Util.dieWithSystemError( "ClassNotFoundException: " + e.toString() ); + Util.dieWithSystemError( "class not found exception: " + e.toString() ); } catch ( final InstantiationException e ) { - Util.dieWithSystemError( "InstantiationException: " + e.toString() ); + Util.dieWithSystemError( "instantiation exception: " + e.toString() ); } catch ( final IllegalAccessException e ) { - Util.dieWithSystemError( "IllegalAccessException: " + e.toString() ); + Util.dieWithSystemError( "illegal access exception: " + e.toString() ); } catch ( final Exception e ) { Util.dieWithSystemError( e.toString() ); @@ -471,6 +496,12 @@ public final class MainFrameApplication extends MainFrame { } obtainDetailedTaxonomicInformation(); } + else if ( o == _obtain_detailed_taxonomic_information_deleting_jmi ) { + if ( isSubtreeDisplayed() ) { + return; + } + obtainDetailedTaxonomicInformationDelete(); + } else if ( o == _obtain_uniprot_seq_information_jmi ) { obtainUniProtSequenceInformation(); } @@ -678,7 +709,7 @@ public final class MainFrameApplication extends MainFrame { @Override public void stateChanged( final ChangeEvent e ) { - MainFrame.setOvPlacementColorChooseMenuItem( _overview_placment_mi, getCurrentTreePanel() ); + MainFrame.setOvPlacementColorChooseMenuItem( _overview_placment_mi, getOptions() ); MainFrame.setTextColorChooseMenuItem( _switch_colors_mi, getCurrentTreePanel() ); MainFrame .setTextMinSupportMenuItem( _choose_minimal_confidence_mi, getOptions(), getCurrentTreePanel() ); @@ -693,6 +724,9 @@ public final class MainFrameApplication extends MainFrame { _uniform_cladograms_rbmi, _ext_node_dependent_cladogram_rbmi, _label_direction_cbmi ); + MainFrame.setCycleNodeFillMenuItem( _cycle_node_fill_mi, getOptions() ); + MainFrame.setCycleNodeShapeMenuItem( _cycle_node_shape_mi, getOptions() ); + MainFrame.setTextNodeSizeMenuItem( _choose_node_size_mi, getOptions() ); } } ); _options_jmenu.add( customizeMenuItemAsLabel( new JMenuItem( DISPLAY_SUBHEADER ), getConfiguration() ) ); @@ -704,7 +738,12 @@ public final class MainFrameApplication extends MainFrame { _radio_group_1.add( _ext_node_dependent_cladogram_rbmi ); _radio_group_1.add( _uniform_cladograms_rbmi ); _radio_group_1.add( _non_lined_up_cladograms_rbmi ); - _options_jmenu.add( _show_node_boxes_cbmi = new JCheckBoxMenuItem( DISPLAY_NODE_BOXES_LABEL ) ); + _options_jmenu.add( _show_default_node_shapes_cbmi = new JCheckBoxMenuItem( DISPLAY_NODE_BOXES_LABEL ) ); + _options_jmenu + .add( _taxonomy_colorize_node_shapes_cbmi = new JCheckBoxMenuItem( MainFrame.TAXONOMY_COLORIZE_NODE_SHAPES_LABEL ) ); + _options_jmenu.add( _cycle_node_shape_mi = new JMenuItem( MainFrame.CYCLE_NODE_SHAPE_LABEL ) ); + _options_jmenu.add( _cycle_node_fill_mi = new JMenuItem( MainFrame.CYCLE_NODE_FILL_LABEL ) ); + _options_jmenu.add( _choose_node_size_mi = new JMenuItem( MainFrame.CHOOSE_NODE_SIZE_LABEL ) ); _options_jmenu.add( _show_scale_cbmi = new JCheckBoxMenuItem( DISPLAY_SCALE_LABEL ) ); _options_jmenu .add( _show_branch_length_values_cbmi = new JCheckBoxMenuItem( DISPLAY_BRANCH_LENGTH_VALUES_LABEL ) ); @@ -755,7 +794,11 @@ public final class MainFrameApplication extends MainFrame { customizeJMenuItem( _print_size_mi ); customizeJMenuItem( _choose_pdf_width_mi ); customizeJMenuItem( _overview_placment_mi ); - customizeCheckBoxMenuItem( _show_node_boxes_cbmi, getOptions().isShowNodeBoxes() ); + customizeCheckBoxMenuItem( _show_default_node_shapes_cbmi, getOptions().isShowDefaultNodeShapes() ); + customizeCheckBoxMenuItem( _taxonomy_colorize_node_shapes_cbmi, getOptions().isTaxonomyColorizeNodeShapes() ); + customizeJMenuItem( _cycle_node_shape_mi ); + customizeJMenuItem( _cycle_node_fill_mi ); + customizeJMenuItem( _choose_node_size_mi ); customizeCheckBoxMenuItem( _color_labels_same_as_parent_branch, getOptions().isColorLabelsSameAsParentBranch() ); customizeCheckBoxMenuItem( _screen_antialias_cbmi, getOptions().isAntialiasScreen() ); customizeCheckBoxMenuItem( _background_gradient_cbmi, getOptions().isBackgroundColorGradient() ); @@ -833,6 +876,11 @@ public final class MainFrameApplication extends MainFrame { _obtain_detailed_taxonomic_information_jmi .setToolTipText( "To add additional taxonomic information (from UniProt Taxonomy)" ); _tools_menu + .add( _obtain_detailed_taxonomic_information_deleting_jmi = new JMenuItem( "Obtain Detailed Taxonomic Information (deletes nodes!)" ) ); + customizeJMenuItem( _obtain_detailed_taxonomic_information_deleting_jmi ); + _obtain_detailed_taxonomic_information_deleting_jmi + .setToolTipText( "To add additional taxonomic information, deletes nodes for which taxonomy cannot found (from UniProt Taxonomy)" ); + _tools_menu .add( _obtain_uniprot_seq_information_jmi = new JMenuItem( "Obtain Sequence Information (from UniProt)" ) ); customizeJMenuItem( _obtain_uniprot_seq_information_jmi ); _obtain_uniprot_seq_information_jmi.setToolTipText( "To add additional sequence information (from UniProt)" ); @@ -1106,9 +1154,9 @@ public final class MainFrameApplication extends MainFrame { if ( ( _mainpanel.getCurrentPhylogeny() == null ) || ( _mainpanel.getCurrentPhylogeny().isEmpty() ) ) { return; } - final MainPanelEdit a = new MainPanelEdit( this, - _mainpanel.getCurrentTreePanel(), - _mainpanel.getCurrentPhylogeny() ); + final GoAnnotation a = new GoAnnotation( this, + _mainpanel.getCurrentTreePanel(), + _mainpanel.getCurrentPhylogeny() ); new Thread( a ).start(); } @@ -1123,10 +1171,10 @@ public final class MainFrameApplication extends MainFrame { JOptionPane.ERROR_MESSAGE ); return; } - final Phylogeny phy = _mainpanel.getCurrentPhylogeny().copy(); final AncestralTaxonomyInferrer inferrer = new AncestralTaxonomyInferrer( this, _mainpanel.getCurrentTreePanel(), - phy ); + _mainpanel.getCurrentPhylogeny() + .copy() ); new Thread( inferrer ).start(); } @@ -1289,7 +1337,7 @@ public final class MainFrameApplication extends MainFrame { } @Override - MainPanel getMainPanel() { + public MainPanel getMainPanel() { return _mainpanel; } @@ -1390,13 +1438,26 @@ public final class MainFrameApplication extends MainFrame { } } + private void obtainDetailedTaxonomicInformationDelete() { + if ( getCurrentTreePanel() != null ) { + final Phylogeny phy = getCurrentTreePanel().getPhylogeny(); + if ( ( phy != null ) && !phy.isEmpty() ) { + final TaxonomyDataObtainer t = new TaxonomyDataObtainer( this, + _mainpanel.getCurrentTreePanel(), + phy.copy(), + true ); + new Thread( t ).start(); + } + } + } + private void obtainUniProtSequenceInformation() { if ( getCurrentTreePanel() != null ) { final Phylogeny phy = getCurrentTreePanel().getPhylogeny(); if ( ( phy != null ) && !phy.isEmpty() ) { - final UniProtSequenceObtainer u = new UniProtSequenceObtainer( this, - _mainpanel.getCurrentTreePanel(), - phy.copy() ); + final SequenceDataRetriver u = new SequenceDataRetriver( this, + _mainpanel.getCurrentTreePanel(), + phy.copy() ); new Thread( u ).start(); } } @@ -1623,7 +1684,7 @@ public final class MainFrameApplication extends MainFrame { try { final NHXParser nhx = new NHXParser(); setSpecialOptionsForNhxParser( nhx ); - phys = Util.readPhylogenies( nhx, file ); + phys = ForesterUtil.readPhylogenies( nhx, file ); nhx_or_nexus = true; } catch ( final Exception e ) { @@ -1635,7 +1696,7 @@ public final class MainFrameApplication extends MainFrame { warnIfNotPhyloXmlValidation( getConfiguration() ); try { final PhyloXmlParser xml_parser = createPhyloXmlParser(); - phys = Util.readPhylogenies( xml_parser, file ); + phys = ForesterUtil.readPhylogenies( xml_parser, file ); } catch ( final Exception e ) { exception = true; @@ -1644,7 +1705,7 @@ public final class MainFrameApplication extends MainFrame { } else if ( _open_filechooser.getFileFilter() == MainFrameApplication.tolfilter ) { try { - phys = Util.readPhylogenies( new TolParser(), file ); + phys = ForesterUtil.readPhylogenies( new TolParser(), file ); } catch ( final Exception e ) { exception = true; @@ -1655,7 +1716,7 @@ public final class MainFrameApplication extends MainFrame { try { final NexusPhylogeniesParser nex = new NexusPhylogeniesParser(); setSpecialOptionsForNexParser( nex ); - phys = Util.readPhylogenies( nex, file ); + phys = ForesterUtil.readPhylogenies( nex, file ); nhx_or_nexus = true; } catch ( final Exception e ) { @@ -1682,7 +1743,7 @@ public final class MainFrameApplication extends MainFrame { else if ( parser instanceof PhyloXmlParser ) { warnIfNotPhyloXmlValidation( getConfiguration() ); } - phys = Util.readPhylogenies( parser, file ); + phys = ForesterUtil.readPhylogenies( parser, file ); } catch ( final Exception e ) { exception = true; @@ -1731,7 +1792,7 @@ public final class MainFrameApplication extends MainFrame { System.gc(); } - void readSeqsFromFile() { + public void readSeqsFromFile() { // Set an initial directory if none set yet final File my_dir = getCurrentDir(); _seqs_filechooser.setMultiSelectionEnabled( false ); @@ -1838,7 +1899,7 @@ public final class MainFrameApplication extends MainFrame { } } - void readMsaFromFile() { + public void readMsaFromFile() { // Set an initial directory if none set yet final File my_dir = getCurrentDir(); _msa_filechooser.setMultiSelectionEnabled( false ); @@ -2037,7 +2098,7 @@ public final class MainFrameApplication extends MainFrame { if ( ( file != null ) && ( result == JFileChooser.APPROVE_OPTION ) ) { if ( _open_filechooser_for_species_tree.getFileFilter() == MainFrameApplication.xmlfilter ) { try { - final Phylogeny[] trees = Util.readPhylogenies( new PhyloXmlParser(), file ); + final Phylogeny[] trees = ForesterUtil.readPhylogenies( new PhyloXmlParser(), file ); t = trees[ 0 ]; } catch ( final Exception e ) { @@ -2047,7 +2108,7 @@ public final class MainFrameApplication extends MainFrame { } else if ( _open_filechooser_for_species_tree.getFileFilter() == MainFrameApplication.tolfilter ) { try { - final Phylogeny[] trees = Util.readPhylogenies( new TolParser(), file ); + final Phylogeny[] trees = ForesterUtil.readPhylogenies( new TolParser(), file ); t = trees[ 0 ]; } catch ( final Exception e ) { @@ -2058,7 +2119,7 @@ public final class MainFrameApplication extends MainFrame { // "*.*": else { try { - final Phylogeny[] trees = Util.readPhylogenies( new PhyloXmlParser(), file ); + final Phylogeny[] trees = ForesterUtil.readPhylogenies( new PhyloXmlParser(), file ); t = trees[ 0 ]; } catch ( final Exception e ) { @@ -2501,7 +2562,7 @@ public final class MainFrameApplication extends MainFrame { return _phylogenetic_inference_options; } - Msa getMsa() { + public Msa getMsa() { return _msa; } @@ -2513,11 +2574,11 @@ public final class MainFrameApplication extends MainFrame { _msa_file = msa_file; } - File getMsaFile() { + public File getMsaFile() { return _msa_file; } - List getSeqs() { + public List getSeqs() { return _seqs; } @@ -2529,7 +2590,7 @@ public final class MainFrameApplication extends MainFrame { _seqs_file = seqs_file; } - File getSeqsFile() { + public File getSeqsFile() { return _seqs_file; } } // MainFrameApplication.