Re: AW: LWM - no services menu
On Mar 7, 2007, at 7:58 PM, js@codeartist.org wrote:
> I cannot speak about the services menu, but drag and drop is
> definitely working in LispWorks. We have a working DnD
> implementation for CAPI (on Win32 and Mac OSX).
I think you misunderstood me. I said that using the standard cocoa
means to register for dragged types does not work in either an
ordinary CAPI pane, nor in a capi:cocoa-view-pane. It *does* work if
you load a window from a .nib file, and then call
registerForDraggedTypes: but this means *not* using CAPI.
As Edi said, if you have DnD working with CAPI on OS X it is because
you hacked up your own implementation, not because the normal,
usually one line, simple cocoa means of registering for drags works
with CAPI. It does not. Again, it works with .nib based windows, but
*not* with capi:cocoa-view-panes or ordinary capi views.
Similarly, since LispWorks main menu is *not* loaded from a .nib, but
rather constructed programmatically, it is therefore responsible for
installing a services menu - something you essentially get for free
if you load your main menu from a .nib rather than construct it
programmatically. LispWorks is not installing a services menu.
from <http://developer.apple.com/documentation/Cocoa/Conceptual/
SysServices/Concepts/menu.html>
"The Services menu is included in the default nib file created by
Xcode and Interface Builder for Cocoa applications. If the
application’s menu is instead created programmatically, you need to
designate a Services menu using the NSApplication method
setServicesMenu:. If an application registers for services (see
“Using Services”), the appropriate items are automatically available
in the Services menu."
The means of doing so programmatically are described here: <http://
developer.apple.com/documentation/Cocoa/Conceptual/SysServices/Tasks/
using.html#//apple_ref/doc/uid/20000854-CEGDDHJJ>
regards,
Ralph
Raffael Cavallaro, Ph.D.
raffaelcavallaro@mac.com