X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fjbgui%2FGDesktop.java;h=315c2f7d6232bf5fe54fd5ef88babea4a0359c96;hb=86413dd6b73b097232ee5684c5c13604790317c3;hp=a3af2370d9f5c04550b75d4f95450ce27c7f44c8;hpb=59d682209891099d46b960509907c79e3fb276fe;p=jalview.git
diff --git a/src/jalview/jbgui/GDesktop.java b/src/jalview/jbgui/GDesktop.java
index a3af237..315c2f7 100755
--- a/src/jalview/jbgui/GDesktop.java
+++ b/src/jalview/jbgui/GDesktop.java
@@ -1,26 +1,40 @@
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * 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.
+ * 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 .
+ * You should have received a copy of the GNU General Public License
+ * 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 jalview.util.Platform;
-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!
@@ -28,8 +42,26 @@ import javax.swing.*;
* @author $author$
* @version $Revision$
*/
+@SuppressWarnings("serial")
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();
@@ -62,6 +94,8 @@ public class GDesktop extends JFrame
JMenuItem saveState = new JMenuItem();
+ JMenuItem saveAsState = new JMenuItem();
+
JMenuItem loadState = new JMenuItem();
JMenu inputMenu = new JMenu();
@@ -86,15 +120,22 @@ public class GDesktop extends JFrame
JMenuItem garbageCollect = new JMenuItem();
+ protected JMenuItem groovyShell;
+
+ protected JCheckBoxMenuItem experimentalFeatures;
+
protected JCheckBoxMenuItem showConsole = new JCheckBoxMenuItem();
protected JCheckBoxMenuItem showNews = new JCheckBoxMenuItem();
+ protected JMenuItem snapShotWindow = new JMenuItem();
+
/**
* Creates a new GDesktop object.
*/
public GDesktop()
{
+ super();
try
{
jbInit();
@@ -104,11 +145,13 @@ public class GDesktop extends JFrame
e.printStackTrace();
}
- if (!new jalview.util.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');
@@ -126,196 +169,283 @@ public class GDesktop extends JFrame
*/
private void jbInit() throws Exception
{
- FileMenu.setText("File");
- HelpMenu.setText("Help");
+ setName("jalview-desktop");
+ 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));
+ 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("from URL");
+ 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
+ .setText(MessageManager.getString("label.from_textbox"));
inputTextboxMenuItem
.addActionListener(new java.awt.event.ActionListener()
{
+ @Override
public void actionPerformed(ActionEvent e)
{
inputTextboxMenuItem_actionPerformed(null);
}
});
- quit.setText("Quit");
+ 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
+ .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);
+ documentationMenuItem_actionPerformed();
}
});
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();
+ }
+ });
+ saveAsState.setText(MessageManager.getString("action.save_project_as"));
+ saveAsState.addActionListener(new ActionListener()
+ {
+ @Override
public void actionPerformed(ActionEvent e)
{
- saveState_actionPerformed(e);
+ saveAsState_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);
+ loadState_actionPerformed();
}
});
- 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("Collect Garbage");
+ garbageCollect
+ .setText(MessageManager.getString("label.collect_garbage"));
garbageCollect.addActionListener(new ActionListener()
{
+ @Override
public void actionPerformed(ActionEvent e)
{
garbageCollect_actionPerformed(e);
}
});
- showMemusage.setText("Show Memory Usage");
+ showMemusage
+ .setText(MessageManager.getString("label.show_memory_usage"));
showMemusage.addActionListener(new ActionListener()
{
+ @Override
public void actionPerformed(ActionEvent e)
{
showMemusage_actionPerformed(e);
}
});
- showConsole.setText("Show Java Console");
+ showConsole
+ .setText(MessageManager.getString("label.show_java_console"));
showConsole.addActionListener(new ActionListener()
{
+ @Override
public void actionPerformed(ActionEvent e)
{
showConsole_actionPerformed(e);
}
});
- showNews.setText("Show Jalview News");
+ showNews.setText(MessageManager.getString("label.show_jalview_news"));
showNews.addActionListener(new ActionListener()
{
+ @Override
public void actionPerformed(ActionEvent e)
{
showNews_actionPerformed(e);
}
});
+ groovyShell = new JMenuItem();
+ groovyShell.setText(MessageManager.getString("label.groovy_console"));
+ groovyShell.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ groovyShell_actionPerformed();
+ }
+ });
+ experimentalFeatures = new JCheckBoxMenuItem();
+ experimentalFeatures
+ .setText(MessageManager.getString("label.show_experimental"));
+ experimentalFeatures.setToolTipText(
+ MessageManager.getString("label.show_experimental_tip"));
+ experimentalFeatures.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ showExperimental_actionPerformed(experimentalFeatures.isSelected());
+ }
+ });
+
+ 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);
@@ -326,6 +456,7 @@ public class GDesktop extends JFrame
FileMenu.add(inputSequence);
FileMenu.addSeparator();
FileMenu.add(saveState);
+ FileMenu.add(saveAsState);
FileMenu.add(loadState);
FileMenu.addSeparator();
FileMenu.add(quit);
@@ -338,10 +469,19 @@ 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);
+ if (!Platform.isJS())
+ {
+ toolsMenu.add(showMemusage);
+ toolsMenu.add(showConsole);
+ }
+ if (!Platform.isJS())
+ {
+ toolsMenu.add(showNews);
+ toolsMenu.add(garbageCollect);
+ toolsMenu.add(groovyShell);
+ }
+ toolsMenu.add(experimentalFeatures);
+ // toolsMenu.add(snapShotWindow);
inputMenu.add(inputLocalFileMenuItem);
inputMenu.add(inputURLMenuItem);
inputMenu.add(inputTextboxMenuItem);
@@ -352,6 +492,20 @@ public class GDesktop extends JFrame
// inputMenu.add(vamsasLoad);
}
+ protected void showExperimental_actionPerformed(boolean selected)
+ {
+ }
+
+ protected void groovyShell_actionPerformed()
+ {
+ }
+
+ protected void snapShotWindow_actionPerformed(ActionEvent e)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
protected void showConsole_actionPerformed(ActionEvent e)
{
// TODO Auto-generated method stub
@@ -400,9 +554,10 @@ public class GDesktop extends JFrame
*
* @param e
* DOCUMENT ME!
+ * @throws FileFormatException
*/
protected void inputURLMenuItem_actionPerformed(
- jalview.gui.AlignViewport av)
+ jalview.gui.AlignViewport av) throws FileFormatException
{
}
@@ -413,7 +568,7 @@ public class GDesktop extends JFrame
* DOCUMENT ME!
*/
protected void inputTextboxMenuItem_actionPerformed(
- jalview.gui.AlignViewport av)
+ AlignmentViewPanel avp)
{
}
@@ -434,13 +589,7 @@ public class GDesktop extends JFrame
{
}
- /**
- * DOCUMENT ME!
- *
- * @param e
- * DOCUMENT ME!
- */
- protected void documentationMenuItem_actionPerformed(ActionEvent e)
+ protected void documentationMenuItem_actionPerformed()
{
}
@@ -450,7 +599,7 @@ public class GDesktop extends JFrame
* @param e
* DOCUMENT ME!
*/
- public void SaveState_actionPerformed(ActionEvent e)
+ protected void preferences_actionPerformed(ActionEvent e)
{
}
@@ -460,17 +609,11 @@ public class GDesktop extends JFrame
* @param e
* DOCUMENT ME!
*/
- protected void preferences_actionPerformed(ActionEvent e)
+ public void saveState_actionPerformed()
{
}
- /**
- * DOCUMENT ME!
- *
- * @param e
- * DOCUMENT ME!
- */
- public void saveState_actionPerformed(ActionEvent e)
+ public void saveAsState_actionPerformed(ActionEvent e)
{
}
@@ -480,7 +623,7 @@ public class GDesktop extends JFrame
* @param e
* DOCUMENT ME!
*/
- public void loadState_actionPerformed(ActionEvent e)
+ public void loadState_actionPerformed()
{
}