[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Windows-/KDE-/Gnome-style menus (was: Question about NSMenuView)
From: |
address@hidden |
Subject: |
Re: Windows-/KDE-/Gnome-style menus (was: Question about NSMenuView) |
Date: |
Wed, 14 Jan 2009 23:34:49 -0800 (PST) |
User-agent: |
G2/1.0 |
On 15 Jan., 04:24, Markus Hitter <m...@jump-ing.de> wrote:
> Am 14.01.2009 um 22:08 schrieb Fred Kiefer:
>
> > Getting a menu inside of a window is not that easy. You will have to
> > hack through NSMenu a bit. If you know what you are doing this is
> > fine,
> > but don't expect to get every step explained by this mailing list. We
> > don't even know, whether you plan to give the resulting code back to
> > GNUstep.
>
> To chime in here: I'd love to see Windows-/KDE-/Gnome-style menus as
> a third option along NeXT- and Mac-style menus. While menus at the
> top border of each window probably don't match the latest findings of
> ergonomics, really a lot of people are simply used to it.
> Additionally, such a feature is essential if one wants to integrate
> GNUstep applications using menus into one of these desktop environments.
>
> So please, Germán André Arias Santiago, consider implementing window-
> hosted menus right into GNUstep's frameworks.
>
> MarKus
>
> - - - - - - - - - - - - - - - - - - -
> Dipl. Ing. Markus Hitterhttp://www.jump-ing.de/
Regarding the API there is IMHO a very natural approach:
NSResponder as the abstract superclass defines -setMenu. For
NSApplication, this obviously sets the main menu. For a NSControl this
usually sets the context menu.
But for NSWindow it is simply unused - although the iVar already
exists (inherited from NSResponder).
So the most natural extension would be to add this behaviour for -
[NSWindow setMenu:]. It may be possible to implement it similar to
NSToolbar (i.e. add a menu-display subview as a sibling of the
contentView).
The key tasks to do are IMHO to add/remove this view dynamically and
make it redisplay if the menu changes. And, add this to the window
frame height calculations. And invent a solution how to handle menus
that don't fit into the width.
Nikolaus