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
\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
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
\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
}\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
{\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
{\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
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
else\r
graphics.setColor(resBoxColour);\r
}\r
+ else\r
+ graphics.setColor(Color.black);\r
}\r
\r
charOffset = (width - fm.charWidth(s))/2;\r
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
\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
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
\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
refresh();\r
}\r
\r
- protected void groupAnnotation_actionPerformed(ActionEvent e)\r
- {\r
-\r
- }\r
\r
protected void groupName_actionPerformed(ActionEvent e)\r
{\r
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
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
{\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
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
else\r
graphics.setColor(resBoxColour);\r
}\r
+ else\r
+ graphics.setColor(Color.black);\r
}\r
\r
charOffset = (width - fm.charWidth(s))/2;\r