Ticket #992 (new defect)
Opened 2012-02-22T11:37:31-06:00
Last modified 2013-01-22T15:40:32-06:00
Allow classes other than Displays to maintain menu bar
Reported by: | bdezonia | Owned by: | curtis |
---|---|---|---|
Priority: | major | Milestone: | imagej2-unscheduled |
Component: | UI Framework | Version: | |
Severity: | serious | Keywords: | |
Cc: | Blocked By: | #1591 | |
Blocking: | #1630 |
Description
On the mac the menu bar is reestablished every time a display is created that grabs the focus. Some interactive plugins (such as SwingOverlayManager) need to make sure the basic menu bar is available.
Right now I've made a tweak to AbstractSwingUI that makes createMenuBar() public rather than protected. And SwingOverlayManager does some ugly casting to register a valid menu bar with its own frame.
Ideally we'd change the updating of the menu bar such that all frames (and not just displays) can maintain menu bar functionality. This might necessitate generating a new kind of event (INeedAMenuBarEvent) rather than listening for DisplayCreatedEvent.
Change History
comment:1 Changed 2012-02-22T12:33:55-06:00 by curtis
comment:3 Changed 2012-07-12T11:10:21-05:00 by curtis
- Blocking 1291 added; 1162 removed
- Milestone changed from imagej-2.0.0-beta3 to imagej-2.0.0-beta4
We now use a single menu bar on all platforms. On Mac OS X, we use the "default Application menu bar" feature. Unfortunately, the default Application menu bar keyboard shortcuts do not work—at all. We work around this using the AcceleratorHandler tool, but that only works for Displays, and not windows of other types. So this problem still requires further thought.
comment:5 Changed 2012-08-03T10:22:25-05:00 by curtis
- Blocking 1291 removed
comment:6 Changed 2012-09-06T14:32:30-05:00 by curtis
- Milestone changed from imagej-2.0.0-beta4 to imagej-2.0.0-beta5
comment:10 Changed 2013-01-22T15:40:32-06:00 by bdezonia
- Blocking 1630 added; 1356 removed
- Milestone changed from imagej2-b7-ndim-data to imagej2-unscheduled
Two thoughts: