JAL-3210 Barebones gradle/buildship/eclipse. See README
[jalview.git] / src / jalview / jbgui / GDesktop.java
index b301f6e..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;
 
@@ -43,25 +41,10 @@ import javax.swing.JMenuItem;
  * @author $author$
  * @version $Revision$
  */
+@SuppressWarnings("serial")
 public class GDesktop extends JFrame
 {
 
-  public static javax.swing.JTabbedPane createTabbedPane()
-  {
-    // now just always return JTabbedPane
-   return new javax.swing.JTabbedPane();
-//    // BH 2018 coercing jalview.jbgui.swing.JTabbedPane() for now
-//    if (/** @j2sNative false && */
-//    true)
-//    {
-//      // Java
-//      return new javax.swing.JTabbedPane();
-//    }
-//    // JavaScript
-//    return (javax.swing.JTabbedPane) (Object) new jalview.jbgui.swing.JTabbedPane();
-  }
-
-  
   protected static JMenu windowMenu = new JMenu();
 
   JMenuBar desktopMenubar = new JMenuBar();
@@ -94,6 +77,8 @@ public class GDesktop extends JFrame
 
   JMenuItem saveState = new JMenuItem();
 
+  JMenuItem saveAsState = new JMenuItem();
+
   JMenuItem loadState = new JMenuItem();
 
   JMenu inputMenu = new JMenu();
@@ -167,7 +152,7 @@ public class GDesktop extends JFrame
    */
   private void jbInit() throws Exception
   {
-
+    setName("jalview-desktop");
     FileMenu.setText(MessageManager.getString("action.file"));
     HelpMenu.setText(MessageManager.getString("action.help"));
     VamsasMenu.setText("Vamsas");
@@ -180,7 +165,7 @@ public 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()
@@ -266,16 +251,16 @@ public class GDesktop extends JFrame
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        saveState_actionPerformed(true);
+        saveState_actionPerformed();
       }
     });
-    JMenuItem saveAsJaxb = new JMenuItem("Save Project as JAXB");
-    saveAsJaxb.addActionListener(new ActionListener()
+    saveAsState.setText(MessageManager.getString("action.save_project_as"));
+    saveAsState.addActionListener(new ActionListener()
     {
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        saveState_actionPerformed(false);
+        saveAsState_actionPerformed(e);
       }
     });
     loadState.setText(MessageManager.getString("action.load_project"));
@@ -284,16 +269,7 @@ public class GDesktop extends JFrame
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        loadState_actionPerformed(true);
-      }
-    });
-    JMenuItem loadAsJaxb = new JMenuItem("Load Project as JAXB");
-    loadAsJaxb.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        loadState_actionPerformed(false);
+        loadState_actionPerformed();
       }
     });
     inputMenu.setText(MessageManager.getString("label.input_alignment"));
@@ -453,6 +429,8 @@ public class GDesktop extends JFrame
       }
     });
 
+    Float specversion = Float.parseFloat(System.getProperty("java.specification.version"));
+    
     desktopMenubar.add(FileMenu);
     desktopMenubar.add(toolsMenu);
     VamsasMenu.setVisible(false);
@@ -462,13 +440,9 @@ public class GDesktop extends JFrame
     FileMenu.add(inputMenu);
     FileMenu.add(inputSequence);
     FileMenu.addSeparator();
-    FileMenu.add(saveAsJaxb);
-    FileMenu.add(loadAsJaxb);
-    if (!Jalview.isJS()) 
-    {
-      FileMenu.add(saveState);
-      FileMenu.add(loadState);
-    }
+    //FileMenu.add(saveState);
+    FileMenu.add(saveAsState);
+    FileMenu.add(loadState);
     FileMenu.addSeparator();
     FileMenu.add(quit);
     HelpMenu.add(aboutMenuItem);
@@ -479,14 +453,14 @@ public class GDesktop extends JFrame
     VamsasMenu.add(vamsasImport);
     VamsasMenu.add(vamsasSave);
     VamsasMenu.add(vamsasStop);
-    toolsMenu.add(preferences);
-    if (!Jalview.isJS())
+    if (!Platform.isMac() || specversion < 11)
     {
-      toolsMenu.add(showMemusage);
-      toolsMenu.add(showConsole);
+      toolsMenu.add(preferences);
     }
-    if (!Jalview.isJS())
+    if (!Platform.isJS())
     {
+      toolsMenu.add(showMemusage);
+      toolsMenu.add(showConsole);
       toolsMenu.add(showNews);
       toolsMenu.add(garbageCollect);
       toolsMenu.add(groovyShell);
@@ -588,6 +562,7 @@ public class GDesktop extends JFrame
    */
   protected void quit()
   {
+    //System.out.println("********** GDesktop.quit()");
   }
 
   /**
@@ -610,7 +585,7 @@ public class GDesktop extends JFrame
    * @param e
    *          DOCUMENT ME!
    */
-  public void SaveState_actionPerformed(ActionEvent e)
+  protected void preferences_actionPerformed(ActionEvent e)
   {
   }
 
@@ -620,17 +595,11 @@ public class GDesktop extends JFrame
    * @param e
    *          DOCUMENT ME!
    */
-  protected void preferences_actionPerformed(ActionEvent e)
+  public void saveState_actionPerformed()
   {
   }
 
-  /**
-   * DOCUMENT ME!
-   * 
-   * @param e
-   *          DOCUMENT ME!
-   */
-  public void saveState_actionPerformed(boolean asCastor)
+  public void saveAsState_actionPerformed(ActionEvent e)
   {
   }
 
@@ -640,7 +609,7 @@ public class GDesktop extends JFrame
    * @param e
    *          DOCUMENT ME!
    */
-  public void loadState_actionPerformed(boolean asCastor)
+  public void loadState_actionPerformed()
   {
   }