Fred Kiefer <[EMAIL PROTECTED]> writes:

> Hi Wim,
> 
> Willem Rein Oudshoorn wrote:
> >>Since the NSMenuViewWindowTitleBar-thingie is created in NSMenuView's
> >>initWithFrame, and the NSMenu creating the NSMenuView doesn't know its owned by
> >>a popup until right after its init, we are slightly screwed. I suppose we could
> >>catch this on the first sizeToFit in NSMenuView -- like we catch the left
> >>offset?

> > NSMenuView class into two:  GSPopupMenuView and GSMenuView.
> > But your suggestion is easier and Fred Kiefer might object
> > to the split.
> 
> looks as if there was some misunderstanding. I am strongly in favour
> of such a change. If there is sufficent difference between these cases
> split them up!
> What I don't like is, that you came up with a new protocoll for
> NSMenuView, which is not there in MacOSX nor Openstep and which is
> also not required for this change, as both classes will have the
> superclass NSMenuView.

Is there any other reason why you are against the protocol instead
of not being present in OpenStep / MacOSX?  
Also note that I see it more as an informal protocol codifying 
the interaction between NSMenuView with NSMenu, NSMenuItem and other 
NSMenuView's.

The disadvantage if inheriting from NSMenuView are the methods:

- setHorizontal
- setWindowFrameForAttachingToRect:onScreen:preferredEdge:popUpSelectedItem:

which are not always appropriate for the different kind of menus.
or methods like:

- attachedMenu

which should belong to NSMenu.


Also in my opinion the hierarchy should look like:


    GSMenuView  (implements informally the NSMenuView protocol)
       |
       |
   +---+--------------+
GSPopupMenuView   NSMenuView


Instead of:

   NSMenuView
      |
   GSPopupMenuView

Because what do you imagine that setHorizontal: YES on 
the GSPopupMenuView should do?

Also, remember that according to the documentation the 
NSMenuView class and friends do not work and are depricated.

Any comments?


Wim Oudshoorn.




_______________________________________________
Bug-gnustep mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-gnustep

Reply via email to