Merge branch 'develop' into bug/JAL-1608createGroups
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Wed, 29 Mar 2017 15:36:03 +0000 (16:36 +0100)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Wed, 29 Mar 2017 15:36:03 +0000 (16:36 +0100)
resources/lang/Messages.properties
resources/lang/Messages_es.properties
src/jalview/appletgui/AlignFrame.java
src/jalview/gui/AlignFrame.java
src/jalview/jbgui/GAlignFrame.java

index d6d3034..d567699 100644 (file)
@@ -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
index 6b8761e..b8cf4f9 100644 (file)
@@ -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
index e51131b..65c4fef 100644 (file)
@@ -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);
index ab1ac0e..445e967 100644 (file)
@@ -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<SequenceGroup> groups = viewport.getAlignment().getGroups();
+      createGroup.setEnabled(groups == null || !groups.contains(sg));
+      unGroup.setEnabled(groups != null && groups.contains(sg));
+    }
+  }
 }
 
 class PrintThread extends Thread
index b39f4a8..1302cdd 100755 (executable)
@@ -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).