X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAPopupMenu.java;h=cf854b0d797ea6e4004be4902b02a2fb9fb2acc1;hb=b8d09897dacc7b0ad203982b4578e2c1d8929142;hp=91b4c5858c4286cd15f15b95ff3a339f4e7c7162;hpb=46a3f8fdcc475fcccc2caccd44391c3477fe5c2a;p=jalview.git diff --git a/src/jalview/appletgui/APopupMenu.java b/src/jalview/appletgui/APopupMenu.java index 91b4c58..cf854b0 100755 --- a/src/jalview/appletgui/APopupMenu.java +++ b/src/jalview/appletgui/APopupMenu.java @@ -1,12 +1,33 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer + * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + */ + package jalview.appletgui; -import jalview.datamodel.*; -import jalview.analysis.*; -import jalview.schemes.*; import java.awt.*; import java.awt.event.*; -public class APopupMenu extends java.awt.PopupMenu +import jalview.analysis.*; +import jalview.datamodel.*; +import jalview.schemes.*; + +public class APopupMenu + extends java.awt.PopupMenu { Menu groupMenu = new Menu(); protected MenuItem clustalColour = new MenuItem(); @@ -24,13 +45,16 @@ public class APopupMenu extends java.awt.PopupMenu MenuItem noColourmenuItem = new MenuItem(); protected CheckboxMenuItem conservationMenuItem = new CheckboxMenuItem(); - AlignmentPanel ap; Menu sequenceMenu = new Menu(); MenuItem sequenceName = new MenuItem(); 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) { @@ -45,22 +69,36 @@ public class APopupMenu extends java.awt.PopupMenu sequence = seq; try - { jbInit(); } - catch(Exception e) - { e.printStackTrace(); } - + { + jbInit(); + } + catch (Exception e) + { + e.printStackTrace(); + } 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); - - if(seq==null) - remove(sequenceMenu); + if (!ap.av.alignment.getGroups().contains(sg)) + { + groupMenu.remove(unGroupMenuItem); + } + if (seq == null) + { + remove(sequenceMenu); + } } - private void jbInit() throws Exception + + private void jbInit() + throws Exception { groupMenu.setLabel("Group"); groupMenu.setLabel("Define"); @@ -76,7 +114,6 @@ public class APopupMenu extends java.awt.PopupMenu } }); - nucleotideMenuItem.setLabel("Nucleotide"); nucleotideMenuItem.addActionListener(new ActionListener() { @@ -99,31 +136,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() @@ -226,16 +291,20 @@ public class APopupMenu extends java.awt.PopupMenu }); conservationMenuItem.setLabel("Conservation"); - } void refresh() { SequenceGroup sg = getGroup(); - SuperGroup superG = ap.av.alignment.getSuperGroup( sg ); - if( superG !=null) - superG.setSuperGroupProperties( sg ); + if(sg!=null) + { + SuperGroup superG = ap.av.alignment.getSuperGroup(sg); + if (superG != null) + { + superG.setSuperGroupProperties(sg); + } + } ap.seqPanel.seqCanvas.repaint(); } @@ -258,7 +327,6 @@ public class APopupMenu extends java.awt.PopupMenu refresh(); } - protected void hydrophobicityColour_actionPerformed(ActionEvent e) { getGroup().cs = new HydrophobicColourScheme(); @@ -295,8 +363,6 @@ public class APopupMenu extends java.awt.PopupMenu refresh(); } - - protected void abovePIDColour_itemStateChanged(ItemEvent ie) { SequenceGroup sg = getGroup(); @@ -304,15 +370,19 @@ public class APopupMenu extends java.awt.PopupMenu { sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0, ap.av.alignment.getWidth())); - int threshold = SliderPanel.setPIDSliderSource(ap, sg.cs, getGroup().getName()); + int threshold = SliderPanel.setPIDSliderSource(ap, sg.cs, + getGroup().getName()); if (sg.cs instanceof ResidueColourScheme) - ( (ResidueColourScheme)sg. cs).setThreshold(threshold); + { + ( (ResidueColourScheme) sg.cs).setThreshold(threshold); + } else if (sg.cs instanceof ScoreColourScheme) + { ( (ScoreColourScheme) sg.cs).setThreshold(threshold); + } SliderPanel.showPIDSlider(); - } else // remove PIDColouring { @@ -325,15 +395,18 @@ 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) @@ -343,34 +416,32 @@ public class APopupMenu extends java.awt.PopupMenu sg.cs = new Blosum62ColourScheme(); sg.cs.setConsensus(AAFrequency.calculate(sg.sequences, 0, - ap.av.alignment.getWidth())); + ap.av.alignment.getWidth())); refresh(); } - protected void noColourmenuItem_actionPerformed(ActionEvent e) { getGroup().cs = null; refresh(); } - protected void conservationMenuItem_itemStateChanged(ItemEvent ie) + protected void conservationMenuItem_itemStateChanged(ItemEvent ie) { SequenceGroup sg = getGroup(); - if(conservationMenuItem.getState()) + if (conservationMenuItem.getState()) { - Conservation c = new Conservation("Group", - ResidueProperties.propHash, 3, - sg.sequences, 0, - ap.av.alignment.getWidth()); - - c.calculate(); - c.verdict(false, ap.av.ConsPercGaps); - ConservationColourScheme ccs = new ConservationColourScheme(c, sg.cs); + Conservation c = new Conservation("Group", + ResidueProperties.propHash, 3, + sg.sequences, 0, + ap.av.alignment.getWidth()); + c.calculate(); + c.verdict(false, ap.av.ConsPercGaps); + ConservationColourScheme ccs = new ConservationColourScheme(c, sg.cs); sg.cs = ccs; @@ -379,32 +450,31 @@ public class APopupMenu extends java.awt.PopupMenu } else // remove ConservationColouring { - ConservationColourScheme ccs = (ConservationColourScheme)sg.cs; - sg.cs = ccs.cs; + ConservationColourScheme ccs = (ConservationColourScheme) sg.cs; + sg.cs = ccs.cs; } - refresh(); + refresh(); } - protected void analyze_actionPerformed(ActionEvent e) { - CutAndPasteTransfer cap = new CutAndPasteTransfer(false); - Frame frame = new Frame(); - frame.add(cap); - jalview.bin.JalviewLite.addFrame(frame, "Analyze this - ", 400, 300); - SequenceGroup sg = getGroup(); - StringBuffer sb = new StringBuffer(); - - for(int i=0; i