JMenuItem _annotate_item;\r
JMenuItem _remove_branch_color_item;\r
JMenuItem _remove_visual_styles_item;\r
- JMenuItem _deleted_selected_nodes_item;\r
- JMenuItem _deleted_not_selected_nodes_item;\r
+ JMenuItem _delete_selected_nodes_item;\r
+ JMenuItem _delete_not_selected_nodes_item;\r
// font size menu:\r
JMenuItem _super_tiny_fonts_item;\r
JMenuItem _tiny_fonts_item;\r
}\r
midpointRoot();\r
}\r
- else if ( o == _deleted_selected_nodes_item ) {\r
+ else if ( o == _delete_selected_nodes_item ) {\r
if ( isSubtreeDisplayed() ) {\r
return;\r
}\r
deleteSelectedNodes( true );\r
}\r
- else if ( o == _deleted_not_selected_nodes_item ) {\r
+ else if ( o == _delete_not_selected_nodes_item ) {\r
if ( isSubtreeDisplayed() ) {\r
return;\r
}\r
if ( phy == null || phy.getNumberOfExternalNodes() < 2 ) {\r
return;\r
}\r
- List<PhylogenyNode> nodes = null;\r
+ List<PhylogenyNode> nodes = new ArrayList<PhylogenyNode>();\r
if ( ( getCurrentTreePanel().getFoundNodes0() != null ) || ( getCurrentTreePanel().getFoundNodes1() != null ) ) {\r
- nodes = getCurrentTreePanel().getFoundNodesAsListOfPhylogenyNodes();\r
+ final List<PhylogenyNode> all_selected_nodes = getCurrentTreePanel().getFoundNodesAsListOfPhylogenyNodes();\r
+ for( final PhylogenyNode n : all_selected_nodes ) {\r
+ if ( n.isExternal() ) {\r
+ nodes.add( n );\r
+ }\r
+ }\r
}\r
+ \r
String function = "Retain";\r
if ( delete ) {\r
function = "Delete";\r
if ( delete ) {\r
res = ext - todo;\r
}\r
- \r
if ( res < 1 ) {\r
JOptionPane.showMessageDialog( this,\r
"Cannot delete all nodes",\r
JOptionPane.ERROR_MESSAGE );\r
return;\r
}\r
- final int result = JOptionPane.showConfirmDialog( null, "OK to " + function.toLowerCase() + " " + todo\r
+ final int result = JOptionPane.showConfirmDialog( null, function + " " + todo\r
+ " external node(s), from a total of " + ext + " external nodes," + "\nresulting in tree with " + res\r
- + " nodes", function + " external nodes", JOptionPane.OK_CANCEL_OPTION );\r
+ + " nodes?", function + " external nodes", JOptionPane.OK_CANCEL_OPTION );\r
if ( result == JOptionPane.OK_OPTION ) {\r
if ( !delete ) {\r
final List<PhylogenyNode> to_delete = new ArrayList<PhylogenyNode>();\r