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.
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