On the Mac the application menu (the one to the right of the Apple logo menu) 
is created by JavaFX and there is no public API to customize or localize it. 
This PR allows a client to get rid of it and replace it with an entirely custom 
JavaFX Menu.

Prior to OS X 10.6 (Snow Leopard) the application menu required special 
handling. Nowadays it's just the first item in the NSApp's mainMenu. The only 
restriction is that the OS ignores the item's title and instead uses the 
application's name as specified in the CFBundle.

This PR is a work-in-progress/trial balloon. It provides a new property on the 
MenuBar that controls whether the system will use the default menus. It also 
supplies the calls necessary to implement the standard menu items "Hide 
<application>", "Hide Others", and "Show All" which need to be routed to native 
calls on the NSApplication object. A manual test app is available in 
tests/manual/controls/DefaultAppMenu.java.

-------------

Commit messages:
 - Added stub TKSystemMenu routines
 - Fixed javadoc issue
 - Added manual test app
 - Added calls necessary to reproduce the Mac application menu.
 - Provide property to disable default menus in the system menu bar

Changes: https://git.openjdk.org/jfx/pull/1737/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1737&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8091629
  Stats: 417 lines in 11 files changed: 399 ins; 13 del; 5 mod
  Patch: https://git.openjdk.org/jfx/pull/1737.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1737/head:pull/1737

PR: https://git.openjdk.org/jfx/pull/1737

Reply via email to