Ticket #730 (new defect)

Opened 14 months ago

Last modified 13 months ago

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

Changed 13 months ago by ggosselin

  • owner changed from dave to ggosselin

Changed 13 months ago by sthiel

  • description modified (diff)

Changed 13 months ago by sthiel

  • description modified (diff)

Changed 13 months ago by ggosselin

  • milestone changed from milestone12 to unassigned

Delayed until a future revision. See #840.

Changed 13 months ago by ggosselin

  • owner ggosselin deleted
Note: See TracTickets for help on using tickets.