X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Farchaeopteryx%2FMainFrame.java;h=e89f978aa4b144e2189e6b9a4b50c843d4c2a48e;hb=aaac4312b5a1356278bad15c79d0e97de8823c72;hp=8bbedf1e28edbeaae8c000de4aaab55eb242038f;hpb=6ebad4e2283f33540c6ed4a9b1c8efc839d62637;p=jalview.git diff --git a/forester/java/src/org/forester/archaeopteryx/MainFrame.java b/forester/java/src/org/forester/archaeopteryx/MainFrame.java index 8bbedf1..e89f978 100644 --- a/forester/java/src/org/forester/archaeopteryx/MainFrame.java +++ b/forester/java/src/org/forester/archaeopteryx/MainFrame.java @@ -165,8 +165,8 @@ public abstract class MainFrame extends JFrame implements ActionListener { JMenuItem _annotate_item; JMenuItem _remove_branch_color_item; JMenuItem _remove_visual_styles_item; - JMenuItem _deleted_selected_nodes_item; - JMenuItem _deleted_not_selected_nodes_item; + JMenuItem _delete_selected_nodes_item; + JMenuItem _delete_not_selected_nodes_item; // font size menu: JMenuItem _super_tiny_fonts_item; JMenuItem _tiny_fonts_item; @@ -325,13 +325,13 @@ public abstract class MainFrame extends JFrame implements ActionListener { } midpointRoot(); } - else if ( o == _deleted_selected_nodes_item ) { + else if ( o == _delete_selected_nodes_item ) { if ( isSubtreeDisplayed() ) { return; } deleteSelectedNodes( true ); } - else if ( o == _deleted_not_selected_nodes_item ) { + else if ( o == _delete_not_selected_nodes_item ) { if ( isSubtreeDisplayed() ) { return; } @@ -548,10 +548,16 @@ public abstract class MainFrame extends JFrame implements ActionListener { if ( phy == null || phy.getNumberOfExternalNodes() < 2 ) { return; } - List nodes = null; + List nodes = new ArrayList(); if ( ( getCurrentTreePanel().getFoundNodes0() != null ) || ( getCurrentTreePanel().getFoundNodes1() != null ) ) { - nodes = getCurrentTreePanel().getFoundNodesAsListOfPhylogenyNodes(); + final List all_selected_nodes = getCurrentTreePanel().getFoundNodesAsListOfPhylogenyNodes(); + for( final PhylogenyNode n : all_selected_nodes ) { + if ( n.isExternal() ) { + nodes.add( n ); + } + } } + String function = "Retain"; if ( delete ) { function = "Delete"; @@ -570,7 +576,6 @@ public abstract class MainFrame extends JFrame implements ActionListener { if ( delete ) { res = ext - todo; } - if ( res < 1 ) { JOptionPane.showMessageDialog( this, "Cannot delete all nodes", @@ -578,9 +583,9 @@ public abstract class MainFrame extends JFrame implements ActionListener { JOptionPane.ERROR_MESSAGE ); return; } - final int result = JOptionPane.showConfirmDialog( null, "OK to " + function.toLowerCase() + " " + todo + final int result = JOptionPane.showConfirmDialog( null, function + " " + todo + " external node(s), from a total of " + ext + " external nodes," + "\nresulting in tree with " + res - + " nodes", function + " external nodes", JOptionPane.OK_CANCEL_OPTION ); + + " nodes?", function + " external nodes", JOptionPane.OK_CANCEL_OPTION ); if ( result == JOptionPane.OK_OPTION ) { if ( !delete ) { final List to_delete = new ArrayList();