in progress
[jalview.git] / forester / java / src / org / forester / archaeopteryx / MainFrame.java
index 8bbedf1..e89f978 100644 (file)
@@ -165,8 +165,8 @@ public abstract class MainFrame extends JFrame implements ActionListener {
     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
@@ -325,13 +325,13 @@ public abstract class MainFrame extends JFrame implements ActionListener {
             }\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
@@ -548,10 +548,16 @@ public abstract class MainFrame extends JFrame implements ActionListener {
         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
@@ -570,7 +576,6 @@ public abstract class MainFrame extends JFrame implements ActionListener {
         if ( delete ) {\r
             res = ext - todo;\r
         }\r
-        \r
         if ( res < 1 ) {\r
             JOptionPane.showMessageDialog( this,\r
                                            "Cannot delete all nodes",\r
@@ -578,9 +583,9 @@ public abstract class MainFrame extends JFrame implements ActionListener {
                                            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