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$
*/
-public class GDesktop extends JFrame
+@SuppressWarnings("serial")
+// 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 inputMenu = new JMenu();
+ // in JalviewJS
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 inputSequence = new JMenuItem();
+
JMenuItem closeAll = new JMenuItem();
JMenuItem raiseRelated = 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();
e.printStackTrace();
}
- if (!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');
*/
private void jbInit() throws Exception
{
-
+ setName(Jalview.getAppID("desktop"));
FileMenu.setText(MessageManager.getString("action.file"));
HelpMenu.setText(MessageManager.getString("action.help"));
VamsasMenu.setText("Vamsas");
.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()
@Override
public void actionPerformed(ActionEvent e)
{
- documentationMenuItem_actionPerformed(e);
+ documentationMenuItem_actionPerformed();
}
});
this.getContentPane().setLayout(flowLayout1);
}
});
- Float specversion = Float.parseFloat(System.getProperty("java.specification.version"));
-
desktopMenubar.add(FileMenu);
desktopMenubar.add(toolsMenu);
VamsasMenu.setVisible(false);
FileMenu.add(inputMenu);
FileMenu.add(inputSequence);
FileMenu.addSeparator();
- //FileMenu.add(saveState);
+ FileMenu.add(saveState);
FileMenu.add(saveAsState);
FileMenu.add(loadState);
FileMenu.addSeparator();
VamsasMenu.add(vamsasImport);
VamsasMenu.add(vamsasSave);
VamsasMenu.add(vamsasStop);
- if (!Platform.isAMac() || specversion < 11)
+ toolsMenu.add(preferences);
+ if (!Platform.isJS())
+ {
+ toolsMenu.add(showMemusage);
+ toolsMenu.add(showConsole);
+ }
+ if (!Platform.isJS())
{
- toolsMenu.add(preferences);
+ toolsMenu.add(showNews);
+ toolsMenu.add(garbageCollect);
+ toolsMenu.add(groovyShell);
}
- toolsMenu.add(showMemusage);
- toolsMenu.add(showConsole);
- toolsMenu.add(showNews);
- toolsMenu.add(garbageCollect);
- toolsMenu.add(groovyShell);
toolsMenu.add(experimentalFeatures);
// toolsMenu.add(snapShotWindow);
inputMenu.add(inputLocalFileMenuItem);
*/
protected void quit()
{
- //System.out.println("********** GDesktop.quit()");
}
/**
{
}
- /**
- * DOCUMENT ME!
- *
- * @param e
- * DOCUMENT ME!
- */
- protected void documentationMenuItem_actionPerformed(ActionEvent e)
+ protected void documentationMenuItem_actionPerformed()
{
}