JAL-3026 Java+JavaScript fix for GD#95
[jalview.git] / src / jalview / jbgui / GAlignFrame.java
index 86d0c85..9fdc47c 100755 (executable)
@@ -147,6 +147,8 @@ public class GAlignFrame extends JInternalFrame
 
   protected JMenuItem runGroovy = new JMenuItem();
 
+  protected JMenuItem loadVcf;
+
   protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
 
   protected JCheckBoxMenuItem sortByTree = new JCheckBoxMenuItem();
@@ -194,6 +196,8 @@ public class GAlignFrame extends JInternalFrame
   protected JCheckBoxMenuItem normaliseSequenceLogo = new JCheckBoxMenuItem();
 
   protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
+  
+  protected JMenuItem openFeatureSettings;
 
   private SequenceAnnotationOrder annotationSortOrder;
 
@@ -280,7 +284,17 @@ public class GAlignFrame extends JInternalFrame
     addMenuActionAndAccelerator(keyStroke, closeMenuItem, al);
 
     JMenu editMenu = new JMenu(MessageManager.getString("action.edit"));
-    JMenu viewMenu = new JMenu(MessageManager.getString("action.view"));
+    JMenu viewMenu = new JMenu(MessageManager.getString("action.view")) {
+      
+      public void setPopupMenuVisible(boolean b) {
+        if (b) {
+          System.out.println("openFeatureSettings " + haveAlignmentFeatures());
+          openFeatureSettings.setEnabled(haveAlignmentFeatures());
+        }
+        super.setPopupMenuVisible(b);
+      }
+
+    };
     JMenu annotationsMenu = new JMenu(
             MessageManager.getString("action.annotations"));
     JMenu showMenu = new JMenu(MessageManager.getString("action.show"));
@@ -1277,8 +1291,9 @@ public class GAlignFrame extends JInternalFrame
       }
     });
 
-    JMenuItem openFeatureSettings = new JMenuItem(
+    openFeatureSettings = new JMenuItem(
             MessageManager.getString("action.feature_settings"));
+    openFeatureSettings.setEnabled(false);
     openFeatureSettings.addActionListener(new ActionListener()
     {
       @Override
@@ -1308,6 +1323,16 @@ public class GAlignFrame extends JInternalFrame
         associatedData_actionPerformed(e);
       }
     });
+    loadVcf = new JMenuItem(MessageManager.getString("label.load_vcf_file"));
+    loadVcf.setToolTipText(MessageManager.getString("label.load_vcf"));
+    loadVcf.addActionListener(new ActionListener()
+    {
+      @Override
+      public void actionPerformed(ActionEvent e)
+      {
+        loadVcf_actionPerformed();
+      }
+    });
     autoCalculate.setText(
             MessageManager.getString("label.autocalculate_consensus"));
     autoCalculate.setState(
@@ -1710,6 +1735,13 @@ public class GAlignFrame extends JInternalFrame
     fileMenu.add(exportAnnotations);
     fileMenu.add(loadTreeMenuItem);
     fileMenu.add(associatedData);
+    /*
+     * No VCF import in Jalview-JS
+     * @j2sNative
+     */
+    {
+      fileMenu.add(loadVcf);
+    }
     fileMenu.addSeparator();
     fileMenu.add(closeMenuItem);
 
@@ -1855,6 +1887,16 @@ public class GAlignFrame extends JInternalFrame
     // selectMenu.add(listenToViewSelections);
   }
 
+  protected boolean haveAlignmentFeatures()
+  {
+    // because gAlignFrame is not an abstract class  -- see AlignFrame
+    return false;
+  }
+
+  protected void loadVcf_actionPerformed()
+  {
+  }
+
   /**
    * Constructs the entries on the Colour menu (but does not add them to the
    * menu).