Merge branch 'feature/JAL-3063JAXB' into Jalview-BH/JAL-3026-JAL-3063-JAXB
[jalview.git] / src / jalview / jbgui / GDesktop.java
index 3e3691c..17f36cb 100755 (executable)
@@ -21,6 +21,7 @@
 package jalview.jbgui;
 
 import jalview.api.AlignmentViewPanel;
+import jalview.bin.Jalview;
 import jalview.io.FileFormatException;
 import jalview.util.MessageManager;
 import jalview.util.Platform;
@@ -44,6 +45,23 @@ import javax.swing.JMenuItem;
  */
 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();
@@ -115,6 +133,7 @@ public class GDesktop extends JFrame
    */
   public GDesktop()
   {
+    super();
     try
     {
       jbInit();
@@ -153,13 +172,14 @@ public class GDesktop extends JFrame
     VamsasMenu.setToolTipText(MessageManager
             .getString("label.share_data_vamsas_applications"));
     VamsasStMenu.setText(MessageManager.getString("label.connect_to"));
-    VamsasStMenu.setToolTipText(MessageManager
-            .getString("label.join_existing_vamsas_session"));
-    inputLocalFileMenuItem.setText(MessageManager
-            .getString("label.load_tree_from_file"));
-    inputLocalFileMenuItem.setAccelerator(javax.swing.KeyStroke
-            .getKeyStroke(java.awt.event.KeyEvent.VK_O, Toolkit
-                    .getDefaultToolkit().getMenuShortcutKeyMask(), false));
+    VamsasStMenu.setToolTipText(
+            MessageManager.getString("label.join_existing_vamsas_session"));
+    inputLocalFileMenuItem
+            .setText(MessageManager.getString("label.load_tree_from_file"));
+    inputLocalFileMenuItem.setAccelerator(
+            javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O,
+                    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(),
+                    false));
     inputLocalFileMenuItem
             .addActionListener(new java.awt.event.ActionListener()
             {
@@ -184,8 +204,8 @@ public class GDesktop extends JFrame
         }
       }
     });
-    inputTextboxMenuItem.setText(MessageManager
-            .getString("label.from_textbox"));
+    inputTextboxMenuItem
+            .setText(MessageManager.getString("label.from_textbox"));
     inputTextboxMenuItem
             .addActionListener(new java.awt.event.ActionListener()
             {
@@ -213,8 +233,8 @@ public class GDesktop extends JFrame
         aboutMenuItem_actionPerformed(e);
       }
     });
-    documentationMenuItem.setText(MessageManager
-            .getString("label.documentation"));
+    documentationMenuItem
+            .setText(MessageManager.getString("label.documentation"));
     documentationMenuItem.setAccelerator(javax.swing.KeyStroke
             .getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0, false));
     documentationMenuItem
@@ -223,7 +243,7 @@ public class GDesktop extends JFrame
               @Override
               public void actionPerformed(ActionEvent e)
               {
-                documentationMenuItem_actionPerformed(e);
+                documentationMenuItem_actionPerformed();
               }
             });
     this.getContentPane().setLayout(flowLayout1);
@@ -244,7 +264,16 @@ public class GDesktop extends JFrame
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        saveState_actionPerformed(e);
+        saveState_actionPerformed(true);
+      }
+    });
+    JMenuItem saveAsJaxb = new JMenuItem("Save Project as JAXB");
+    saveAsJaxb.addActionListener(new ActionListener()
+    {
+      @Override
+      public void actionPerformed(ActionEvent e)
+      {
+        saveState_actionPerformed(false);
       }
     });
     loadState.setText(MessageManager.getString("action.load_project"));
@@ -253,12 +282,21 @@ public class GDesktop extends JFrame
       @Override
       public void actionPerformed(ActionEvent e)
       {
-        loadState_actionPerformed(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);
       }
     });
     inputMenu.setText(MessageManager.getString("label.input_alignment"));
-    vamsasStart.setText(MessageManager
-            .getString("label.new_vamsas_session"));
+    vamsasStart
+            .setText(MessageManager.getString("label.new_vamsas_session"));
     vamsasStart.setVisible(false);
     vamsasStart.addActionListener(new ActionListener()
     {
@@ -268,8 +306,8 @@ public class GDesktop extends JFrame
         vamsasStart_actionPerformed(e);
       }
     });
-    vamsasImport.setText(MessageManager
-            .getString("action.load_vamsas_session"));
+    vamsasImport.setText(
+            MessageManager.getString("action.load_vamsas_session"));
     vamsasImport.setVisible(false);
     vamsasImport.addActionListener(new ActionListener()
     {
@@ -279,8 +317,8 @@ public class GDesktop extends JFrame
         vamsasImport_actionPerformed(e);
       }
     });
-    vamsasSave.setText(MessageManager
-            .getString("action.save_vamsas_session"));
+    vamsasSave.setText(
+            MessageManager.getString("action.save_vamsas_session"));
     vamsasSave.setVisible(false);
     vamsasSave.addActionListener(new ActionListener()
     {
@@ -290,8 +328,8 @@ public class GDesktop extends JFrame
         vamsasSave_actionPerformed(e);
       }
     });
-    inputSequence.setText(MessageManager
-            .getString("action.fetch_sequences"));
+    inputSequence
+            .setText(MessageManager.getString("action.fetch_sequences"));
     inputSequence.addActionListener(new ActionListener()
     {
       @Override
@@ -300,8 +338,8 @@ public class GDesktop extends JFrame
         inputSequence_actionPerformed(e);
       }
     });
-    vamsasStop.setText(MessageManager
-            .getString("label.stop_vamsas_session"));
+    vamsasStop
+            .setText(MessageManager.getString("label.stop_vamsas_session"));
     vamsasStop.setVisible(false);
     vamsasStop.addActionListener(new ActionListener()
     {
@@ -320,8 +358,8 @@ public class GDesktop extends JFrame
         closeAll_actionPerformed(e);
       }
     });
-    raiseRelated.setText(MessageManager
-            .getString("action.raise_associated_windows"));
+    raiseRelated.setText(
+            MessageManager.getString("action.raise_associated_windows"));
     raiseRelated.addActionListener(new ActionListener()
     {
       @Override
@@ -330,8 +368,8 @@ public class GDesktop extends JFrame
         raiseRelated_actionPerformed(e);
       }
     });
-    minimizeAssociated.setText(MessageManager
-            .getString("action.minimize_associated_windows"));
+    minimizeAssociated.setText(
+            MessageManager.getString("action.minimize_associated_windows"));
     minimizeAssociated.addActionListener(new ActionListener()
     {
       @Override
@@ -340,8 +378,8 @@ public class GDesktop extends JFrame
         minimizeAssociated_actionPerformed(e);
       }
     });
-    garbageCollect.setText(MessageManager
-            .getString("label.collect_garbage"));
+    garbageCollect
+            .setText(MessageManager.getString("label.collect_garbage"));
     garbageCollect.addActionListener(new ActionListener()
     {
       @Override
@@ -350,8 +388,8 @@ public class GDesktop extends JFrame
         garbageCollect_actionPerformed(e);
       }
     });
-    showMemusage.setText(MessageManager
-            .getString("label.show_memory_usage"));
+    showMemusage
+            .setText(MessageManager.getString("label.show_memory_usage"));
     showMemusage.addActionListener(new ActionListener()
     {
       @Override
@@ -390,10 +428,10 @@ public class GDesktop extends JFrame
       }
     });
     experimentalFeatures = new JCheckBoxMenuItem();
-    experimentalFeatures.setText(MessageManager
-            .getString("label.show_experimental"));
-    experimentalFeatures.setToolTipText(MessageManager
-            .getString("label.show_experimental_tip"));
+    experimentalFeatures
+            .setText(MessageManager.getString("label.show_experimental"));
+    experimentalFeatures.setToolTipText(
+            MessageManager.getString("label.show_experimental_tip"));
     experimentalFeatures.addActionListener(new ActionListener()
     {
       @Override
@@ -421,9 +459,15 @@ public class GDesktop extends JFrame
     desktopMenubar.add(windowMenu);
     FileMenu.add(inputMenu);
     FileMenu.add(inputSequence);
-    FileMenu.addSeparator();
-    FileMenu.add(saveState);
-    FileMenu.add(loadState);
+    if (!Jalview.isJS())
+    {
+      FileMenu.addSeparator();
+      FileMenu.add(saveState);
+      FileMenu.add(loadState);
+    }
+
+    FileMenu.add(saveAsJaxb);
+    FileMenu.add(loadAsJaxb);
     FileMenu.addSeparator();
     FileMenu.add(quit);
     HelpMenu.add(aboutMenuItem);
@@ -435,11 +479,17 @@ public class GDesktop extends JFrame
     VamsasMenu.add(vamsasSave);
     VamsasMenu.add(vamsasStop);
     toolsMenu.add(preferences);
-    toolsMenu.add(showMemusage);
-    toolsMenu.add(showConsole);
-    toolsMenu.add(showNews);
-    toolsMenu.add(garbageCollect);
-    toolsMenu.add(groovyShell);
+    if (!Jalview.isJS())
+    {
+      toolsMenu.add(showMemusage);
+      toolsMenu.add(showConsole);
+    }
+    if (!Jalview.isJS())
+    {
+      toolsMenu.add(showNews);
+      toolsMenu.add(garbageCollect);
+      toolsMenu.add(groovyShell);
+    }
     toolsMenu.add(experimentalFeatures);
     // toolsMenu.add(snapShotWindow);
     inputMenu.add(inputLocalFileMenuItem);
@@ -527,7 +577,8 @@ public class GDesktop extends JFrame
    * @param e
    *          DOCUMENT ME!
    */
-  protected void inputTextboxMenuItem_actionPerformed(AlignmentViewPanel avp)
+  protected void inputTextboxMenuItem_actionPerformed(
+          AlignmentViewPanel avp)
   {
   }
 
@@ -548,13 +599,7 @@ public class GDesktop extends JFrame
   {
   }
 
-  /**
-   * DOCUMENT ME!
-   * 
-   * @param e
-   *          DOCUMENT ME!
-   */
-  protected void documentationMenuItem_actionPerformed(ActionEvent e)
+  protected void documentationMenuItem_actionPerformed()
   {
   }
 
@@ -584,7 +629,7 @@ public class GDesktop extends JFrame
    * @param e
    *          DOCUMENT ME!
    */
-  public void saveState_actionPerformed(ActionEvent e)
+  public void saveState_actionPerformed(boolean asCastor)
   {
   }
 
@@ -594,7 +639,7 @@ public class GDesktop extends JFrame
    * @param e
    *          DOCUMENT ME!
    */
-  public void loadState_actionPerformed(ActionEvent e)
+  public void loadState_actionPerformed(boolean asCastor)
   {
   }