package jalview.jbgui;
import jalview.api.AlignmentViewPanel;
+import jalview.bin.Jalview;
import jalview.io.FileFormatException;
import jalview.util.MessageManager;
import jalview.util.Platform;
import java.awt.FlowLayout;
+import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JMenuItem;
/**
- * DOCUMENT ME!
+ * abstract class super to jalview.gui.Desktop
*
- * @author $author$
- * @version $Revision$
*/
@SuppressWarnings("serial")
-public class GDesktop extends JFrame
+// BH made abstract
+public abstract class GDesktop extends JFrame
{
- protected static JMenu windowMenu = new JMenu();
+ protected JMenu windowMenu = new JMenu(); // BH 2019.05.07 was static
JMenuBar desktopMenubar = new JMenuBar();
JMenu HelpMenu = new JMenu();
+ protected JMenu VamsasMenu = new JMenu();
+
+ protected JMenu VamsasStMenu = new JMenu();
+
JMenuItem inputLocalFileMenuItem = new JMenuItem();
JMenuItem inputURLMenuItem = new JMenuItem();
JMenu inputMenu = new JMenu();
+ // in JalviewJS
+ protected JMenuItem vamsasStart = new JMenuItem();
+
+ protected JMenuItem vamsasImport = new JMenuItem();
+
+ protected JMenuItem vamsasSave = new JMenuItem();
+
+ protected JMenuItem vamsasStop = new JMenuItem();
+
JMenuItem inputSequence = new JMenuItem();
JMenuItem closeAll = new JMenuItem();
protected JCheckBoxMenuItem showConsole = new JCheckBoxMenuItem();
- protected JCheckBoxMenuItem showNews = new JCheckBoxMenuItem();
+ // BH public for Runnable
+ public JCheckBoxMenuItem showNews = new JCheckBoxMenuItem();
protected JMenuItem snapShotWindow = new JMenuItem();
*/
public GDesktop()
{
- super();
try
{
jbInit();
// but here we want just not a Mac, period, right?
FileMenu.setMnemonic('F');
inputLocalFileMenuItem.setMnemonic('L');
+ VamsasMenu.setMnemonic('V');
inputURLMenuItem.setMnemonic('U');
inputTextboxMenuItem.setMnemonic('C');
quit.setMnemonic('Q');
*/
private void jbInit() throws Exception
{
- setName("jalview-desktop");
+ setName(Jalview.getAppID("desktop"));
FileMenu.setText(MessageManager.getString("action.file"));
HelpMenu.setText(MessageManager.getString("action.help"));
+ VamsasMenu.setText("Vamsas");
+ 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,
- jalview.util.ShortcutKeyMaskExWrapper.getMenuShortcutKeyMaskEx(),
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(),
false));
inputLocalFileMenuItem
.addActionListener(new java.awt.event.ActionListener()
}
});
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(
+ MessageManager.getString("action.load_vamsas_session"));
+ vamsasImport.setVisible(false);
+ vamsasImport.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ vamsasImport_actionPerformed(e);
+ }
+ });
+ 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(MessageManager.getString("action.fetch_sequences"));
inputSequence.addActionListener(new ActionListener()
inputSequence_actionPerformed(e);
}
});
+ 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(MessageManager.getString("action.close_all"));
closeAll.addActionListener(new ActionListener()
{
}
});
- Float specversion = Platform.isJS() ? Float.valueOf(8)
- : Float.parseFloat(
- System.getProperty("java.specification.version"));
-
desktopMenubar.add(FileMenu);
desktopMenubar.add(toolsMenu);
+ VamsasMenu.setVisible(false);
+ desktopMenubar.add(VamsasMenu);
desktopMenubar.add(HelpMenu);
desktopMenubar.add(windowMenu);
FileMenu.add(inputMenu);
FileMenu.add(inputSequence);
FileMenu.addSeparator();
- //FileMenu.add(saveState);
+ FileMenu.add(saveState);
FileMenu.add(saveAsState);
FileMenu.add(loadState);
FileMenu.addSeparator();
FileMenu.add(quit);
HelpMenu.add(aboutMenuItem);
HelpMenu.add(documentationMenuItem);
- if (!Platform.isAMacAndNotJS() || specversion < 11)
- {
- toolsMenu.add(preferences);
- }
+ VamsasMenu.add(VamsasStMenu);
+ VamsasStMenu.setVisible(false);
+ VamsasMenu.add(vamsasStart);
+ VamsasMenu.add(vamsasImport);
+ VamsasMenu.add(vamsasSave);
+ VamsasMenu.add(vamsasStop);
+ toolsMenu.add(preferences);
if (!Platform.isJS())
{
toolsMenu.add(showMemusage);
toolsMenu.add(showConsole);
+ }
+ if (!Platform.isJS())
+ {
toolsMenu.add(showNews);
toolsMenu.add(garbageCollect);
toolsMenu.add(groovyShell);
*/
protected void quit()
{
- //System.out.println("********** GDesktop.quit()");
}
/**