X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAPopupMenu.java;h=8fd317abaecb80991b8ec175dd4672e741d01f4c;hb=bdff041b485dae497cfa699bb536e3e79105527b;hp=941052de099e9c6bbf2a81d88fe4b2d9d01a011e;hpb=e23c8a1df90ccbb262f477a1b6c4b49808da80ff;p=jalview.git diff --git a/src/jalview/appletgui/APopupMenu.java b/src/jalview/appletgui/APopupMenu.java index 941052d..8fd317a 100644 --- a/src/jalview/appletgui/APopupMenu.java +++ b/src/jalview/appletgui/APopupMenu.java @@ -36,13 +36,14 @@ import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.io.AppletFormatAdapter; import jalview.io.DataSourceType; -import jalview.io.FileFormat; +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.CollectionColourScheme; -import jalview.schemes.CollectionColourSchemeI; 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 @@ -223,7 +230,7 @@ public class APopupMenu extends java.awt.PopupMenu implements e.printStackTrace(); } - for (String ff : FileFormat.getWritableFormats(true)) + for (String ff : FileFormats.getInstance().getWritableFormats(true)) { MenuItem item = new MenuItem(ff); @@ -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,7 +348,7 @@ public class APopupMenu extends java.awt.PopupMenu implements * * @param cs */ - protected void setSelectedColour(CollectionColourSchemeI cs) + protected void setSelectedColour(ResidueShaderI cs) { if (cs == null || cs.getColourScheme() == null) { @@ -635,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(); @@ -836,7 +871,8 @@ public class APopupMenu extends java.awt.PopupMenu implements // now returns a full copy of sequence data // TODO consider using getSequenceSelection instead here - FileFormat fileFormat = FileFormat.valueOf(e.getActionCommand()); + FileFormatI fileFormat = FileFormats.getInstance().forName( + e.getActionCommand()); cap.setText(new AppletFormatAdapter().formatSequences(fileFormat, ap.av.getShowJVSuffix(), ap, true)); @@ -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,62 +1165,62 @@ public class APopupMenu extends java.awt.PopupMenu implements protected void clustalColour_actionPerformed() { SequenceGroup sg = getGroup(); - sg.cs = new CollectionColourScheme(new ClustalxColourScheme(sg, + sg.cs = new ResidueShader(new ClustalxColourScheme(sg, ap.av.getHiddenRepSequences())); refresh(); } protected void zappoColour_actionPerformed() { - getGroup().cs = new CollectionColourScheme(new ZappoColourScheme()); + getGroup().cs = new ResidueShader(new ZappoColourScheme()); refresh(); } protected void taylorColour_actionPerformed() { - getGroup().cs = new CollectionColourScheme(new TaylorColourScheme()); + getGroup().cs = new ResidueShader(new TaylorColourScheme()); refresh(); } protected void hydrophobicityColour_actionPerformed() { - getGroup().cs = new CollectionColourScheme(new HydrophobicColourScheme()); + getGroup().cs = new ResidueShader(new HydrophobicColourScheme()); refresh(); } protected void helixColour_actionPerformed() { - getGroup().cs = new CollectionColourScheme(new HelixColourScheme()); + getGroup().cs = new ResidueShader(new HelixColourScheme()); refresh(); } protected void strandColour_actionPerformed() { - getGroup().cs = new CollectionColourScheme(new StrandColourScheme()); + getGroup().cs = new ResidueShader(new StrandColourScheme()); refresh(); } protected void turnColour_actionPerformed() { - getGroup().cs = new CollectionColourScheme(new TurnColourScheme()); + getGroup().cs = new ResidueShader(new TurnColourScheme()); refresh(); } protected void buriedColour_actionPerformed() { - getGroup().cs = new CollectionColourScheme(new BuriedColourScheme()); + getGroup().cs = new ResidueShader(new BuriedColourScheme()); refresh(); } public void nucleotideMenuItem_actionPerformed() { - getGroup().cs = new CollectionColourScheme(new NucleotideColourScheme()); + getGroup().cs = new ResidueShader(new NucleotideColourScheme()); refresh(); } public void purinePyrimidineColour_actionPerformed() { - getGroup().cs = new CollectionColourScheme( + getGroup().cs = new ResidueShader( new PurinePyrimidineColourScheme()); refresh(); } @@ -1199,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() @@ -1214,7 +1263,7 @@ public class APopupMenu extends java.awt.PopupMenu implements protected void PIDColour_actionPerformed() { SequenceGroup sg = getGroup(); - sg.cs = new CollectionColourScheme(new PIDColourScheme()); + sg.cs = new ResidueShader(new PIDColourScheme()); sg.cs.setConsensus(AAFrequency.calculate(sg.getSequences(ap.av .getHiddenRepSequences()), 0, ap.av.getAlignment().getWidth())); refresh(); @@ -1224,7 +1273,7 @@ public class APopupMenu extends java.awt.PopupMenu implements { SequenceGroup sg = getGroup(); - sg.cs = new CollectionColourScheme(new Blosum62ColourScheme()); + sg.cs = new ResidueShader(new Blosum62ColourScheme()); sg.cs.setConsensus(AAFrequency.calculate(sg.getSequences(ap.av .getHiddenRepSequences()), 0, ap.av.getAlignment().getWidth())); @@ -1260,9 +1309,10 @@ public class APopupMenu extends java.awt.PopupMenu implements else // remove ConservationColouring { + SliderPanel.hideConservationSlider(); sg.cs.setConservation(null); } - + modifyConservation.setEnabled(conservationColour.getState()); refresh(); }