X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGDesktop.java;h=63ecdafed454107f0b47a51f85a660c2dd2cdc4d;hb=ee198b3ca3687f18a2ee186f4e7c7330f4ea30f0;hp=b7d060b46839e7ffa373675c3520a1f2c42ba062;hpb=3c7b844a711755d0a8520765ec8f21cd4c73375e;p=jalview.git diff --git a/src/jalview/jbgui/GDesktop.java b/src/jalview/jbgui/GDesktop.java index b7d060b..63ecdaf 100755 --- a/src/jalview/jbgui/GDesktop.java +++ b/src/jalview/jbgui/GDesktop.java @@ -1,64 +1,110 @@ /* - * 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 + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * 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. - * - * 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 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 . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.jbgui; -import java.awt.*; -import java.awt.event.*; +import jalview.api.AlignmentViewPanel; +import jalview.io.FileFormatException; +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! - * + * * @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(); + + protected JMenuItem snapShotWindow = new JMenuItem(); + /** * Creates a new GDesktop object. */ @@ -68,13 +114,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,167 +135,255 @@ 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"); + + 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"); - 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"); + 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)); + inputLocalFileMenuItem + .addActionListener(new java.awt.event.ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + inputLocalFileMenuItem_actionPerformed(null); + } + }); + inputURLMenuItem.setText(MessageManager.getString("label.from_url")); inputURLMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { - inputURLMenuItem_actionPerformed(null); + try + { + inputURLMenuItem_actionPerformed(null); + } catch (FileFormatException e1) + { + System.err.println("Error loading from URL: " + e1.getMessage()); + } } }); - inputTextboxMenuItem.setText("from Textbox"); - inputTextboxMenuItem.addActionListener(new java.awt.event.ActionListener() - { - public void actionPerformed(ActionEvent e) - { - inputTextboxMenuItem_actionPerformed(null); - } - }); - quit.setText("Quit"); + inputTextboxMenuItem.setText(MessageManager + .getString("label.from_textbox")); + inputTextboxMenuItem + .addActionListener(new java.awt.event.ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + inputTextboxMenuItem_actionPerformed(null); + } + }); + quit.setText(MessageManager.getString("action.quit")); quit.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { quit(); } }); - aboutMenuItem.setText("About"); + aboutMenuItem.setText(MessageManager.getString("label.about")); aboutMenuItem.addActionListener(new java.awt.event.ActionListener() { + @Override public void actionPerformed(ActionEvent e) { aboutMenuItem_actionPerformed(e); } }); - 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.setText(MessageManager + .getString("label.documentation")); + documentationMenuItem.setAccelerator(javax.swing.KeyStroke + .getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0, false)); + documentationMenuItem + .addActionListener(new java.awt.event.ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + documentationMenuItem_actionPerformed(e); + } + }); 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() { + @Override public void actionPerformed(ActionEvent e) { 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() { + @Override public void actionPerformed(ActionEvent e) { saveState_actionPerformed(e); } }); - loadState.setText("Load Project"); + loadState.setText(MessageManager.getString("action.load_project")); loadState.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { 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() { + @Override public void actionPerformed(ActionEvent e) { vamsasStart_actionPerformed(e); } }); - vamsasImport.setText("Load Vamsas Session..."); + vamsasImport.setText(MessageManager + .getString("action.load_vamsas_session")); vamsasImport.setVisible(false); vamsasImport.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { vamsasImport_actionPerformed(e); } }); - vamsasSave.setText("Save Vamsas Session..."); + vamsasSave.setText(MessageManager + .getString("action.save_vamsas_session")); vamsasSave.setVisible(false); vamsasSave.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { vamsasSave_actionPerformed(e); } }); - inputSequence.setText("Fetch Sequence(s)..."); + inputSequence.setText(MessageManager + .getString("action.fetch_sequences")); inputSequence.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { inputSequence_actionPerformed(e); } }); - vamsasStop.setText("Stop Vamsas Session"); + vamsasStop.setText(MessageManager + .getString("label.stop_vamsas_session")); vamsasStop.setVisible(false); vamsasStop.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { vamsasStop_actionPerformed(e); } }); - closeAll.setText("Close All"); + closeAll.setText(MessageManager.getString("action.close_all")); closeAll.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { closeAll_actionPerformed(e); } }); - raiseRelated.setText("Raise Associated Windows"); + raiseRelated.setText(MessageManager + .getString("action.raise_associated_windows")); raiseRelated.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { raiseRelated_actionPerformed(e); } }); - minimizeAssociated.setText("Minimize Associated Windows"); + minimizeAssociated.setText(MessageManager + .getString("action.minimize_associated_windows")); minimizeAssociated.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { minimizeAssociated_actionPerformed(e); } }); + garbageCollect.setText(MessageManager + .getString("label.collect_garbage")); + garbageCollect.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + garbageCollect_actionPerformed(e); + } + }); + showMemusage.setText(MessageManager + .getString("label.show_memory_usage")); + showMemusage.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + showMemusage_actionPerformed(e); + } + }); + showConsole + .setText(MessageManager.getString("label.show_java_console")); + showConsole.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + showConsole_actionPerformed(e); + } + }); + showNews.setText(MessageManager.getString("label.show_jalview_news")); + showNews.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + showNews_actionPerformed(e); + } + }); + snapShotWindow.setText(MessageManager.getString("label.take_snapshot")); + snapShotWindow.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + snapShotWindow_actionPerformed(e); + } + }); + desktopMenubar.add(FileMenu); desktopMenubar.add(toolsMenu); VamsasMenu.setVisible(false); @@ -273,6 +406,11 @@ public class GDesktop VamsasMenu.add(vamsasSave); VamsasMenu.add(vamsasStop); 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); @@ -280,7 +418,37 @@ public class GDesktop windowMenu.add(raiseRelated); windowMenu.add(minimizeAssociated); windowMenu.addSeparator(); - // inputMenu.add(vamsasLoad); + // inputMenu.add(vamsasLoad); + } + + 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 + + } + + protected void garbageCollect_actionPerformed(ActionEvent e) + { + // TODO Auto-generated method stub + } protected void vamsasStMenu_actionPerformed() @@ -293,30 +461,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! + * @throws FileFormatException */ - protected void inputURLMenuItem_actionPerformed(jalview.gui.AlignViewport av) + protected void inputURLMenuItem_actionPerformed( + jalview.gui.AlignViewport av) throws FileFormatException { } /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ - protected void inputTextboxMenuItem_actionPerformed(jalview.gui.AlignViewport - av) + protected void inputTextboxMenuItem_actionPerformed(AlignmentViewPanel avp) { } @@ -329,8 +501,9 @@ public class GDesktop /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ protected void aboutMenuItem_actionPerformed(ActionEvent e) { @@ -338,8 +511,9 @@ public class GDesktop /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ protected void documentationMenuItem_actionPerformed(ActionEvent e) { @@ -347,8 +521,9 @@ public class GDesktop /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ public void SaveState_actionPerformed(ActionEvent e) { @@ -356,8 +531,9 @@ public class GDesktop /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ protected void preferences_actionPerformed(ActionEvent e) { @@ -365,8 +541,9 @@ public class GDesktop /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ public void saveState_actionPerformed(ActionEvent e) { @@ -374,8 +551,9 @@ public class GDesktop /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ public void loadState_actionPerformed(ActionEvent e) { @@ -383,8 +561,9 @@ public class GDesktop /** * DOCUMENT ME! - * - * @param e DOCUMENT ME! + * + * @param e + * DOCUMENT ME! */ public void loadJalviewAlign_actionPerformed(ActionEvent e) { @@ -420,7 +599,7 @@ public class GDesktop } - private void vamsasImport_actionPerformed(ActionEvent e) + public void vamsasImport_actionPerformed(ActionEvent e) { } }