X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FPopupMenu.java;fp=src%2Fjalview%2Fgui%2FPopupMenu.java;h=310266e9a4c214eeb90cd42133c8e8b74dc73ae4;hb=06ce849ffedc7ab10a3c54cda96b9a7dec58c136;hp=ac2fbc2d27d5bc1b55ce6b2ac056cc5105d699bc;hpb=ca0a70b02a67f842a195319414d241ffa336656b;p=jalview.git diff --git a/src/jalview/gui/PopupMenu.java b/src/jalview/gui/PopupMenu.java index ac2fbc2..310266e 100644 --- a/src/jalview/gui/PopupMenu.java +++ b/src/jalview/gui/PopupMenu.java @@ -87,8 +87,12 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener protected JCheckBoxMenuItem abovePIDColour = new JCheckBoxMenuItem(); + protected JMenuItem modifyPID = new JMenuItem(); + protected JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem(); + protected JMenuItem modifyConservation = new JMenuItem(); + AlignmentPanel ap; JMenu sequenceMenu = new JMenu(); @@ -434,6 +438,8 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener abovePIDColour.setSelected(true); } } + modifyConservation.setEnabled(conservationMenuItem.isSelected()); + modifyPID.setEnabled(abovePIDColour.isSelected()); displayNonconserved.setSelected(sg.getShowNonconserved()); showText.setSelected(sg.getDisplayText()); showColourText.setSelected(sg.getColourText()); @@ -557,8 +563,6 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener } - - /** * Add annotation types to 'Show annotations' and/or 'Hide annotations' menus. * "All" is added first, followed by a separator. Then add any annotation @@ -982,6 +986,7 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener sequenceSelectionDetails_actionPerformed(); } }); + unGroupMenuItem .setText(MessageManager.getString("action.remove_group")); unGroupMenuItem.addActionListener(new ActionListener() @@ -1231,7 +1236,7 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener jMenu1.add(outline); jMenu1.add(displayNonconserved); } - + /** * Constructs the entries for the colour menu */ @@ -1247,6 +1252,7 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener textColour_actionPerformed(); } }); + abovePIDColour.setText(MessageManager .getString("label.above_identity_threshold")); abovePIDColour.addActionListener(new ActionListener() @@ -1258,6 +1264,17 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener } }); + modifyPID.setText(MessageManager + .getString("label.modify_identity_threshold")); + modifyPID.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + modifyPID_actionPerformed(); + } + }); + conservationMenuItem.setText(MessageManager .getString("action.by_conservation")); conservationMenuItem.addActionListener(new ActionListener() @@ -1268,6 +1285,17 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener conservationMenuItem_actionPerformed(); } }); + + modifyConservation.setText(MessageManager + .getString("label.modify_conservation_threshold")); + modifyConservation.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + modifyConservation_actionPerformed(); + } + }); } /** @@ -1292,7 +1320,33 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener colourMenu.addSeparator(); colourMenu.add(conservationMenuItem); + colourMenu.add(modifyConservation); colourMenu.add(abovePIDColour); + colourMenu.add(modifyPID); + } + + protected void modifyConservation_actionPerformed() + { + SequenceGroup sg = getGroup(); + if (sg.cs != null) + { + SliderPanel.setConservationSlider(ap, sg.cs, sg.getName()); + SliderPanel.showConservationSlider(); + } + } + + protected void modifyPID_actionPerformed() + { + SequenceGroup sg = getGroup(); + if (sg.cs != null) + { + // int threshold = SliderPanel.setPIDSliderSource(ap, sg.cs, getGroup() + // .getName()); + // sg.cs.setThreshold(threshold, ap.av.isIgnoreGapsConsensus()); + SliderPanel.setPIDSliderSource(ap, sg.cs, getGroup() + .getName()); + SliderPanel.showPIDSlider(); + } } /** @@ -1484,7 +1538,8 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener return; } - if (abovePIDColour.isSelected()) + boolean selected = abovePIDColour.isSelected(); + if (selected) { sg.cs.setConsensus(AAFrequency.calculate( sg.getSequences(ap.av.getHiddenRepSequences()), @@ -1501,7 +1556,9 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener // remove PIDColouring { sg.cs.setThreshold(0, ap.av.isIgnoreGapsConsensus()); + SliderPanel.hidePIDSlider(); } + modifyPID.setEnabled(selected); refresh(); } @@ -1532,7 +1589,8 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener return; } - if (conservationMenuItem.isSelected()) + boolean selected = conservationMenuItem.isSelected(); + if (selected) { // JBPNote: Conservation name shouldn't be i18n translated Conservation c = new Conservation("Group", sg.getSequences(ap.av @@ -1551,7 +1609,9 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener // remove ConservationColouring { sg.cs.setConservation(null); + SliderPanel.hideConservationSlider(); } + modifyConservation.setEnabled(selected); refresh(); }