apply version 2.7 copyright
[jalview.git] / src / jalview / jbgui / GDesktop.java
index 70c5c64..d7e8be3 100755 (executable)
@@ -1,20 +1,19 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer
- * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
+ * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ * 
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
  */
 package jalview.jbgui;
 
@@ -25,40 +24,72 @@ import javax.swing.*;
 
 /**
  * DOCUMENT ME!
- *
+ * 
  * @author $author$
  * @version $Revision$
  */
-public class GDesktop
-    extends JFrame
+public class GDesktop extends JFrame
 {
   protected static JMenu windowMenu = new JMenu();
+
   JMenuBar desktopMenubar = new JMenuBar();
+
   JMenu FileMenu = new JMenu();
+
   JMenu HelpMenu = new JMenu();
+
   protected JMenu VamsasMenu = new JMenu();
+
   protected JMenu VamsasStMenu = new JMenu();
+
   JMenuItem inputLocalFileMenuItem = new JMenuItem();
+
   JMenuItem inputURLMenuItem = new JMenuItem();
+
   JMenuItem inputTextboxMenuItem = new JMenuItem();
+
   JMenuItem quit = new JMenuItem();
+
   JMenuItem aboutMenuItem = new JMenuItem();
+
   JMenuItem documentationMenuItem = new JMenuItem();
+
   FlowLayout flowLayout1 = new FlowLayout();
+
   protected JMenu toolsMenu = new JMenu();
+
   JMenuItem preferences = new JMenuItem();
+
   JMenuItem saveState = new JMenuItem();
+
   JMenuItem loadState = new JMenuItem();
+
   JMenu inputMenu = new JMenu();
+
   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 closeAll = new JMenuItem();
+
   JMenuItem raiseRelated = new JMenuItem();
+
   JMenuItem minimizeAssociated = new JMenuItem();
 
+  protected JCheckBoxMenuItem showMemusage = new JCheckBoxMenuItem();
+
+  JMenuItem garbageCollect = new JMenuItem();
+
+  protected JCheckBoxMenuItem showConsole = new JCheckBoxMenuItem();
+
+  protected JCheckBoxMenuItem showNews = new JCheckBoxMenuItem();
+
   /**
    * Creates a new GDesktop object.
    */
@@ -68,13 +99,12 @@ public class GDesktop
     {
       jbInit();
       this.setJMenuBar(desktopMenubar);
-    }
-    catch (Exception e)
+    } catch (Exception e)
     {
       e.printStackTrace();
     }
 
-    if (!System.getProperty("os.name").startsWith("Mac"))
+    if (!new jalview.util.Platform().isAMac())
     {
       FileMenu.setMnemonic('F');
       inputLocalFileMenuItem.setMnemonic('L');
@@ -90,11 +120,11 @@ public class GDesktop
 
   /**
    * DOCUMENT ME!
-   *
-   * @throws Exception DOCUMENT ME!
+   * 
+   * @throws Exception
+   *           DOCUMENT ME!
    */
-  private void jbInit()
-      throws Exception
+  private void jbInit() throws Exception
   {
     FileMenu.setText("File");
     HelpMenu.setText("Help");
@@ -103,16 +133,17 @@ public class GDesktop
     VamsasStMenu.setText("Connect to");
     VamsasStMenu.setToolTipText("Join an existing vamsas session");
     inputLocalFileMenuItem.setText("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()
-    {
-      public void actionPerformed(ActionEvent e)
-      {
-        inputLocalFileMenuItem_actionPerformed(null);
-      }
-    });
+    inputLocalFileMenuItem.setAccelerator(javax.swing.KeyStroke
+            .getKeyStroke(java.awt.event.KeyEvent.VK_O, Toolkit
+                    .getDefaultToolkit().getMenuShortcutKeyMask(), false));
+    inputLocalFileMenuItem
+            .addActionListener(new java.awt.event.ActionListener()
+            {
+              public void actionPerformed(ActionEvent e)
+              {
+                inputLocalFileMenuItem_actionPerformed(null);
+              }
+            });
     inputURLMenuItem.setText("from URL");
     inputURLMenuItem.addActionListener(new java.awt.event.ActionListener()
     {
@@ -122,13 +153,14 @@ public class GDesktop
       }
     });
     inputTextboxMenuItem.setText("from Textbox");
-    inputTextboxMenuItem.addActionListener(new java.awt.event.ActionListener()
-    {
-      public void actionPerformed(ActionEvent e)
-      {
-        inputTextboxMenuItem_actionPerformed(null);
-      }
-    });
+    inputTextboxMenuItem
+            .addActionListener(new java.awt.event.ActionListener()
+            {
+              public void actionPerformed(ActionEvent e)
+              {
+                inputTextboxMenuItem_actionPerformed(null);
+              }
+            });
     quit.setText("Quit");
     quit.addActionListener(new java.awt.event.ActionListener()
     {
@@ -146,15 +178,16 @@ public class GDesktop
       }
     });
     documentationMenuItem.setText("Documentation");
-    documentationMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
-        java.awt.event.KeyEvent.VK_F1, 0, false));
-    documentationMenuItem.addActionListener(new java.awt.event.ActionListener()
-    {
-      public void actionPerformed(ActionEvent e)
-      {
-        documentationMenuItem_actionPerformed(e);
-      }
-    });
+    documentationMenuItem.setAccelerator(javax.swing.KeyStroke
+            .getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0, false));
+    documentationMenuItem
+            .addActionListener(new java.awt.event.ActionListener()
+            {
+              public void actionPerformed(ActionEvent e)
+              {
+                documentationMenuItem_actionPerformed(e);
+              }
+            });
     this.getContentPane().setLayout(flowLayout1);
     windowMenu.setText("Window");
     preferences.setText("Preferences...");
@@ -251,6 +284,38 @@ public class GDesktop
         minimizeAssociated_actionPerformed(e);
       }
     });
+    garbageCollect.setText("Collect Garbage");
+    garbageCollect.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        garbageCollect_actionPerformed(e);
+      }
+    });
+    showMemusage.setText("Show Memory Usage");
+    showMemusage.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        showMemusage_actionPerformed(e);
+      }
+    });
+    showConsole.setText("Show Java Console");
+    showConsole.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        showConsole_actionPerformed(e);
+      }
+    });
+    showNews.setText("Show Jalview News");
+    showNews.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        showNews_actionPerformed(e);
+      }
+    });
     desktopMenubar.add(FileMenu);
     desktopMenubar.add(toolsMenu);
     VamsasMenu.setVisible(false);
@@ -273,6 +338,10 @@ public class GDesktop
     VamsasMenu.add(vamsasSave);
     VamsasMenu.add(vamsasStop);
     toolsMenu.add(preferences);
+    toolsMenu.add(showMemusage);
+    toolsMenu.add(showConsole);
+    toolsMenu.add(showNews);
+    toolsMenu.add(garbageCollect);
     inputMenu.add(inputLocalFileMenuItem);
     inputMenu.add(inputURLMenuItem);
     inputMenu.add(inputTextboxMenuItem);
@@ -280,7 +349,29 @@ public class GDesktop
     windowMenu.add(raiseRelated);
     windowMenu.add(minimizeAssociated);
     windowMenu.addSeparator();
-    //    inputMenu.add(vamsasLoad);
+    // inputMenu.add(vamsasLoad);
+  }
+
+  protected void showConsole_actionPerformed(ActionEvent e)
+  {
+    // TODO Auto-generated method stub
+
+  }
+  protected void showNews_actionPerformed(ActionEvent e)
+  {
+    // TODO Auto-generated method stub
+
+  }
+  protected void showMemusage_actionPerformed(ActionEvent e)
+  {
+    // TODO Auto-generated method stub
+
+  }
+
+  protected void garbageCollect_actionPerformed(ActionEvent e)
+  {
+    // TODO Auto-generated method stub
+
   }
 
   protected void vamsasStMenu_actionPerformed()
@@ -293,30 +384,34 @@ public class GDesktop
 
   /**
    * DOCUMENT ME!
-   *
-   * @param e DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
    */
-  protected void inputLocalFileMenuItem_actionPerformed(jalview.gui.
-      AlignViewport av)
+  protected void inputLocalFileMenuItem_actionPerformed(
+          jalview.gui.AlignViewport av)
   {
   }
 
   /**
    * DOCUMENT ME!
-   *
-   * @param e DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
    */
-  protected void inputURLMenuItem_actionPerformed(jalview.gui.AlignViewport av)
+  protected void inputURLMenuItem_actionPerformed(
+          jalview.gui.AlignViewport av)
   {
   }
 
   /**
    * DOCUMENT ME!
-   *
-   * @param e DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
    */
-  protected void inputTextboxMenuItem_actionPerformed(jalview.gui.AlignViewport
-      av)
+  protected void inputTextboxMenuItem_actionPerformed(
+          jalview.gui.AlignViewport av)
   {
   }
 
@@ -329,8 +424,9 @@ public class GDesktop
 
   /**
    * DOCUMENT ME!
-   *
-   * @param e DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
    */
   protected void aboutMenuItem_actionPerformed(ActionEvent e)
   {
@@ -338,8 +434,9 @@ public class GDesktop
 
   /**
    * DOCUMENT ME!
-   *
-   * @param e DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
    */
   protected void documentationMenuItem_actionPerformed(ActionEvent e)
   {
@@ -347,8 +444,9 @@ public class GDesktop
 
   /**
    * DOCUMENT ME!
-   *
-   * @param e DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
    */
   public void SaveState_actionPerformed(ActionEvent e)
   {
@@ -356,8 +454,9 @@ public class GDesktop
 
   /**
    * DOCUMENT ME!
-   *
-   * @param e DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
    */
   protected void preferences_actionPerformed(ActionEvent e)
   {
@@ -365,8 +464,9 @@ public class GDesktop
 
   /**
    * DOCUMENT ME!
-   *
-   * @param e DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
    */
   public void saveState_actionPerformed(ActionEvent e)
   {
@@ -374,8 +474,9 @@ public class GDesktop
 
   /**
    * DOCUMENT ME!
-   *
-   * @param e DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
    */
   public void loadState_actionPerformed(ActionEvent e)
   {
@@ -383,8 +484,9 @@ public class GDesktop
 
   /**
    * DOCUMENT ME!
-   *
-   * @param e DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
    */
   public void loadJalviewAlign_actionPerformed(ActionEvent e)
   {