X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAPopupMenu.java;h=8fd317abaecb80991b8ec175dd4672e741d01f4c;hb=refs%2Fheads%2Ffeatures%2FJAL-2316;hp=4eaa18a7994895f1cbf1be5466c406fe9fcf45ca;hpb=ca0a70b02a67f842a195319414d241ffa336656b;p=jalview.git diff --git a/src/jalview/appletgui/APopupMenu.java b/src/jalview/appletgui/APopupMenu.java index 4eaa18a..8fd317a 100644 --- a/src/jalview/appletgui/APopupMenu.java +++ b/src/jalview/appletgui/APopupMenu.java @@ -39,10 +39,11 @@ import jalview.io.DataSourceType; import jalview.io.FileFormatI; import jalview.io.FileFormats; import jalview.io.SequenceAnnotationReport; +import jalview.renderer.ResidueShader; +import jalview.renderer.ResidueShaderI; import jalview.schemes.Blosum62ColourScheme; import jalview.schemes.BuriedColourScheme; import jalview.schemes.ClustalxColourScheme; -import jalview.schemes.ColourSchemeI; import jalview.schemes.HelixColourScheme; import jalview.schemes.HydrophobicColourScheme; import jalview.schemes.JalviewColourScheme; @@ -111,8 +112,14 @@ public class APopupMenu extends java.awt.PopupMenu implements protected CheckboxMenuItem abovePIDColour = new CheckboxMenuItem(); + MenuItem modifyPID = new MenuItem(); + protected CheckboxMenuItem conservationColour = new CheckboxMenuItem(); + MenuItem modifyConservation = new MenuItem(); + + MenuItem noColourmenuItem = new MenuItem(); + final AlignmentPanel ap; MenuItem unGroupMenuItem = new MenuItem(); @@ -203,7 +210,7 @@ public class APopupMenu extends java.awt.PopupMenu implements Menu menu1 = new Menu(); public APopupMenu(AlignmentPanel apanel, final SequenceI seq, - Vector links) + List links) { // ///////////////////////////////////////////////////////// // If this is activated from the sequence panel, the user may want to @@ -236,6 +243,24 @@ public class APopupMenu extends java.awt.PopupMenu implements SequenceGroup sg = ap.av.getSelectionGroup(); if (sg != null && sg.getSize() > 0) { + if (sg.isNucleotide()) + { + conservationColour.setEnabled(false); + clustalColour.setEnabled(false); + BLOSUM62Colour.setEnabled(false); + zappoColour.setEnabled(false); + taylorColour.setEnabled(false); + hydrophobicityColour.setEnabled(false); + helixColour.setEnabled(false); + strandColour.setEnabled(false); + turnColour.setEnabled(false); + buriedColour.setEnabled(false); + } + else + { + purinePyrimidineColour.setEnabled(false); + nucleotideColour.setEnabled(false); + } editGroupName.setLabel(MessageManager.formatMessage( "label.name_param", new Object[] { sg.getName() })); showText.setState(sg.getDisplayText()); @@ -255,6 +280,8 @@ public class APopupMenu extends java.awt.PopupMenu implements { abovePIDColour.setState(sg.cs.getThreshold() > 0); conservationColour.setState(sg.cs.conservationApplied()); + modifyPID.setEnabled(abovePIDColour.getState()); + modifyConservation.setEnabled(conservationColour.getState()); } } setSelectedColour(sg.cs); @@ -321,20 +348,21 @@ public class APopupMenu extends java.awt.PopupMenu implements * * @param cs */ - protected void setSelectedColour(ColourSchemeI cs) + protected void setSelectedColour(ResidueShaderI cs) { - if (cs == null) + if (cs == null || cs.getColourScheme() == null) { noColour.setState(true); } else { + String name = cs.getColourScheme().getSchemeName(); for (int i = 0; i < colourMenu.getItemCount(); i++) { MenuItem item = colourMenu.getItem(i); if (item instanceof CheckboxMenuItem) { - if (cs.getSchemeName().equals(item.getName())) + if (name.equals(item.getName())) { ((CheckboxMenuItem) item).setState(true); } @@ -557,7 +585,7 @@ public class APopupMenu extends java.awt.PopupMenu implements { BLOSUM62Colour_actionPerformed(); } - else if (source == PIDColour) + else if (evt.getSource() == PIDColour) { PIDColour_actionPerformed(); } @@ -634,6 +662,14 @@ public class APopupMenu extends java.awt.PopupMenu implements { userDefinedColour_actionPerformed(); } + else if (source == modifyConservation) + { + conservationMenuItem_itemStateChanged(); + } + else if (source == modifyPID) + { + abovePIDColour_itemStateChanged(); + } else if (source == unGroupMenuItem) { unGroupMenuItem_actionPerformed(); @@ -899,14 +935,14 @@ public class APopupMenu extends java.awt.PopupMenu implements void addPDB() { Vector pdbs = seq.getAllPDBEntries(); - if (pdbs != null&& !pdbs.isEmpty()) + if (pdbs != null && !pdbs.isEmpty()) { PDBEntry entry = pdbs.firstElement(); if (ap.av.applet.jmolAvailable) { - new jalview.appletgui.AppletJmol(entry, new SequenceI[] { seq }, - null, ap, DataSourceType.URL); + new AppletJmol(entry, new SequenceI[] { seq }, null, ap, + DataSourceType.URL); } else { @@ -922,7 +958,7 @@ public class APopupMenu extends java.awt.PopupMenu implements cap.setPDBImport(seq); Frame frame = new Frame(); frame.add(cap); - jalview.bin.JalviewLite.addFrame(frame, MessageManager.formatMessage( + JalviewLite.addFrame(frame, MessageManager.formatMessage( "label.paste_pdb_file_for_sequence", new Object[] { seq.getName() }), 400, 300); } @@ -942,6 +978,8 @@ public class APopupMenu extends java.awt.PopupMenu implements .getString("action.create_group")); createGroupMenuItem.addActionListener(this); + modifyPID.setEnabled(abovePIDColour.getState()); + modifyConservation.setEnabled(conservationColour.getState()); colourMenu.setLabel(MessageManager.getString("label.group_colour")); showBoxes.setLabel(MessageManager.getString("action.boxes")); showBoxes.setState(true); @@ -997,8 +1035,10 @@ public class APopupMenu extends java.awt.PopupMenu implements colourMenu.add(purinePyrimidineColour); colourMenu.add(userDefinedColour); colourMenu.addSeparator(); - colourMenu.add(abovePIDColour); colourMenu.add(conservationColour); + colourMenu.add(modifyConservation); + colourMenu.add(abovePIDColour); + colourMenu.add(modifyPID); noColour.setLabel(MessageManager.getString("label.none")); noColour.addItemListener(this); @@ -1064,9 +1104,18 @@ public class APopupMenu extends java.awt.PopupMenu implements abovePIDColour.setLabel(MessageManager .getString("label.above_identity_threshold")); abovePIDColour.addItemListener(this); + modifyPID.setLabel(MessageManager + .getString("label.modify_identity_threshold")); + modifyPID.addActionListener(this); conservationColour.setLabel(MessageManager - .getString("label.conservation")); + .getString("action.by_conservation")); conservationColour.addItemListener(this); + modifyConservation.setLabel(MessageManager + .getString("label.modify_conservation_threshold")); + modifyConservation.addActionListener(this); + + PIDColour.addActionListener(this); + BLOSUM62Colour.addActionListener(this); editMenu.add(copy); copy.addActionListener(this); @@ -1116,61 +1165,63 @@ public class APopupMenu extends java.awt.PopupMenu implements protected void clustalColour_actionPerformed() { SequenceGroup sg = getGroup(); - sg.cs = new ClustalxColourScheme(sg, ap.av.getHiddenRepSequences()); + sg.cs = new ResidueShader(new ClustalxColourScheme(sg, + ap.av.getHiddenRepSequences())); refresh(); } protected void zappoColour_actionPerformed() { - getGroup().cs = new ZappoColourScheme(); + getGroup().cs = new ResidueShader(new ZappoColourScheme()); refresh(); } protected void taylorColour_actionPerformed() { - getGroup().cs = new TaylorColourScheme(); + getGroup().cs = new ResidueShader(new TaylorColourScheme()); refresh(); } protected void hydrophobicityColour_actionPerformed() { - getGroup().cs = new HydrophobicColourScheme(); + getGroup().cs = new ResidueShader(new HydrophobicColourScheme()); refresh(); } protected void helixColour_actionPerformed() { - getGroup().cs = new HelixColourScheme(); + getGroup().cs = new ResidueShader(new HelixColourScheme()); refresh(); } protected void strandColour_actionPerformed() { - getGroup().cs = new StrandColourScheme(); + getGroup().cs = new ResidueShader(new StrandColourScheme()); refresh(); } protected void turnColour_actionPerformed() { - getGroup().cs = new TurnColourScheme(); + getGroup().cs = new ResidueShader(new TurnColourScheme()); refresh(); } protected void buriedColour_actionPerformed() { - getGroup().cs = new BuriedColourScheme(); + getGroup().cs = new ResidueShader(new BuriedColourScheme()); refresh(); } public void nucleotideMenuItem_actionPerformed() { - getGroup().cs = new NucleotideColourScheme(); + getGroup().cs = new ResidueShader(new NucleotideColourScheme()); refresh(); } public void purinePyrimidineColour_actionPerformed() { - getGroup().cs = new PurinePyrimidineColourScheme(); + getGroup().cs = new ResidueShader( + new PurinePyrimidineColourScheme()); refresh(); } @@ -1197,11 +1248,11 @@ public class APopupMenu extends java.awt.PopupMenu implements else // remove PIDColouring { + SliderPanel.hidePIDSlider(); sg.cs.setThreshold(0, ap.av.isIgnoreGapsConsensus()); } - + modifyPID.setEnabled(abovePIDColour.getState()); refresh(); - } protected void userDefinedColour_actionPerformed() @@ -1212,7 +1263,7 @@ public class APopupMenu extends java.awt.PopupMenu implements protected void PIDColour_actionPerformed() { SequenceGroup sg = getGroup(); - sg.cs = new PIDColourScheme(); + sg.cs = new ResidueShader(new PIDColourScheme()); sg.cs.setConsensus(AAFrequency.calculate(sg.getSequences(ap.av .getHiddenRepSequences()), 0, ap.av.getAlignment().getWidth())); refresh(); @@ -1222,7 +1273,7 @@ public class APopupMenu extends java.awt.PopupMenu implements { SequenceGroup sg = getGroup(); - sg.cs = new Blosum62ColourScheme(); + sg.cs = new ResidueShader(new Blosum62ColourScheme()); sg.cs.setConsensus(AAFrequency.calculate(sg.getSequences(ap.av .getHiddenRepSequences()), 0, ap.av.getAlignment().getWidth())); @@ -1246,19 +1297,22 @@ public class APopupMenu extends java.awt.PopupMenu implements if (conservationColour.getState()) { - sg.cs.setConservation(Conservation.calculateConservation("Group", sg + Conservation conservation = Conservation.calculateConservation( + "Group", sg .getSequences(ap.av.getHiddenRepSequences()), 0, ap.av .getAlignment().getWidth(), false, ap.av.getConsPercGaps(), - false)); + false); + sg.getGroupColourScheme().setConservation(conservation); SliderPanel.setConservationSlider(ap, sg.cs, sg.getName()); SliderPanel.showConservationSlider(); } else // remove ConservationColouring { + SliderPanel.hideConservationSlider(); sg.cs.setConservation(null); } - + modifyConservation.setEnabled(conservationColour.getState()); refresh(); }