nil
, a menu, or the name of a slot containing a menu in the application interface.
nil
, a menu, or a function designator.
application-interface-message-callback
application-interface-application-menu
application-interface-dock-menu
The class
cocoa-default-application-interface
supports application messages and the application menu for a Cocoa application.
When non-
nil
,
message-callback
should be a function with signature
message-callback
will be called for various application messages. The
interface
argument will be the application interface and the
message
argument will be a keyword. The only currently defined message is
:open-file
. In this case
args
will contain the name of the file to open. This message is invoked when the user double-clicks on a document associated with the application or drags a document into the application icon.
application-menu
controls the application's main menu. If this is
nil
, then a minimal application menu will be made using the title of the application interface, otherwise it should be a menu containing the usual items or the name of a slot containing such a menu in the application interface.
dock-menu
provides a menu for use by the Mac OS X Dock icon. If the value is
nil
(the default), then the standard menu is used. If
dock-menu
is a function designator, it is called with the application interface as its argument when the menu is popped up and should return a menu. Otherwise
dock-menu
should be a menu, which is used directly. The Dock will add the standard items such as
Quit
to the end of the menu you supply.
interface initargs are interpreted as follows:
The application interface also allows you to control aspects of the application. In particular:
:hidden
if the whole application is hidden and will return
:normal
otherwise.
(setf top-level-interface-display-state)
can be used to perform some operations typically found on the application menu. The display-state value can one of:
Show the application and activate it
Show the application again without activating it
Hide
Show All
To make your application use your
cocoa-default-application-interface
, do not display it explicitly, but call set-application-interface.
Note:
cocoa-default-application-interface
is implemented only in LispWorks for Macintosh with the Cocoa IDE.
examples/capi/applications/cocoa-application.lisp