JAL-3210 Barebones gradle/buildship/eclipse. See README
[jalview.git] / src / jalview / jbgui / GDesktop.java
index 051bac7..cd64e7b 100755 (executable)
 package jalview.jbgui;
 
 import jalview.api.AlignmentViewPanel;
-import jalview.bin.Jalview;
 import jalview.io.FileFormatException;
 import jalview.util.MessageManager;
 import jalview.util.Platform;
 
 import java.awt.FlowLayout;
-import java.awt.Toolkit;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 
@@ -38,14 +36,16 @@ import javax.swing.JMenuBar;
 import javax.swing.JMenuItem;
 
 /**
- * abstract class super to jalview.gui.Desktop
+ * DOCUMENT ME!
  * 
+ * @author $author$
+ * @version $Revision$
  */
 @SuppressWarnings("serial")
-public abstract class GDesktop extends JFrame
+public class GDesktop extends JFrame
 {
 
-  public JMenu windowMenu = new JMenu(); // BH 2019.05.07 was static
+  protected static JMenu windowMenu = new JMenu();
 
   JMenuBar desktopMenubar = new JMenuBar();
 
@@ -109,7 +109,7 @@ public abstract class GDesktop extends JFrame
 
   protected JCheckBoxMenuItem showConsole = new JCheckBoxMenuItem();
 
-  public JCheckBoxMenuItem showNews = new JCheckBoxMenuItem();
+  protected JCheckBoxMenuItem showNews = new JCheckBoxMenuItem();
 
   protected JMenuItem snapShotWindow = new JMenuItem();
 
@@ -118,6 +118,7 @@ public abstract class GDesktop extends JFrame
    */
   public GDesktop()
   {
+    super();
     try
     {
       jbInit();
@@ -151,7 +152,7 @@ public abstract class GDesktop extends JFrame
    */
   private void jbInit() throws Exception
   {
-    setName(Jalview.getAppID("desktop"));
+    setName("jalview-desktop");
     FileMenu.setText(MessageManager.getString("action.file"));
     HelpMenu.setText(MessageManager.getString("action.help"));
     VamsasMenu.setText("Vamsas");
@@ -164,7 +165,7 @@ public abstract class GDesktop extends JFrame
             .setText(MessageManager.getString("label.load_tree_from_file"));
     inputLocalFileMenuItem.setAccelerator(
             javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O,
-                    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(),
+                    jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(),
                     false));
     inputLocalFileMenuItem
             .addActionListener(new java.awt.event.ActionListener()
@@ -428,6 +429,8 @@ public abstract class GDesktop extends JFrame
       }
     });
 
+    Float specversion = Float.parseFloat(System.getProperty("java.specification.version"));
+    
     desktopMenubar.add(FileMenu);
     desktopMenubar.add(toolsMenu);
     VamsasMenu.setVisible(false);
@@ -437,7 +440,7 @@ public abstract class GDesktop extends JFrame
     FileMenu.add(inputMenu);
     FileMenu.add(inputSequence);
     FileMenu.addSeparator();
-    FileMenu.add(saveState);
+    //FileMenu.add(saveState);
     FileMenu.add(saveAsState);
     FileMenu.add(loadState);
     FileMenu.addSeparator();
@@ -450,14 +453,14 @@ public abstract class GDesktop extends JFrame
     VamsasMenu.add(vamsasImport);
     VamsasMenu.add(vamsasSave);
     VamsasMenu.add(vamsasStop);
-    toolsMenu.add(preferences);
-    if (!Platform.isJS())
+    if (!Platform.isMac() || specversion < 11)
     {
-      toolsMenu.add(showMemusage);
-      toolsMenu.add(showConsole);
+      toolsMenu.add(preferences);
     }
     if (!Platform.isJS())
     {
+      toolsMenu.add(showMemusage);
+      toolsMenu.add(showConsole);
       toolsMenu.add(showNews);
       toolsMenu.add(garbageCollect);
       toolsMenu.add(groovyShell);
@@ -559,6 +562,7 @@ public abstract class GDesktop extends JFrame
    */
   protected void quit()
   {
+    //System.out.println("********** GDesktop.quit()");
   }
 
   /**