From: gmungoc Date: Wed, 29 Mar 2017 15:36:03 +0000 (+0100) Subject: Merge branch 'develop' into bug/JAL-1608createGroups X-Git-Tag: Release_2_10_3b1~336^2~2^2~3 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=c437fc72420baf7b045d417fb6cabcebe87987c5;hp=d7fd122bbdef3ab11f43ed6058fe37872d1d368e;p=jalview.git Merge branch 'develop' into bug/JAL-1608createGroups --- diff --git a/resources/lang/Messages.properties b/resources/lang/Messages.properties index d6d3034..d567699 100644 --- a/resources/lang/Messages.properties +++ b/resources/lang/Messages.properties @@ -68,7 +68,6 @@ action.show_gaps = Show Gaps action.show_hidden_markers = Show Hidden Markers action.find = Find action.undefine_groups = Undefine Groups -action.create_groups = Create Groups action.make_groups_selection = Make Groups For Selection action.copy = Copy action.cut = Cut diff --git a/resources/lang/Messages_es.properties b/resources/lang/Messages_es.properties index 6b8761e..b8cf4f9 100644 --- a/resources/lang/Messages_es.properties +++ b/resources/lang/Messages_es.properties @@ -66,7 +66,6 @@ action.show_gaps = Mostrar huecos action.show_hidden_markers = Mostrar marcadores ocultos action.find = Buscar action.undefine_groups = Grupos sin definir -action.create_groups = Crear grupos action.make_groups_selection = Hacer grupos para seleccionar action.copy = Copiar action.cut = Cortar @@ -1288,4 +1287,4 @@ label.edit_sequence_url_link = Editar link de secuencia URL warn.name_cannot_be_duplicate = Los nombres URL definidos por el usuario deben ser únicos y no pueden ser ids de MIRIAM label.invalid_name = Nombre inválido ! label.output_seq_details = Seleccionar Detalles de la secuencia para ver todas -label.urllinks = Enlaces \ No newline at end of file +label.urllinks = Enlaces diff --git a/src/jalview/appletgui/AlignFrame.java b/src/jalview/appletgui/AlignFrame.java index e51131b..65c4fef 100644 --- a/src/jalview/appletgui/AlignFrame.java +++ b/src/jalview/appletgui/AlignFrame.java @@ -90,6 +90,7 @@ import java.awt.Label; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; +import java.awt.MenuShortcut; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -1071,6 +1072,14 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, { delete_actionPerformed(); } + else if (source == createGroup) + { + createGroup_actionPerformed(); + } + else if (source == unGroup) + { + unGroup_actionPerformed(); + } else if (source == grpsFromSelection) { makeGrpsFromSelection_actionPerformed(); @@ -3337,7 +3346,10 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener, .getString("action.make_groups_selection")); grpsFromSelection.addActionListener(this); createGroup.setLabel(MessageManager.getString("action.create_group")); + createGroup.addActionListener(this); unGroup.setLabel(MessageManager.getString("action.remove_group")); + unGroup.addActionListener(this); + annotationColumnSelection.setLabel(MessageManager .getString("action.select_by_annotation")); annotationColumnSelection.addActionListener(this); diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index ab1ac0e..445e967 100644 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -5705,6 +5705,23 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, ColourMenuHelper.setColourSelected(colourMenu, schemeName); } + + /** + * Disable inapplicable items in the Select menu when it is clicked + */ + @Override + protected void configureSelectMenu() + { + createGroup.setEnabled(false); + unGroup.setEnabled(false); + SequenceGroup sg = viewport.getSelectionGroup(); + if (sg != null) + { + List groups = viewport.getAlignment().getGroups(); + createGroup.setEnabled(groups == null || !groups.contains(sg)); + unGroup.setEnabled(groups != null && groups.contains(sg)); + } + } } class PrintThread extends Thread diff --git a/src/jalview/jbgui/GAlignFrame.java b/src/jalview/jbgui/GAlignFrame.java index b39f4a8..1302cdd 100755 --- a/src/jalview/jbgui/GAlignFrame.java +++ b/src/jalview/jbgui/GAlignFrame.java @@ -203,6 +203,10 @@ public class GAlignFrame extends JInternalFrame private SplitContainerI splitFrame; + protected JMenuItem createGroup; + + protected JMenuItem unGroup; + public GAlignFrame() { try @@ -974,8 +978,8 @@ public class GAlignFrame extends JInternalFrame } }); - JMenuItem createGroup = new JMenuItem( - MessageManager.getString("action.create_groups")); + createGroup = new JMenuItem( + MessageManager.getString("action.create_group")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit .getDefaultToolkit().getMenuShortcutKeyMask(), false); al = new ActionListener() @@ -988,7 +992,7 @@ public class GAlignFrame extends JInternalFrame }; addMenuActionAndAccelerator(keyStroke, createGroup, al); - JMenuItem unGroup = new JMenuItem( + unGroup = new JMenuItem( MessageManager.getString("action.remove_group")); keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, Toolkit .getDefaultToolkit().getMenuShortcutKeyMask() @@ -1653,6 +1657,24 @@ public class GAlignFrame extends JInternalFrame formatMenu.setText(MessageManager.getString("action.format")); JMenu selectMenu = new JMenu(MessageManager.getString("action.select")); + selectMenu.addMenuListener(new MenuListener() + { + @Override + public void menuSelected(MenuEvent e) + { + configureSelectMenu(); + } + + @Override + public void menuDeselected(MenuEvent e) + { + } + + @Override + public void menuCanceled(MenuEvent e) + { + } + }); idRightAlign.setText(MessageManager .getString("label.right_align_sequence_id")); idRightAlign.addActionListener(new ActionListener() @@ -1904,6 +1926,12 @@ public class GAlignFrame extends JInternalFrame // selectMenu.add(listenToViewSelections); } + protected void configureSelectMenu() + { + // TODO Auto-generated method stub + + } + /** * Constructs the entries on the Colour menu (but does not add them to the * menu).