X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGDesktop.java;h=e0467836f8f1caabc00ee1083b84178bed131214;hp=2ea3774578ab0ee4cf653ab19d92c4cf7d73eab9;hb=68c8a239acd5ff30ef4d8f00dfd9d15bf4923b6b;hpb=8fa69554edf6aeb278b4a4afd8e2b60264fdccd8 diff --git a/src/jalview/jbgui/GDesktop.java b/src/jalview/jbgui/GDesktop.java index 2ea3774..e046783 100755 --- a/src/jalview/jbgui/GDesktop.java +++ b/src/jalview/jbgui/GDesktop.java @@ -20,13 +20,7 @@ */ package jalview.jbgui; -import jalview.api.AlignmentViewPanel; -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; @@ -36,6 +30,12 @@ import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; +import jalview.api.AlignmentViewPanel; +import jalview.bin.Cache; +import jalview.io.FileFormatException; +import jalview.util.MessageManager; +import jalview.util.Platform; + /** * DOCUMENT ME! * @@ -54,10 +54,6 @@ public class GDesktop extends JFrame JMenu HelpMenu = new JMenu(); - protected JMenu VamsasMenu = new JMenu(); - - protected JMenu VamsasStMenu = new JMenu(); - JMenuItem inputLocalFileMenuItem = new JMenuItem(); JMenuItem inputURLMenuItem = new JMenuItem(); @@ -84,16 +80,8 @@ public class GDesktop extends JFrame 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(); @@ -129,13 +117,12 @@ public class GDesktop extends JFrame e.printStackTrace(); } - if (Platform.allowMnemonics()) + if (Platform.allowMnemonics()) { - //BH was !Platform.isAMacAndNotJS()) i.e. "JS or not Mac" - // but here we want just not a Mac, period, right? + // 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'); inputURLMenuItem.setMnemonic('U'); inputTextboxMenuItem.setMnemonic('C'); quit.setMnemonic('Q'); @@ -153,21 +140,37 @@ public class GDesktop extends JFrame */ private void jbInit() throws Exception { + /** + * APQHandlers sets handlers for About, Preferences and Quit actions + * peculiar to macOS's application menu. APQHandlers will check to see if a + * handler is supported before setting it. + */ + try + { + APQHandlers.setAPQHandlers(this); + } catch (Exception e) + { + System.out.println("Cannot set APQHandlers"); + // e.printStackTrace(); + } catch (Throwable t) + { + jalview.bin.Console + .warn("Error setting APQHandlers: " + t.toString()); + jalview.bin.Console.trace(Cache.getStackTraceString(t)); + } + setName("jalview-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, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), - false)); + inputLocalFileMenuItem + .setAccelerator( + javax.swing.KeyStroke + .getKeyStroke(java.awt.event.KeyEvent.VK_O, + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false)); inputLocalFileMenuItem .addActionListener(new java.awt.event.ActionListener() { @@ -274,39 +277,6 @@ public class GDesktop extends JFrame } }); 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() @@ -317,17 +287,6 @@ public class GDesktop extends JFrame 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() { @@ -430,36 +389,38 @@ public class GDesktop extends JFrame } }); + 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); + if (!APQHandlers.setQuit) + { + FileMenu.add(quit); + } + if (!APQHandlers.setAbout) + { + HelpMenu.add(aboutMenuItem); + } HelpMenu.add(documentationMenuItem); - VamsasMenu.add(VamsasStMenu); - VamsasStMenu.setVisible(false); - VamsasMenu.add(vamsasStart); - VamsasMenu.add(vamsasImport); - VamsasMenu.add(vamsasSave); - VamsasMenu.add(vamsasStop); - toolsMenu.add(preferences); - if (!Platform.isJS()) + if (!APQHandlers.setPreferences) { - toolsMenu.add(showMemusage); - toolsMenu.add(showConsole); + toolsMenu.add(preferences); } if (!Platform.isJS()) { + toolsMenu.add(showMemusage); + toolsMenu.add(showConsole); toolsMenu.add(showNews); toolsMenu.add(garbageCollect); toolsMenu.add(groovyShell); @@ -561,6 +522,7 @@ public class GDesktop extends JFrame */ protected void quit() { + // System.out.println("********** GDesktop.quit()"); } /**