Toggle case added to popup menu
[jalview.git] / src / jalview / appletgui / APopupMenu.java
index ebf27bb..8f6e49f 100755 (executable)
@@ -58,6 +58,7 @@ public class APopupMenu
   MenuItem cut = new MenuItem("Cut (Jalview Only)");\r
   MenuItem toUpper = new MenuItem("To Upper Case");\r
   MenuItem toLower = new MenuItem("To Lower Case");\r
+  MenuItem toggleCase = new MenuItem("Toggle Case");\r
 \r
   public APopupMenu(AlignmentPanel apanel, final Sequence seq, Vector links)\r
   {\r
@@ -193,28 +194,18 @@ public class APopupMenu
       ap.alignFrame.copy_actionPerformed();\r
     else if(source==cut)\r
       ap.alignFrame.cut_actionPerformed();\r
-    else if(source==toUpper)\r
+    else if(source==toUpper || source==toLower || source==toggleCase)\r
     {\r
       SequenceGroup sg = ap.av.getSelectionGroup();\r
       if (sg != null)\r
       {\r
         for (int g = 0; g < sg.getSize(); g++)\r
         {\r
-          sg.getSequenceAt(g).changeCase(true, sg.getStartRes(),\r
-                                         sg.getEndRes() + 1);\r
-        }\r
-        ap.seqPanel.seqCanvas.repaint();\r
-      }\r
-    }\r
-    else if(source==toLower)\r
-    {\r
-      SequenceGroup sg = ap.av.getSelectionGroup();\r
-      if (sg != null)\r
-      {\r
-        for (int g = 0; g < sg.getSize(); g++)\r
-        {\r
-          sg.getSequenceAt(g).changeCase(false, sg.getStartRes(),\r
-                                         sg.getEndRes() + 1);\r
+          if (source == toggleCase)\r
+            sg.getSequenceAt(g).toggleCase(sg.getStartRes(), sg.getEndRes() + 1);\r
+          else\r
+            sg.getSequenceAt(g).changeCase(source == toUpper, sg.getStartRes(),\r
+                                           sg.getEndRes() + 1);\r
         }\r
         ap.seqPanel.seqCanvas.repaint();\r
       }\r
@@ -317,6 +308,8 @@ public class APopupMenu
     toUpper.addActionListener(this);\r
     editMenu.add(toLower);\r
     toLower.addActionListener(this);\r
+    editMenu.add(toggleCase);\r
+    toggleCase.addActionListener(this);\r
 \r
   }\r
 \r