From 6d6d6bc08bca95676a8175c634c03c163fb88684 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Mon, 23 May 2005 11:23:55 +0000 Subject: [PATCH] boxes, colour text, show text added to groups --- src/jalview/appletgui/APopupMenu.java | 102 +++++++++++++++++++------ src/jalview/appletgui/SeqPanel.java | 1 - src/jalview/appletgui/SequenceRenderer.java | 5 +- src/jalview/gui/PopupMenu.java | 107 ++++++++++++++++++++------- src/jalview/gui/SequenceRenderer.java | 5 +- 5 files changed, 169 insertions(+), 51 deletions(-) diff --git a/src/jalview/appletgui/APopupMenu.java b/src/jalview/appletgui/APopupMenu.java index 91b4c58..a932d66 100755 --- a/src/jalview/appletgui/APopupMenu.java +++ b/src/jalview/appletgui/APopupMenu.java @@ -31,6 +31,10 @@ public class APopupMenu extends java.awt.PopupMenu Sequence sequence; MenuItem unGroupMenuItem = new MenuItem(); MenuItem nucleotideMenuItem = new MenuItem(); + Menu colourMenu = new Menu(); + CheckboxMenuItem showBoxes = new CheckboxMenuItem(); + CheckboxMenuItem showText = new CheckboxMenuItem(); + CheckboxMenuItem showColourText = new CheckboxMenuItem(); public APopupMenu(AlignmentPanel ap, Sequence seq) { @@ -51,6 +55,12 @@ public class APopupMenu extends java.awt.PopupMenu SequenceGroup sg = ap.av.getSelectionGroup(); + if(sg!=null) + { + showText.setState(sg.getDisplayText()); + showColourText.setState(sg.getColourText()); + showBoxes.setState(sg.getDisplayBoxes()); + } if( !ap.av.alignment.getGroups().contains(sg)) groupMenu.remove(unGroupMenuItem); @@ -99,31 +109,59 @@ public class APopupMenu extends java.awt.PopupMenu abovePIDColour_itemStateChanged(itemEvent); } }); + colourMenu.setLabel("Group Colour"); + showBoxes.setLabel("Boxes"); + showBoxes.setState(true); + showBoxes.addItemListener(new ItemListener() + { + public void itemStateChanged(ItemEvent itemEvent) + { + showBoxes_itemStateChanged(itemEvent); + } + }); + + showText.setLabel("Text"); + showText.addItemListener(new ItemListener() + { + public void itemStateChanged(ItemEvent itemEvent) + { + showText_itemStateChanged(itemEvent); + } + }); + showColourText.setLabel("Colour Text"); + showColourText.addItemListener(new ItemListener() + { + public void itemStateChanged(ItemEvent itemEvent) + { + showColourText_itemStateChanged(itemEvent); + } + }); add(groupMenu); this.add(sequenceMenu); groupMenu.add(unGroupMenuItem); - groupMenu.add(noColourmenuItem); - groupMenu.add(clustalColour); - groupMenu.add(BLOSUM62Colour); - groupMenu.add(PIDColour); - - groupMenu.add(zappoColour); - groupMenu.add(taylorColour); - groupMenu.add(hydrophobicityColour); - groupMenu.add(helixColour); - groupMenu.add(strandColour); - groupMenu.add(turnColour); - groupMenu.add(buriedColour); - groupMenu.add(nucleotideMenuItem); - - groupMenu.add(userDefinedColour); - + groupMenu.add(colourMenu); groupMenu.addSeparator(); - groupMenu.add(abovePIDColour); - groupMenu.add(conservationMenuItem); - + groupMenu.add(showBoxes); + groupMenu.add(showText); + groupMenu.add(showColourText); sequenceMenu.add(sequenceName); + colourMenu.add(noColourmenuItem); + colourMenu.add(clustalColour); + colourMenu.add(BLOSUM62Colour); + colourMenu.add(PIDColour); + colourMenu.add(zappoColour); + colourMenu.add(taylorColour); + colourMenu.add(hydrophobicityColour); + colourMenu.add(helixColour); + colourMenu.add(strandColour); + colourMenu.add(turnColour); + colourMenu.add(buriedColour); + colourMenu.add(nucleotideMenuItem); + colourMenu.add(userDefinedColour); + colourMenu.addSeparator(); + colourMenu.add(abovePIDColour); + colourMenu.add(conservationMenuItem); noColourmenuItem.setLabel("None"); noColourmenuItem.addActionListener(new java.awt.event.ActionListener() @@ -328,12 +366,16 @@ public class APopupMenu extends java.awt.PopupMenu protected void userDefinedColour_actionPerformed(ActionEvent e) { - UserDefinedColours chooser = new UserDefinedColours( ap, getGroup()); + new UserDefinedColours( ap, getGroup()); } protected void PIDColour_actionPerformed(ActionEvent e) { - + SequenceGroup sg = getGroup(); + sg.cs = new PIDColourScheme(); + sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0, + ap.av.alignment.getWidth())); + refresh(); } protected void BLOSUM62Colour_actionPerformed(ActionEvent e) @@ -427,4 +469,22 @@ public class APopupMenu extends java.awt.PopupMenu } + public void showColourText_itemStateChanged(ItemEvent itemEvent) + { + getGroup().setColourText(showColourText.getState()); + refresh(); + } + + public void showText_itemStateChanged(ItemEvent itemEvent) + { + getGroup().setDisplayText(showText.getState()); + refresh(); + } + + public void showBoxes_itemStateChanged(ItemEvent itemEvent) + { + getGroup().setDisplayBoxes(showBoxes.getState()); + refresh(); + } + } diff --git a/src/jalview/appletgui/SeqPanel.java b/src/jalview/appletgui/SeqPanel.java index 27250cd..75f2058 100755 --- a/src/jalview/appletgui/SeqPanel.java +++ b/src/jalview/appletgui/SeqPanel.java @@ -75,7 +75,6 @@ public class SeqPanel extends Panel { if(av.getWrapAlignment()) return; - System.out.println("here"); if(evt.isShiftDown() || evt.isAltDown() || evt.isControlDown()) { if(evt.isAltDown() || evt.isControlDown()) diff --git a/src/jalview/appletgui/SequenceRenderer.java b/src/jalview/appletgui/SequenceRenderer.java index a13b643..ea857cb 100755 --- a/src/jalview/appletgui/SequenceRenderer.java +++ b/src/jalview/appletgui/SequenceRenderer.java @@ -66,6 +66,8 @@ public class SequenceRenderer { if( currentSequenceGroup.getDisplayBoxes()) getBoxColour(currentSequenceGroup.cs, seq, i); + else + resBoxColour = Color.white; } else if(av.getShowBoxes()) getBoxColour(av.getGlobalColourScheme(), seq, i); @@ -101,7 +103,6 @@ public class SequenceRenderer char s; // Need to find the sequence position here. - graphics.setColor(Color.black); String sequence = seq.getSequence(); for (int i = start; i <= end; i++) { @@ -138,6 +139,8 @@ public class SequenceRenderer else graphics.setColor(resBoxColour); } + else + graphics.setColor(Color.black); } charOffset = (width - fm.charWidth(s))/2; diff --git a/src/jalview/gui/PopupMenu.java b/src/jalview/gui/PopupMenu.java index 66b29a0..447055a 100755 --- a/src/jalview/gui/PopupMenu.java +++ b/src/jalview/gui/PopupMenu.java @@ -37,6 +37,10 @@ public class PopupMenu extends JPopupMenu JMenuItem pdbMenuItem = new JMenuItem(); JMenuItem outline = new JMenuItem(); JRadioButtonMenuItem nucleotideMenuItem = new JRadioButtonMenuItem(); + JMenu colourMenu = new JMenu(); + JCheckBoxMenuItem showBoxes = new JCheckBoxMenuItem(); + JCheckBoxMenuItem showText = new JCheckBoxMenuItem(); + JCheckBoxMenuItem showColourText = new JCheckBoxMenuItem(); public PopupMenu(AlignmentPanel ap, Sequence seq) { @@ -101,6 +105,10 @@ public class PopupMenu extends JPopupMenu if (sg.cs instanceof ConservationColourScheme) conservationMenuItem.setSelected(true); + + showText.setSelected(sg.getDisplayText()); + showColourText.setSelected(sg.getColourText()); + showBoxes.setSelected(sg.getDisplayBoxes()); } if( !ap.av.alignment.getGroups().contains(sg)) @@ -164,36 +172,64 @@ public class PopupMenu extends JPopupMenu nucleotideMenuItem_actionPerformed(e); } }); + colourMenu.setText("Group Colour"); + showBoxes.setText("Boxes"); + showBoxes.setState(true); + showBoxes.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + showBoxes_actionPerformed(e); + } + }); + showText.setText("Text"); + showText.setState(true); + showText.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + showText_actionPerformed(e); + } + }); + showColourText.setText("Colour Text"); + showColourText.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + showColourText_actionPerformed(e); + } + }); add(groupMenu); add(sequenceMenu); groupMenu.add(groupName); groupMenu.addSeparator(); groupMenu.add(unGroupMenuItem); groupMenu.addSeparator(); - groupMenu.add(outline); + groupMenu.add(colourMenu); groupMenu.addSeparator(); - groupMenu.add(noColourmenuItem); - groupMenu.add(clustalColour); - groupMenu.add(BLOSUM62Colour); - groupMenu.add(PIDColour); - - groupMenu.add(zappoColour); - groupMenu.add(taylorColour); - groupMenu.add(hydrophobicityColour); - groupMenu.add(helixColour); - groupMenu.add(strandColour); - groupMenu.add(turnColour); - groupMenu.add(buriedColour); - groupMenu.add(nucleotideMenuItem); - - groupMenu.add(userDefinedColour); - + groupMenu.add(showBoxes); + groupMenu.add(showText); + groupMenu.add(showColourText); groupMenu.addSeparator(); - groupMenu.add(abovePIDColour); - groupMenu.add(conservationMenuItem); - + groupMenu.add(outline); sequenceMenu.add(sequenceName); sequenceMenu.add(pdbMenuItem); + colourMenu.add(noColourmenuItem); + colourMenu.add(clustalColour); + colourMenu.add(BLOSUM62Colour); + colourMenu.add(PIDColour); + colourMenu.add(zappoColour); + colourMenu.add(taylorColour); + colourMenu.add(hydrophobicityColour); + colourMenu.add(helixColour); + colourMenu.add(strandColour); + colourMenu.add(turnColour); + colourMenu.add(buriedColour); + colourMenu.add(nucleotideMenuItem); + colourMenu.add(userDefinedColour); + colourMenu.addSeparator(); + colourMenu.add(abovePIDColour); + colourMenu.add(conservationMenuItem); noColourmenuItem.setText("None"); noColourmenuItem.addActionListener(new java.awt.event.ActionListener() { @@ -411,12 +447,16 @@ public class PopupMenu extends JPopupMenu protected void userDefinedColour_actionPerformed(ActionEvent e) { - UserDefinedColours chooser = new UserDefinedColours( ap, getGroup()); + new UserDefinedColours( ap, getGroup()); } protected void PIDColour_actionPerformed(ActionEvent e) { - + SequenceGroup sg = getGroup(); + sg.cs = new PIDColourScheme(); + sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0, + ap.av.alignment.getWidth())); + refresh(); } protected void BLOSUM62Colour_actionPerformed(ActionEvent e) @@ -469,10 +509,6 @@ public class PopupMenu extends JPopupMenu refresh(); } - protected void groupAnnotation_actionPerformed(ActionEvent e) - { - - } protected void groupName_actionPerformed(ActionEvent e) { @@ -556,7 +592,6 @@ public class PopupMenu extends JPopupMenu EBIFetchClient ebi = new EBIFetchClient(); String[] result = ebi.fetchData("pdb:" + sequence.getPDBId(), null, null); - System.out.println("Got "+ sequence.getPDBId() ); PDBfile pdb = new PDBfile(result); rotCanvas rc = new rotCanvas(pdb, sequence, ap.av); @@ -579,4 +614,22 @@ public class PopupMenu extends JPopupMenu ap.repaint(); } + public void showBoxes_actionPerformed(ActionEvent e) + { + getGroup().setDisplayBoxes(showBoxes.isSelected()); + refresh(); + } + + public void showText_actionPerformed(ActionEvent e) + { + getGroup().setDisplayText(showText.isSelected()); + refresh(); + } + + public void showColourText_actionPerformed(ActionEvent e) + { + getGroup().setColourText(showColourText.isSelected()); + refresh(); + } + } diff --git a/src/jalview/gui/SequenceRenderer.java b/src/jalview/gui/SequenceRenderer.java index 7aa89eb..b5b4677 100755 --- a/src/jalview/gui/SequenceRenderer.java +++ b/src/jalview/gui/SequenceRenderer.java @@ -67,6 +67,8 @@ public class SequenceRenderer { if( currentSequenceGroup.getDisplayBoxes()) getBoxColour(currentSequenceGroup.cs, seq, i); + else + resBoxColour = Color.white; } else if(av.getShowBoxes()) getBoxColour(av.getGlobalColourScheme(), seq, i); @@ -102,7 +104,6 @@ public class SequenceRenderer char s; // Need to find the sequence position here. - graphics.setColor(Color.black); String sequence = seq.getSequence(); for (int i = start; i <= end; i++) { @@ -139,6 +140,8 @@ public class SequenceRenderer else graphics.setColor(resBoxColour); } + else + graphics.setColor(Color.black); } charOffset = (width - fm.charWidth(s))/2; -- 1.7.10.2