X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Farchaeopteryx%2FControlPanel.java;h=b58411ba6bf03d5ab88188fb252f8be71494940d;hb=1b6a5cf268aef95a5b5b7f4bf8ba76f16cd31778;hp=b308854b8d5e59888bdf680f97838f8fa7d3d488;hpb=045ed0731ed1997f6ccf41b2a7688d028ea73a0a;p=jalview.git diff --git a/forester/java/src/org/forester/archaeopteryx/ControlPanel.java b/forester/java/src/org/forester/archaeopteryx/ControlPanel.java index b308854..b58411b 100644 --- a/forester/java/src/org/forester/archaeopteryx/ControlPanel.java +++ b/forester/java/src/org/forester/archaeopteryx/ControlPanel.java @@ -61,9 +61,11 @@ import org.forester.archaeopteryx.Options.CLADOGRAM_TYPE; import org.forester.archaeopteryx.Options.PHYLOGENY_GRAPHICS_TYPE; import org.forester.phylogeny.Phylogeny; import org.forester.phylogeny.PhylogenyMethods; +import org.forester.phylogeny.PhylogenyMethods.DESCENDANT_SORT_PRIORITY; import org.forester.phylogeny.PhylogenyNode; import org.forester.phylogeny.data.Sequence; import org.forester.phylogeny.data.SequenceRelation; +import org.forester.phylogeny.iterators.PhylogenyNodeIterator; import org.forester.util.ForesterUtil; final class ControlPanel extends JPanel implements ActionListener { @@ -124,6 +126,7 @@ final class ControlPanel extends JPanel implements ActionListener { private int _subtree_cb_item; private int _color_subtree_cb_item; private int _open_seq_web_item; + private int _sort_descendents_item; private int _open_tax_web_item; private int _cut_subtree_item; private int _copy_subtree_item; @@ -238,8 +241,23 @@ final class ControlPanel extends JPanel implements ActionListener { showWhole(); } else if ( e.getSource() == _order ) { - tp.getPhylogeny().orderAppearance( _order_of_appearance ); + DESCENDANT_SORT_PRIORITY pri = DESCENDANT_SORT_PRIORITY.TAXONOMY; + if ( ( !isShowTaxonomyScientificNames() && !isShowTaxonomyCode() && !isShowTaxonomyCommonNames() ) ) { + if ( ( isShowSequenceAcc() || isShowGeneNames() || isShowGeneSymbols() ) ) { + pri = DESCENDANT_SORT_PRIORITY.SEQUENCE; + } + else if ( isShowNodeNames() ) { + pri = DESCENDANT_SORT_PRIORITY.NODE_NAME; + } + } + PhylogenyMethods.orderAppearance( tp.getPhylogeny().getRoot(), _order_of_appearance, true, pri ); _order_of_appearance = !_order_of_appearance; + tp.setNodeInPreorderToNull(); + tp.getPhylogeny().externalNodesHaveChanged(); + tp.getPhylogeny().hashIDs(); + tp.getPhylogeny().recalculateNumberOfExternalDescendants( true ); + tp.resetNodeIdToDistToLeafMap(); + tp.setEdited( true ); displayedPhylogenyMightHaveChanged( false ); } else if ( e.getSource() == _uncollapse_all ) { @@ -275,10 +293,10 @@ final class ControlPanel extends JPanel implements ActionListener { tp.requestFocus(); } catch ( final Exception ex ) { - Util.unexpectedException( ex ); + AptxUtil.unexpectedException( ex ); } catch ( final Error err ) { - Util.unexpectedError( err ); + AptxUtil.unexpectedError( err ); } } @@ -330,7 +348,7 @@ final class ControlPanel extends JPanel implements ActionListener { _zoom_in_y.setToolTipText( "To zoom in vertically [Shift+Up]" ); _zoom_out_x.setToolTipText( "To zoom out horizontally [Shift+Left]" ); _zoom_out_y.setToolTipText( "To zoom out vertically [Shift+Down]" ); - if ( getConfiguration().isUseNativeUI() && Util.isMac() ) { + if ( getConfiguration().isUseNativeUI() && AptxUtil.isMac() ) { _zoom_out_x.setPreferredSize( new Dimension( 55, 10 ) ); _zoom_in_x.setPreferredSize( new Dimension( 55, 10 ) ); } @@ -397,11 +415,6 @@ final class ControlPanel extends JPanel implements ActionListener { addJCheckBox( _show_node_names, ch_panel ); add( ch_panel ); break; - case Configuration.show_tax_code: - _show_taxo_code = new JCheckBox( title ); - addJCheckBox( _show_taxo_code, ch_panel ); - add( ch_panel ); - break; case Configuration.show_taxonomy_scientific_names: _show_taxo_scientific_names = new JCheckBox( title ); addJCheckBox( _show_taxo_scientific_names, ch_panel ); @@ -412,6 +425,11 @@ final class ControlPanel extends JPanel implements ActionListener { addJCheckBox( _show_taxo_common_names, ch_panel ); add( ch_panel ); break; + case Configuration.show_tax_code: + _show_taxo_code = new JCheckBox( title ); + addJCheckBox( _show_taxo_code, ch_panel ); + add( ch_panel ); + break; case Configuration.show_taxonomy_images: _show_taxo_images_cb = new JCheckBox( title ); addJCheckBox( _show_taxo_images_cb, ch_panel ); @@ -651,6 +669,10 @@ final class ControlPanel extends JPanel implements ActionListener { return _color_branches_cb; } + public JCheckBox getColorAccSpeciesCb() { + return _color_acc_species; + } + Configuration getConfiguration() { return _configuration; } @@ -806,7 +828,7 @@ final class ControlPanel extends JPanel implements ActionListener { return ( ( _show_binary_characters != null ) && _show_binary_characters.isSelected() ); } - boolean isShowBootstrapValues() { + boolean isShowConfidenceValues() { return ( ( getWriteConfidenceCb() != null ) && getWriteConfidenceCb().isSelected() ); } @@ -996,11 +1018,6 @@ final class ControlPanel extends JPanel implements ActionListener { _show_node_names.setSelected( state ); } break; - case Configuration.show_tax_code: - if ( _show_taxo_code != null ) { - _show_taxo_code.setSelected( state ); - } - break; case Configuration.show_taxonomy_scientific_names: if ( _show_taxo_scientific_names != null ) { _show_taxo_scientific_names.setSelected( state ); @@ -1011,6 +1028,11 @@ final class ControlPanel extends JPanel implements ActionListener { _show_taxo_common_names.setSelected( state ); } break; + case Configuration.show_tax_code: + if ( _show_taxo_code != null ) { + _show_taxo_code.setSelected( state ); + } + break; case Configuration.show_taxonomy_images: if ( _show_taxo_images_cb != null ) { _show_taxo_images_cb.setSelected( state ); @@ -1136,10 +1158,11 @@ final class ControlPanel extends JPanel implements ActionListener { else if ( action == _open_seq_web_item ) { setActionWhenNodeClicked( NodeClickAction.OPEN_SEQ_WEB ); } + else if ( action == _sort_descendents_item ) { + setActionWhenNodeClicked( NodeClickAction.SORT_DESCENDENTS ); + } else if ( action == _blast_item ) { - if ( !Constants.__RELEASE && !Constants.__SNAPSHOT_RELEASE ) { - setActionWhenNodeClicked( NodeClickAction.BLAST ); - } + setActionWhenNodeClicked( NodeClickAction.BLAST ); } else if ( action == _open_tax_web_item ) { setActionWhenNodeClicked( NodeClickAction.OPEN_TAX_WEB ); @@ -1310,6 +1333,15 @@ final class ControlPanel extends JPanel implements ActionListener { } cb_index++; } + if ( _configuration.doDisplayClickToOption( Configuration.sort_descendents ) ) { + _sort_descendents_item = cb_index; + addClickToOption( Configuration.sort_descendents, + _configuration.getClickToTitle( Configuration.sort_descendents ) ); + if ( default_option == Configuration.sort_descendents ) { + selected_index = cb_index; + } + cb_index++; + } if ( _configuration.doDisplayClickToOption( Configuration.color_subtree ) ) { _color_subtree_cb_item = cb_index; addClickToOption( Configuration.color_subtree, _configuration.getClickToTitle( Configuration.color_subtree ) ); @@ -1334,6 +1366,14 @@ final class ControlPanel extends JPanel implements ActionListener { } cb_index++; } + if ( _configuration.doDisplayClickToOption( Configuration.blast ) ) { + _blast_item = cb_index; + addClickToOption( Configuration.blast, _configuration.getClickToTitle( Configuration.blast ) ); + if ( default_option == Configuration.blast ) { + selected_index = cb_index; + } + cb_index++; + } if ( getOptions().isEditable() ) { if ( _configuration.doDisplayClickToOption( Configuration.cut_subtree ) ) { _cut_subtree_item = cb_index; @@ -1388,16 +1428,6 @@ final class ControlPanel extends JPanel implements ActionListener { } cb_index++; } - if ( !Constants.__RELEASE && !Constants.__SNAPSHOT_RELEASE ) { - if ( _configuration.doDisplayClickToOption( Configuration.blast ) ) { - _blast_item = cb_index; - addClickToOption( Configuration.blast, _configuration.getClickToTitle( Configuration.blast ) ); - if ( default_option == Configuration.blast ) { - selected_index = cb_index; - } - cb_index++; - } - } } // Set default selection and its action _click_to_combobox.setSelectedIndex( selected_index ); @@ -1685,7 +1715,8 @@ final class ControlPanel extends JPanel implements ActionListener { if ( _mainpanel.getCurrentScrollPane() == null ) { return; } - displayedPhylogenyMightHaveChanged( false ); + getCurrentTreePanel().updateSetOfCollapsedExternalNodes(); + displayedPhylogenyMightHaveChanged( true ); _mainpanel.getCurrentTreePanel().updateOvSettings(); _mainpanel.getCurrentTreePanel().validate(); _mainpanel.validate(); @@ -1780,8 +1811,15 @@ final class ControlPanel extends JPanel implements ActionListener { void uncollapseAll( final TreePanel tp ) { final Phylogeny t = tp.getPhylogeny(); if ( ( t != null ) && !t.isEmpty() ) { - t.setAllNodesToNotCollapse(); + for( final PhylogenyNodeIterator iter = t.iteratorPreorder(); iter.hasNext(); ) { + final PhylogenyNode node = iter.next(); + node.setCollapse( false ); + } + tp.resetNodeIdToDistToLeafMap(); + tp.updateSetOfCollapsedExternalNodes(); t.recalculateNumberOfExternalDescendants( false ); + tp.setNodeInPreorderToNull(); + t.hashIDs(); showWhole(); } } @@ -1917,6 +1955,7 @@ final class ControlPanel extends JPanel implements ActionListener { PASTE_SUBTREE, ADD_NEW_NODE, EDIT_NODE_DATA, + SORT_DESCENDENTS, BLAST; } }