boxes, colour text, show text added to groups
[jalview.git] / src / jalview / appletgui / APopupMenu.java
index 91b4c58..a932d66 100755 (executable)
@@ -31,6 +31,10 @@ public class APopupMenu extends java.awt.PopupMenu
   Sequence sequence;\r
   MenuItem unGroupMenuItem = new MenuItem();\r
   MenuItem nucleotideMenuItem = new MenuItem();\r
+  Menu colourMenu = new Menu();\r
+  CheckboxMenuItem showBoxes = new CheckboxMenuItem();\r
+  CheckboxMenuItem showText = new CheckboxMenuItem();\r
+  CheckboxMenuItem showColourText = new CheckboxMenuItem();\r
 \r
   public APopupMenu(AlignmentPanel ap, Sequence seq)\r
   {\r
@@ -51,6 +55,12 @@ public class APopupMenu extends java.awt.PopupMenu
 \r
 \r
     SequenceGroup sg = ap.av.getSelectionGroup();\r
+    if(sg!=null)\r
+    {\r
+      showText.setState(sg.getDisplayText());\r
+      showColourText.setState(sg.getColourText());\r
+      showBoxes.setState(sg.getDisplayBoxes());\r
+    }\r
 \r
     if( !ap.av.alignment.getGroups().contains(sg))\r
         groupMenu.remove(unGroupMenuItem);\r
@@ -99,31 +109,59 @@ public class APopupMenu extends java.awt.PopupMenu
         abovePIDColour_itemStateChanged(itemEvent);\r
       }\r
     });\r
+    colourMenu.setLabel("Group Colour");\r
+    showBoxes.setLabel("Boxes");\r
+    showBoxes.setState(true);\r
+    showBoxes.addItemListener(new ItemListener()\r
+    {\r
+      public void itemStateChanged(ItemEvent itemEvent)\r
+      {\r
+        showBoxes_itemStateChanged(itemEvent);\r
+      }\r
+    });\r
+\r
+    showText.setLabel("Text");\r
+    showText.addItemListener(new ItemListener()\r
+    {\r
+      public void itemStateChanged(ItemEvent itemEvent)\r
+      {\r
+        showText_itemStateChanged(itemEvent);\r
+      }\r
+    });\r
+    showColourText.setLabel("Colour Text");\r
+    showColourText.addItemListener(new ItemListener()\r
+    {\r
+      public void itemStateChanged(ItemEvent itemEvent)\r
+      {\r
+        showColourText_itemStateChanged(itemEvent);\r
+      }\r
+    });\r
 \r
     add(groupMenu);\r
     this.add(sequenceMenu);\r
     groupMenu.add(unGroupMenuItem);\r
-    groupMenu.add(noColourmenuItem);\r
-    groupMenu.add(clustalColour);\r
-    groupMenu.add(BLOSUM62Colour);\r
-    groupMenu.add(PIDColour);\r
-\r
-    groupMenu.add(zappoColour);\r
-    groupMenu.add(taylorColour);\r
-    groupMenu.add(hydrophobicityColour);\r
-    groupMenu.add(helixColour);\r
-    groupMenu.add(strandColour);\r
-    groupMenu.add(turnColour);\r
-    groupMenu.add(buriedColour);\r
-    groupMenu.add(nucleotideMenuItem);\r
-\r
-    groupMenu.add(userDefinedColour);\r
-\r
+    groupMenu.add(colourMenu);\r
     groupMenu.addSeparator();\r
-    groupMenu.add(abovePIDColour);\r
-    groupMenu.add(conservationMenuItem);\r
-\r
+    groupMenu.add(showBoxes);\r
+    groupMenu.add(showText);\r
+    groupMenu.add(showColourText);\r
     sequenceMenu.add(sequenceName);\r
+    colourMenu.add(noColourmenuItem);\r
+    colourMenu.add(clustalColour);\r
+    colourMenu.add(BLOSUM62Colour);\r
+    colourMenu.add(PIDColour);\r
+    colourMenu.add(zappoColour);\r
+    colourMenu.add(taylorColour);\r
+    colourMenu.add(hydrophobicityColour);\r
+    colourMenu.add(helixColour);\r
+    colourMenu.add(strandColour);\r
+    colourMenu.add(turnColour);\r
+    colourMenu.add(buriedColour);\r
+    colourMenu.add(nucleotideMenuItem);\r
+    colourMenu.add(userDefinedColour);\r
+    colourMenu.addSeparator();\r
+    colourMenu.add(abovePIDColour);\r
+    colourMenu.add(conservationMenuItem);\r
 \r
     noColourmenuItem.setLabel("None");\r
     noColourmenuItem.addActionListener(new java.awt.event.ActionListener()\r
@@ -328,12 +366,16 @@ public class APopupMenu extends java.awt.PopupMenu
 \r
   protected void userDefinedColour_actionPerformed(ActionEvent e)\r
   {\r
-    UserDefinedColours chooser = new UserDefinedColours( ap, getGroup());\r
+    new UserDefinedColours( ap, getGroup());\r
   }\r
 \r
   protected void PIDColour_actionPerformed(ActionEvent e)\r
   {\r
-\r
+    SequenceGroup sg = getGroup();\r
+    sg.cs = new PIDColourScheme();\r
+    sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0,\r
+                                               ap.av.alignment.getWidth()));\r
+    refresh();\r
   }\r
 \r
   protected void BLOSUM62Colour_actionPerformed(ActionEvent e)\r
@@ -427,4 +469,22 @@ public class APopupMenu extends java.awt.PopupMenu
   }\r
 \r
 \r
+  public void showColourText_itemStateChanged(ItemEvent itemEvent)\r
+  {\r
+    getGroup().setColourText(showColourText.getState());\r
+    refresh();\r
+  }\r
+\r
+  public void showText_itemStateChanged(ItemEvent itemEvent)\r
+  {\r
+    getGroup().setDisplayText(showText.getState());\r
+    refresh();\r
+  }\r
+\r
+  public void showBoxes_itemStateChanged(ItemEvent itemEvent)\r
+  {\r
+    getGroup().setDisplayBoxes(showBoxes.getState());\r
+    refresh();\r
+  }\r
+\r
 }\r