Ticket #730 (new defect)
Menu items dissapear when using "Tools" windows under OSX
| Reported by: | sthiel | Owned by: | |
|---|---|---|---|
| Priority: | minor | Milestone: | unassigned |
| Component: | GUI | Version: | |
| Keywords: | Cc: | ||
| Super-ticket: | Minutes Worked: |
Description (last modified by sthiel) (diff)
It was suggested that each window should get menu items in a clunky mac fashion.
(S) As per request, here is what I propose as a solution:
Create an interface for the Menu Bar. On windows, just use a standard menubar (but subclass that interface). On mac, Call a MenuBarFactory that keeps track of a list of all menu bars created, and keep them organized. This means that if a window is closed (not hidden), the MenuBarFactory should be notified and that MenuBar should be released. The factory should also keep a reference MenuBar, for convenience (although this could essentially be the main window menubar) The MenuBar passed around itself should effectively be a proxy that sends any change requests (like check this, or uncheck that, or add this item) back to the MenuBarFactory to apply, Compound Object Pattern-style, to all the actual MenuBars. If a proxy is not feasible, then the action that causes such a change should be directed to apply it to the MenuBarFactory (as a collection that implements out MenuBar interface). This way we can have a unique MenuBar for each window and changes to one can be reflected in the others. Barring someone opening several dozen windows, there should be no appreciable delay. It's also been suggested that different windows will have slightly different options enabled. I suggest different factory methods, that will adjust such things for each individually created menu (a create method per window type). Have I missed anything regarding the particulars of the funky mac/Java menu bar implementation?
Change History
Note: See
TracTickets for help on using
tickets.
