discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Impelmenting NSWindows95InterfaceStyle


From: address@hidden
Subject: Re: Impelmenting NSWindows95InterfaceStyle
Date: Mon, 19 Jan 2009 00:21:04 -0800 (PST)
User-agent: G2/1.0

On 19 Jan., 09:15, Richard Frith-Macdonald
<rich...@tiptree.demon.co.uk> wrote:
> On 19 Jan 2009, at 06:54, h...@computer.org wrote:
>
>
>
> > On 19 Jan., 04:57, Germán Arias <ger...@xelalug.org> wrote:
> >> Hi, after inspect the source of NSMenu.m and others files. I think  
> >> that
> >> I can try to implement the option NSWindows95InterfaceStyle. I have  
> >> one
> >> idea to do that, and I want know what do you think about this.
>
> >> Well, I think that the most easy and elegant way to implement this is
> >> make a new window with the horizontal menu and with a standard  
> >> toolbar.
> >> In others words, don't put the menu in an app's window. Instead this,
> >> make a new window (main window) to set the horizontal menu. For  
> >> example,
> >> if an app is like this
>
> >>  _____
> >> |Menu |
> >> |     |
> >> |     |       ____________________________________
> >> |     |       |___________________________________|
> >> |_____|       |                                   |
> >>               |                                   |
> >>               |                                   |
> >>               |                                   |
> >>               |         App's window              |
> >>               |                                   |
> >>               |                                   |
> >>               |                                   |
> >>               |                                   |
> >>               |___________________________________|
>
> >> After set NSWindows95InterfaceStyle, the app's look will by like this
>
> >> __________________________
> >> |_Main window_____________|
> >> |      <-- Menu -- >      |
> >> |_________________________|
> >> |   <- a standard         |
> >> |           toolbar -->   |
> >> |_________________________|
>
> >>           ________________________________________
> >>          |________________________________________|
> >>          |                                        |
> >>          |                                        |
> >>          |                                        |
> >>          |                                        |
> >>          |         App's window                   |
> >>          |                                        |
> >>          |                                        |
> >>          |                                        |
> >>          |                                        |
> >>          |________________________________________|
>
> >> To my this is an elegant solution, because make an horizontal menu  
> >> and,
> >> at the same time, conserve a distinctive look. In other hand, there  
> >> are
> >> many apps that implements that look, familiar to many people. Of  
> >> course,
> >> the programmer will by able to set his own toolbar in the main menu.
>
> >> What do you think about this idea?
>
> I don't use mswindows very much, but it does not appear to be the sort  
> of behavior you would expect from a windows application.
> I would expect use of NSWindows95InterfaceStyle to produce a menu in  
> each windows and remove the main menu:

Same for me.

>
> ie.
>   _____
> |Menu |
> |     |
> |     |       ____________________________________
> |     |       |___________________________________|
> |_____|       |                                   |  
> -------------------------
>                |                                   |  
> |-----------------------|
>                |                                   |  
> |                       |
>                |                                   |  
> |                       |
>                |         App's window              |  |  Another  
> window       |
>                |                                   |  
> |                       |
>                |                                   |  
> -------------------------
>                |                                   |
>                |                                   |
>                |___________________________________|
>
> would become
>
>            ________________________________________
>           |________________________________________|
>           |  <-- Menu -->                          |  
> -----------------------
>           |                                        |  
> |----------------------|
>           |                                        |  |  <-- Menu --
>  >        |
>           |                                        |  
> |                      |
>           |         App's window                   |  |  Another  
> window      |
>           |                                        |  
> |                      |
>           |                                        |  
> ------------------------
>           |                                        |
>           |                                        |
>           |________________________________________|
>
> > I had suggested before (maybe my mail got lost) to implement -
> > [NSWindow setMenu:] so that it simply adds a horizontal menu between
> > the menu title and the window's toolbar.
> > This would allow to add window menus to any application and interface
> > style. And to have different menus for each window
>
> > The only critical aspects I see are
> > * you can't define the menu in Interface Builder
> > * GORM may need an extension
> > * or the application must set up the menu programmatically
> > * the standard Application Menu still appears
>
> I guess I should have commented.
> Yes, to me it sounds like a good idea to use the field in the window  
> to hold the menu, and yes the menu should be displayed immediately  
> below the title (in the window decoration view.  I guess it would be  
> nice to allow the application to set this window.
> However, setting NSWindows95InterfaceStyle on the application's main  
> menu really ought to cause the menu window to be ordered out, and the  
> main menu to be set in any window where we haven't set another menu  
> programatically.

Very good comment!

>
> Of course, there are other questions ... presumably any NSPanel (or  
> subclass of NSPanel) should probably not get this behavior of having  
> the main menu set into it automatically.
> I guess we might have some behavior like:
>   [window setMenu: nil]  (window gets the main menu in it if  
> NSWindows95InterfaceStyle is in use for the main menu, otherwise no  
> menu)
>   [window setMenu: menu] (window gets some other menu set in it)
>   [window setMenu: [NSNull null]])  (window does not display a menu)
>
> So subclasses of NSWindow could control their behavior by having their  
> init method set their menu appropriately.

A subclass could also simply block (overwrite) setMenu and
interfaceStyle so the case for setting the menu to NSNull may not be
needed - unless I overlooked something.

Nikolaus



reply via email to

[Prev in Thread] Current Thread [Next in Thread]