From: Hiroo H. <hir...@co...> - 2005-02-13 18:47:59
|
Hi Rib, Rib> > For other OSs, the toolbar looks like a kind of the center window. But Rib> > for MacOSX it looks line just a one of frames. Rib> > Rib> > Is this the common way for toolbar in SDI mode on MacOSX? Rib> Rib> Actually Mac programs are not supposed to have this type of Rib> "application global" toolbar. Instead all functions should be Rib> accesible from the menus, and possibly also keyboard shortcuts. If Rib> toolbars do exist, they are supposed to be attached to the window that Rib> they act on. The user is supposed to be able to chose which buttons Rib> are on the toolbar, or hide the toolbar entirely. The following implementation may be better. No toolbar window on MacOS toolbar is attached on every frame. toolbar can be removed by user preference. default is enabled on MacOS, and is disabled on other OSs. How do you think? Rib> > To keep the current behavior JSynthLib can add menubar on JSLFrame Rib> > (which does not have menu bar by default) by extending JSLFrame. Rib> > Rib> > I think this is a flexible and clean way. The biggest problem now I see Rib> > is the name of the extended class. Rib> > Rib> > org.jsynthlib.jsynthlib.JSLJSLFrame class !!!? Rib> Rib> Again, this design was based on the Mac interface guidelines -- The Rib> menu items stay constant for the whole application, but may be enabled Rib> or disabled based on what window is active instead of having menu Rib> items added or removed over time. But you are right, maybe this Rib> shouldn't be required by the JSLDesktop classes. OK. Extending JSLDesktop/JSLFrame class seems a right way . I cannot accept "JSLJSLFrame". "MyFrame" is a candidate. I don't like it, but have no better name. Another way is to rename "JSLDesktop"/"JSLFrame" class. For example "MMDesktop" and "MMFrame". "MM" stands for "Multi Mode". Do you have any suggestion? -- Hiroo Hayashi |