boxes, colour text, show text added to groups
authoramwaterhouse <Andrew Waterhouse>
Mon, 23 May 2005 11:23:55 +0000 (11:23 +0000)
committeramwaterhouse <Andrew Waterhouse>
Mon, 23 May 2005 11:23:55 +0000 (11:23 +0000)
src/jalview/appletgui/APopupMenu.java
src/jalview/appletgui/SeqPanel.java
src/jalview/appletgui/SequenceRenderer.java
src/jalview/gui/PopupMenu.java
src/jalview/gui/SequenceRenderer.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
index 27250cd..75f2058 100755 (executable)
@@ -75,7 +75,6 @@ public class SeqPanel extends Panel
       {\r
         if(av.getWrapAlignment())\r
          return;\r
-       System.out.println("here");\r
         if(evt.isShiftDown() || evt.isAltDown() || evt.isControlDown())\r
         {\r
           if(evt.isAltDown() || evt.isControlDown())\r
index a13b643..ea857cb 100755 (executable)
@@ -66,6 +66,8 @@ public class SequenceRenderer
       {\r
         if( currentSequenceGroup.getDisplayBoxes())\r
              getBoxColour(currentSequenceGroup.cs, seq, i);\r
+        else\r
+             resBoxColour = Color.white;\r
       }\r
       else if(av.getShowBoxes())\r
             getBoxColour(av.getGlobalColourScheme(), seq, i);\r
@@ -101,7 +103,6 @@ public class SequenceRenderer
     char s;\r
     // Need to find the sequence position here.\r
 \r
-    graphics.setColor(Color.black);\r
     String sequence  = seq.getSequence();\r
     for (int i = start; i <= end; i++)\r
     {\r
@@ -138,6 +139,8 @@ public class SequenceRenderer
             else\r
               graphics.setColor(resBoxColour);\r
            }\r
+           else\r
+             graphics.setColor(Color.black);\r
         }\r
 \r
           charOffset =  (width - fm.charWidth(s))/2;\r
index 66b29a0..447055a 100755 (executable)
@@ -37,6 +37,10 @@ public class PopupMenu extends JPopupMenu
   JMenuItem pdbMenuItem = new JMenuItem();\r
   JMenuItem outline = new JMenuItem();\r
   JRadioButtonMenuItem nucleotideMenuItem = new JRadioButtonMenuItem();\r
+  JMenu colourMenu = new JMenu();\r
+  JCheckBoxMenuItem showBoxes = new JCheckBoxMenuItem();\r
+  JCheckBoxMenuItem showText = new JCheckBoxMenuItem();\r
+  JCheckBoxMenuItem showColourText = new JCheckBoxMenuItem();\r
 \r
   public PopupMenu(AlignmentPanel ap, Sequence seq)\r
   {\r
@@ -101,6 +105,10 @@ public class PopupMenu extends JPopupMenu
 \r
       if (sg.cs instanceof ConservationColourScheme)\r
         conservationMenuItem.setSelected(true);\r
+\r
+      showText.setSelected(sg.getDisplayText());\r
+      showColourText.setSelected(sg.getColourText());\r
+      showBoxes.setSelected(sg.getDisplayBoxes());\r
     }\r
 \r
     if( !ap.av.alignment.getGroups().contains(sg))\r
@@ -164,36 +172,64 @@ public class PopupMenu extends JPopupMenu
         nucleotideMenuItem_actionPerformed(e);\r
       }\r
     });\r
+    colourMenu.setText("Group Colour");\r
+    showBoxes.setText("Boxes");\r
+    showBoxes.setState(true);\r
+    showBoxes.addActionListener(new ActionListener()\r
+    {\r
+      public void actionPerformed(ActionEvent e)\r
+      {\r
+        showBoxes_actionPerformed(e);\r
+      }\r
+    });\r
+    showText.setText("Text");\r
+    showText.setState(true);\r
+    showText.addActionListener(new ActionListener()\r
+    {\r
+      public void actionPerformed(ActionEvent e)\r
+      {\r
+        showText_actionPerformed(e);\r
+      }\r
+    });\r
+    showColourText.setText("Colour Text");\r
+    showColourText.addActionListener(new ActionListener()\r
+    {\r
+      public void actionPerformed(ActionEvent e)\r
+      {\r
+        showColourText_actionPerformed(e);\r
+      }\r
+    });\r
     add(groupMenu);\r
     add(sequenceMenu);\r
     groupMenu.add(groupName);\r
     groupMenu.addSeparator();\r
     groupMenu.add(unGroupMenuItem);\r
     groupMenu.addSeparator();\r
-    groupMenu.add(outline);\r
+    groupMenu.add(colourMenu);\r
     groupMenu.addSeparator();\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(showBoxes);\r
+    groupMenu.add(showText);\r
+    groupMenu.add(showColourText);\r
     groupMenu.addSeparator();\r
-    groupMenu.add(abovePIDColour);\r
-    groupMenu.add(conservationMenuItem);\r
-\r
+    groupMenu.add(outline);\r
     sequenceMenu.add(sequenceName);\r
     sequenceMenu.add(pdbMenuItem);\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
     noColourmenuItem.setText("None");\r
     noColourmenuItem.addActionListener(new java.awt.event.ActionListener()\r
     {\r
@@ -411,12 +447,16 @@ public class PopupMenu extends JPopupMenu
 \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
@@ -469,10 +509,6 @@ public class PopupMenu extends JPopupMenu
      refresh();\r
   }\r
 \r
-  protected void groupAnnotation_actionPerformed(ActionEvent e)\r
-  {\r
-\r
-  }\r
 \r
   protected void groupName_actionPerformed(ActionEvent e)\r
   {\r
@@ -556,7 +592,6 @@ public class PopupMenu extends JPopupMenu
       EBIFetchClient ebi = new EBIFetchClient();\r
       String[] result = ebi.fetchData("pdb:" + sequence.getPDBId(), null, null);\r
 \r
-      System.out.println("Got "+ sequence.getPDBId() );\r
       PDBfile pdb = new PDBfile(result);\r
 \r
       rotCanvas rc = new rotCanvas(pdb, sequence, ap.av);\r
@@ -579,4 +614,22 @@ public class PopupMenu extends JPopupMenu
     ap.repaint();\r
   }\r
 \r
+  public void showBoxes_actionPerformed(ActionEvent e)\r
+  {\r
+    getGroup().setDisplayBoxes(showBoxes.isSelected());\r
+    refresh();\r
+  }\r
+\r
+  public void showText_actionPerformed(ActionEvent e)\r
+  {\r
+    getGroup().setDisplayText(showText.isSelected());\r
+    refresh();\r
+  }\r
+\r
+  public void showColourText_actionPerformed(ActionEvent e)\r
+  {\r
+    getGroup().setColourText(showColourText.isSelected());\r
+    refresh();\r
+  }\r
+\r
 }\r
index 7aa89eb..b5b4677 100755 (executable)
@@ -67,6 +67,8 @@ public class SequenceRenderer
       {\r
         if( currentSequenceGroup.getDisplayBoxes())\r
              getBoxColour(currentSequenceGroup.cs, seq, i);\r
+        else\r
+             resBoxColour = Color.white;\r
       }\r
       else if(av.getShowBoxes())\r
             getBoxColour(av.getGlobalColourScheme(), seq, i);\r
@@ -102,7 +104,6 @@ public class SequenceRenderer
     char s;\r
     // Need to find the sequence position here.\r
 \r
-    graphics.setColor(Color.black);\r
     String sequence  = seq.getSequence();\r
     for (int i = start; i <= end; i++)\r
     {\r
@@ -139,6 +140,8 @@ public class SequenceRenderer
             else\r
               graphics.setColor(resBoxColour);\r
            }\r
+           else\r
+             graphics.setColor(Color.black);\r
         }\r
 \r
           charOffset =  (width - fm.charWidth(s))/2;\r