JAL-3026 Java+JavaScript fix for GD#95
[jalview.git] / src / jalview / jbgui / GAlignFrame.java
index 1cf482d..9fdc47c 100755 (executable)
@@ -196,6 +196,8 @@ public class GAlignFrame extends JInternalFrame
   protected JCheckBoxMenuItem normaliseSequenceLogo = new JCheckBoxMenuItem();
 
   protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
+  
+  protected JMenuItem openFeatureSettings;
 
   private SequenceAnnotationOrder annotationSortOrder;
 
@@ -282,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"));
@@ -1279,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
@@ -1722,7 +1735,13 @@ public class GAlignFrame extends JInternalFrame
     fileMenu.add(exportAnnotations);
     fileMenu.add(loadTreeMenuItem);
     fileMenu.add(associatedData);
-    fileMenu.add(loadVcf);
+    /*
+     * No VCF import in Jalview-JS
+     * @j2sNative
+     */
+    {
+      fileMenu.add(loadVcf);
+    }
     fileMenu.addSeparator();
     fileMenu.add(closeMenuItem);
 
@@ -1868,6 +1887,12 @@ 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()
   {
   }