Add name and mouse listener to new user colour menuitems
authoramwaterhouse <Andrew Waterhouse>
Thu, 18 Aug 2005 15:45:37 +0000 (15:45 +0000)
committeramwaterhouse <Andrew Waterhouse>
Thu, 18 Aug 2005 15:45:37 +0000 (15:45 +0000)
src/jalview/gui/AlignFrame.java

index 2a323ef..88ff3e8 100755 (executable)
@@ -1632,8 +1632,37 @@ public class AlignFrame
 \r
       while (userColours.hasMoreElements())\r
       {\r
-        JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem(userColours.\r
+        final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem(userColours.\r
             nextElement().toString());\r
+        radioItem.setName("USER_DEFINED");\r
+        radioItem.addMouseListener(new MouseAdapter()\r
+            {\r
+              public void mousePressed(MouseEvent evt)\r
+              {\r
+                if(evt.isControlDown() || SwingUtilities.isRightMouseButton(evt))\r
+                {\r
+                  radioItem.removeActionListener(radioItem.getActionListeners()[0]);\r
+\r
+                  int option = JOptionPane.showInternalConfirmDialog(jalview.gui.Desktop.desktop,\r
+                      "Remove from default list?",\r
+                      "Remove user defined colour",\r
+                      JOptionPane.YES_NO_OPTION);\r
+                  if(option == JOptionPane.YES_OPTION)\r
+                  {\r
+                    jalview.gui.UserDefinedColours.removeColourFromDefaults(radioItem.getText());\r
+                    colourMenu.remove(radioItem);\r
+                  }\r
+                  else\r
+                    radioItem.addActionListener(new ActionListener()\r
+                    {\r
+                      public void actionPerformed(ActionEvent evt)\r
+                      {\r
+                        userDefinedColour_actionPerformed(evt);\r
+                      }\r
+                    });\r
+                }\r
+              }\r
+            });\r
         radioItem.addActionListener(new ActionListener()\r
         {\r
           public void actionPerformed(ActionEvent evt)\r
@@ -1641,6 +1670,7 @@ public class AlignFrame
             userDefinedColour_actionPerformed(evt);\r
           }\r
         });\r
+\r
         colourMenu.insert(radioItem, 15);\r
         colours.add(radioItem);\r
       }\r