JAL-1683 replace year/version strings with tokens in source
[jalview.git] / src / jalview / jbgui / GDesktop.java
index 773267d..7bb688c 100755 (executable)
@@ -1,27 +1,37 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)
- * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
- * 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 file is part of Jalview.
  * 
- * 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.
+ * 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 this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.jbgui;
 
-import java.awt.*;
-import java.awt.event.*;
+import jalview.util.MessageManager;
 
-import javax.swing.*;
+import java.awt.FlowLayout;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JCheckBoxMenuItem;
+import javax.swing.JFrame;
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JMenuItem;
 
 /**
  * DOCUMENT ME!
@@ -64,7 +74,7 @@ public class GDesktop extends JFrame
   JMenuItem saveState = new JMenuItem();
 
   JMenuItem loadState = new JMenuItem();
-
+  
   JMenu inputMenu = new JMenu();
 
   protected JMenuItem vamsasStart = new JMenuItem();
@@ -88,7 +98,10 @@ public class GDesktop extends JFrame
   JMenuItem garbageCollect = new JMenuItem();
 
   protected JCheckBoxMenuItem showConsole = new JCheckBoxMenuItem();
+
+  protected JCheckBoxMenuItem showNews = new JCheckBoxMenuItem();
   
+  protected JMenuItem snapShotWindow = new JMenuItem();
   /**
    * Creates a new GDesktop object.
    */
@@ -121,17 +134,21 @@ public class GDesktop extends JFrame
    * DOCUMENT ME!
    * 
    * @throws Exception
-   *                 DOCUMENT ME!
+   *           DOCUMENT ME!
    */
   private void jbInit() throws Exception
   {
-    FileMenu.setText("File");
-    HelpMenu.setText("Help");
+
+    FileMenu.setText(MessageManager.getString("action.file"));
+    HelpMenu.setText(MessageManager.getString("action.help"));
     VamsasMenu.setText("Vamsas");
-    VamsasMenu.setToolTipText("Share data with other vamsas applications.");
-    VamsasStMenu.setText("Connect to");
-    VamsasStMenu.setToolTipText("Join an existing vamsas session");
-    inputLocalFileMenuItem.setText("from File");
+    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));
@@ -143,7 +160,7 @@ public class GDesktop extends JFrame
                 inputLocalFileMenuItem_actionPerformed(null);
               }
             });
-    inputURLMenuItem.setText("from URL");
+    inputURLMenuItem.setText(MessageManager.getString("label.from_url"));
     inputURLMenuItem.addActionListener(new java.awt.event.ActionListener()
     {
       public void actionPerformed(ActionEvent e)
@@ -151,7 +168,8 @@ public class GDesktop extends JFrame
         inputURLMenuItem_actionPerformed(null);
       }
     });
-    inputTextboxMenuItem.setText("from Textbox");
+    inputTextboxMenuItem.setText(MessageManager
+            .getString("label.from_textbox"));
     inputTextboxMenuItem
             .addActionListener(new java.awt.event.ActionListener()
             {
@@ -160,7 +178,7 @@ public class GDesktop extends JFrame
                 inputTextboxMenuItem_actionPerformed(null);
               }
             });
-    quit.setText("Quit");
+    quit.setText(MessageManager.getString("action.quit"));
     quit.addActionListener(new java.awt.event.ActionListener()
     {
       public void actionPerformed(ActionEvent e)
@@ -168,7 +186,7 @@ public class GDesktop extends JFrame
         quit();
       }
     });
-    aboutMenuItem.setText("About");
+    aboutMenuItem.setText(MessageManager.getString("label.about"));
     aboutMenuItem.addActionListener(new java.awt.event.ActionListener()
     {
       public void actionPerformed(ActionEvent e)
@@ -176,7 +194,8 @@ public class GDesktop extends JFrame
         aboutMenuItem_actionPerformed(e);
       }
     });
-    documentationMenuItem.setText("Documentation");
+    documentationMenuItem.setText(MessageManager
+            .getString("label.documentation"));
     documentationMenuItem.setAccelerator(javax.swing.KeyStroke
             .getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0, false));
     documentationMenuItem
@@ -188,8 +207,9 @@ public class GDesktop extends JFrame
               }
             });
     this.getContentPane().setLayout(flowLayout1);
-    windowMenu.setText("Window");
-    preferences.setText("Preferences...");
+    windowMenu.setText(MessageManager.getString("label.window"));
+    preferences.setText(MessageManager.getString("label.preferences")
+            + "...");
     preferences.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
@@ -197,8 +217,8 @@ public class GDesktop extends JFrame
         preferences_actionPerformed(e);
       }
     });
-    toolsMenu.setText("Tools");
-    saveState.setText("Save Project");
+    toolsMenu.setText(MessageManager.getString("label.tools"));
+    saveState.setText(MessageManager.getString("action.save_project"));
     saveState.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
@@ -206,7 +226,7 @@ public class GDesktop extends JFrame
         saveState_actionPerformed(e);
       }
     });
-    loadState.setText("Load Project");
+    loadState.setText(MessageManager.getString("action.load_project"));
     loadState.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
@@ -214,8 +234,9 @@ public class GDesktop extends JFrame
         loadState_actionPerformed(e);
       }
     });
-    inputMenu.setText("Input Alignment");
-    vamsasStart.setText("New Vamsas Session...");
+    inputMenu.setText(MessageManager.getString("label.input_alignment"));
+    vamsasStart.setText(MessageManager
+            .getString("label.new_vamsas_session") + "...");
     vamsasStart.setVisible(false);
     vamsasStart.addActionListener(new ActionListener()
     {
@@ -224,7 +245,8 @@ public class GDesktop extends JFrame
         vamsasStart_actionPerformed(e);
       }
     });
-    vamsasImport.setText("Load Vamsas Session...");
+    vamsasImport.setText(MessageManager
+            .getString("label.load_vamsas_session") + "...");
     vamsasImport.setVisible(false);
     vamsasImport.addActionListener(new ActionListener()
     {
@@ -233,7 +255,8 @@ public class GDesktop extends JFrame
         vamsasImport_actionPerformed(e);
       }
     });
-    vamsasSave.setText("Save Vamsas Session...");
+    vamsasSave.setText(MessageManager
+            .getString("label.save_vamsas_session") + "...");
     vamsasSave.setVisible(false);
     vamsasSave.addActionListener(new ActionListener()
     {
@@ -242,7 +265,8 @@ public class GDesktop extends JFrame
         vamsasSave_actionPerformed(e);
       }
     });
-    inputSequence.setText("Fetch Sequence(s)...");
+    inputSequence.setText(MessageManager.getString("label.fetch_sequences")
+            + "...");
     inputSequence.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
@@ -250,7 +274,8 @@ public class GDesktop extends JFrame
         inputSequence_actionPerformed(e);
       }
     });
-    vamsasStop.setText("Stop Vamsas Session");
+    vamsasStop.setText(MessageManager
+            .getString("label.stop_vamsas_session"));
     vamsasStop.setVisible(false);
     vamsasStop.addActionListener(new ActionListener()
     {
@@ -259,7 +284,7 @@ public class GDesktop extends JFrame
         vamsasStop_actionPerformed(e);
       }
     });
-    closeAll.setText("Close All");
+    closeAll.setText(MessageManager.getString("action.close_all"));
     closeAll.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
@@ -267,7 +292,8 @@ public class GDesktop extends JFrame
         closeAll_actionPerformed(e);
       }
     });
-    raiseRelated.setText("Raise Associated Windows");
+    raiseRelated.setText(MessageManager
+            .getString("action.raise_associated_windows"));
     raiseRelated.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
@@ -275,7 +301,8 @@ public class GDesktop extends JFrame
         raiseRelated_actionPerformed(e);
       }
     });
-    minimizeAssociated.setText("Minimize Associated Windows");
+    minimizeAssociated.setText(MessageManager
+            .getString("action.minimize_associated_windows"));
     minimizeAssociated.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
@@ -283,7 +310,8 @@ public class GDesktop extends JFrame
         minimizeAssociated_actionPerformed(e);
       }
     });
-    garbageCollect.setText("Collect Garbage");
+    garbageCollect.setText(MessageManager
+            .getString("label.collect_garbage"));
     garbageCollect.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
@@ -291,7 +319,8 @@ public class GDesktop extends JFrame
         garbageCollect_actionPerformed(e);
       }
     });
-    showMemusage.setText("Show Memory Usage");
+    showMemusage.setText(MessageManager
+            .getString("label.show_memory_usage"));
     showMemusage.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
@@ -299,7 +328,8 @@ public class GDesktop extends JFrame
         showMemusage_actionPerformed(e);
       }
     });
-    showConsole.setText("Show Java Console");
+    showConsole
+            .setText(MessageManager.getString("label.show_java_console"));
     showConsole.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
@@ -307,6 +337,23 @@ public class GDesktop extends JFrame
         showConsole_actionPerformed(e);
       }
     });
+    showNews.setText(MessageManager.getString("label.show_jalview_news"));
+    showNews.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        showNews_actionPerformed(e);
+      }
+    });
+    snapShotWindow.setText(MessageManager.getString("label.take_snapshot"));
+    snapShotWindow.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        snapShotWindow_actionPerformed(e);
+      }
+    });
+    
     desktopMenubar.add(FileMenu);
     desktopMenubar.add(toolsMenu);
     VamsasMenu.setVisible(false);
@@ -331,7 +378,9 @@ public class GDesktop extends JFrame
     toolsMenu.add(preferences);
     toolsMenu.add(showMemusage);
     toolsMenu.add(showConsole);
+    toolsMenu.add(showNews);
     toolsMenu.add(garbageCollect);
+    // toolsMenu.add(snapShotWindow);
     inputMenu.add(inputLocalFileMenuItem);
     inputMenu.add(inputURLMenuItem);
     inputMenu.add(inputTextboxMenuItem);
@@ -342,12 +391,24 @@ public class GDesktop extends JFrame
     // inputMenu.add(vamsasLoad);
   }
 
-  protected void showConsole_actionPerformed(ActionEvent e)
+  protected void snapShotWindow_actionPerformed(ActionEvent e)
   {
     // TODO Auto-generated method stub
     
   }
 
+  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
@@ -372,7 +433,7 @@ public class GDesktop extends JFrame
    * DOCUMENT ME!
    * 
    * @param e
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   protected void inputLocalFileMenuItem_actionPerformed(
           jalview.gui.AlignViewport av)
@@ -383,7 +444,7 @@ public class GDesktop extends JFrame
    * DOCUMENT ME!
    * 
    * @param e
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   protected void inputURLMenuItem_actionPerformed(
           jalview.gui.AlignViewport av)
@@ -394,7 +455,7 @@ public class GDesktop extends JFrame
    * DOCUMENT ME!
    * 
    * @param e
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   protected void inputTextboxMenuItem_actionPerformed(
           jalview.gui.AlignViewport av)
@@ -412,7 +473,7 @@ public class GDesktop extends JFrame
    * DOCUMENT ME!
    * 
    * @param e
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   protected void aboutMenuItem_actionPerformed(ActionEvent e)
   {
@@ -422,7 +483,7 @@ public class GDesktop extends JFrame
    * DOCUMENT ME!
    * 
    * @param e
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   protected void documentationMenuItem_actionPerformed(ActionEvent e)
   {
@@ -432,7 +493,7 @@ public class GDesktop extends JFrame
    * DOCUMENT ME!
    * 
    * @param e
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   public void SaveState_actionPerformed(ActionEvent e)
   {
@@ -442,7 +503,7 @@ public class GDesktop extends JFrame
    * DOCUMENT ME!
    * 
    * @param e
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   protected void preferences_actionPerformed(ActionEvent e)
   {
@@ -452,7 +513,7 @@ public class GDesktop extends JFrame
    * DOCUMENT ME!
    * 
    * @param e
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   public void saveState_actionPerformed(ActionEvent e)
   {
@@ -462,7 +523,7 @@ public class GDesktop extends JFrame
    * DOCUMENT ME!
    * 
    * @param e
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   public void loadState_actionPerformed(ActionEvent e)
   {
@@ -472,7 +533,7 @@ public class GDesktop extends JFrame
    * DOCUMENT ME!
    * 
    * @param e
-   *                DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   public void loadJalviewAlign_actionPerformed(ActionEvent e)
   {