X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FViewSelectionMenu.java;h=c5433e5b9fed44c7e8fb11c869661deb937e54dc;hb=7384a101e11711490956c31fcff4efb556d21c69;hp=f58a816e03159366d66dbb47464370f84b2dc6c8;hpb=d35615977a165ed5a0710e5f747218d03499cd73;p=jalview.git diff --git a/src/jalview/gui/ViewSelectionMenu.java b/src/jalview/gui/ViewSelectionMenu.java index f58a816..c5433e5 100644 --- a/src/jalview/gui/ViewSelectionMenu.java +++ b/src/jalview/gui/ViewSelectionMenu.java @@ -121,9 +121,10 @@ public class ViewSelectionMenu extends JMenu } if (allviews.length >= 2) { - + // ensure we update menu state to reflect external selection list state + append = append || _selectedviews.size()>1; toggleview = new JCheckBoxMenuItem("Select many views",append); - toggleview.setToolTipText("When selected, toggles whether a particular view is used to colour the alignment."); + toggleview.setToolTipText("When enabled, allows many views to be selected."); toggleview.addItemListener(new ItemListener() { @Override @@ -201,14 +202,19 @@ public class ViewSelectionMenu extends JMenu { if (append) { - if (e.getStateChange() == e.SELECTED) + enabled=false; + // toggle the inclusion state + if (_selectedviews.indexOf(p)==-1) { _selectedviews.add(p); + a.setSelected(true); } else { _selectedviews.remove(p); + a.setSelected(false); } + enabled=true; _handler.itemStateChanged(e); } else