temp push
[jalview.git] / src / jalview / jbgui / GDesktop.java
index 0b0ce1b..9e15eea 100755 (executable)
@@ -38,14 +38,15 @@ import javax.swing.JMenuBar;
 import javax.swing.JMenuItem;
 
 /**
- * DOCUMENT ME!
+ * abstract class super to jalview.gui.Desktop
  * 
- * @author $author$
- * @version $Revision$
  */
-public class GDesktop extends JFrame
+@SuppressWarnings("serial")
+// BH made abstract
+public abstract class GDesktop extends JFrame
 {
-  protected static JMenu windowMenu = new JMenu();
+
+  protected JMenu windowMenu = new JMenu(); // BH 2019.05.07 was static
 
   JMenuBar desktopMenubar = new JMenuBar();
 
@@ -77,20 +78,23 @@ public class GDesktop extends JFrame
 
   JMenuItem saveState = new JMenuItem();
 
+  JMenuItem saveAsState = new JMenuItem();
+
   JMenuItem loadState = new JMenuItem();
 
   JMenu inputMenu = new JMenu();
 
+  // in JalviewJS
   protected JMenuItem vamsasStart = new JMenuItem();
 
   protected JMenuItem vamsasImport = new JMenuItem();
 
   protected JMenuItem vamsasSave = new JMenuItem();
 
-  JMenuItem inputSequence = new JMenuItem();
-
   protected JMenuItem vamsasStop = new JMenuItem();
 
+  JMenuItem inputSequence = new JMenuItem();
+
   JMenuItem closeAll = new JMenuItem();
 
   JMenuItem raiseRelated = new JMenuItem();
@@ -107,7 +111,8 @@ public class GDesktop extends JFrame
 
   protected JCheckBoxMenuItem showConsole = new JCheckBoxMenuItem();
 
-  protected JCheckBoxMenuItem showNews = new JCheckBoxMenuItem();
+  // BH public for Runnable
+  public JCheckBoxMenuItem showNews = new JCheckBoxMenuItem();
 
   protected JMenuItem snapShotWindow = new JMenuItem();
 
@@ -116,7 +121,6 @@ public class GDesktop extends JFrame
    */
   public GDesktop()
   {
-    super();
     try
     {
       jbInit();
@@ -126,11 +130,13 @@ public class GDesktop extends JFrame
       e.printStackTrace();
     }
 
-    if (!Platform.isAMac())
+    if (Platform.allowMnemonics()) 
     {
+       //BH was !Platform.isAMacAndNotJS()) i.e. "JS or not Mac"
+       // but here we want just not a Mac, period, right?
       FileMenu.setMnemonic('F');
       inputLocalFileMenuItem.setMnemonic('L');
-      VamsasMenu.setMnemonic('V');
+      VamsasMenu.setMnemonic('V'); 
       inputURLMenuItem.setMnemonic('U');
       inputTextboxMenuItem.setMnemonic('C');
       quit.setMnemonic('Q');
@@ -148,7 +154,7 @@ public class GDesktop extends JFrame
    */
   private void jbInit() throws Exception
   {
-
+    setName(Jalview.getAppID("desktop"));
     FileMenu.setText(MessageManager.getString("action.file"));
     HelpMenu.setText(MessageManager.getString("action.help"));
     VamsasMenu.setText("Vamsas");
@@ -250,6 +256,15 @@ public class GDesktop extends JFrame
         saveState_actionPerformed();
       }
     });
+    saveAsState.setText(MessageManager.getString("action.save_project_as"));
+    saveAsState.addActionListener(new ActionListener()
+    {
+      @Override
+      public void actionPerformed(ActionEvent e)
+      {
+        saveAsState_actionPerformed(e);
+      }
+    });
     loadState.setText(MessageManager.getString("action.load_project"));
     loadState.addActionListener(new ActionListener()
     {
@@ -424,12 +439,10 @@ public class GDesktop extends JFrame
     desktopMenubar.add(windowMenu);
     FileMenu.add(inputMenu);
     FileMenu.add(inputSequence);
-    if (!Jalview.isJS())
-    {
-      FileMenu.addSeparator();
-      FileMenu.add(saveState);
-      FileMenu.add(loadState);
-    }
+    FileMenu.addSeparator();
+    FileMenu.add(saveState);
+    FileMenu.add(saveAsState);
+    FileMenu.add(loadState);
     FileMenu.addSeparator();
     FileMenu.add(quit);
     HelpMenu.add(aboutMenuItem);
@@ -441,12 +454,12 @@ public class GDesktop extends JFrame
     VamsasMenu.add(vamsasSave);
     VamsasMenu.add(vamsasStop);
     toolsMenu.add(preferences);
-    if (!Jalview.isJS())
+    if (!Platform.isJS())
     {
       toolsMenu.add(showMemusage);
       toolsMenu.add(showConsole);
     }
-    if (!Jalview.isJS())
+    if (!Platform.isJS())
     {
       toolsMenu.add(showNews);
       toolsMenu.add(garbageCollect);
@@ -571,7 +584,7 @@ public class GDesktop extends JFrame
    * @param e
    *          DOCUMENT ME!
    */
-  public void SaveState_actionPerformed(ActionEvent e)
+  protected void preferences_actionPerformed(ActionEvent e)
   {
   }
 
@@ -581,18 +594,34 @@ public class GDesktop extends JFrame
    * @param e
    *          DOCUMENT ME!
    */
-  protected void preferences_actionPerformed(ActionEvent e)
+  public void saveState_actionPerformed()
   {
   }
 
-  public void saveState_actionPerformed()
+  public void saveAsState_actionPerformed(ActionEvent e)
   {
   }
 
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
   public void loadState_actionPerformed()
   {
   }
 
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  public void loadJalviewAlign_actionPerformed(ActionEvent e)
+  {
+  }
+
   public void vamsasStart_actionPerformed(ActionEvent e)
   {