LispWorks CAPI User Guide > 2 Getting Started


2.3 Linking code into CAPI elements



  1. Try the following:
  2. (make-instance 'push-button
                   :data "Hello" 
                   #'(lambda (&rest args) 
                                "Hello World")))
    (contain *)

    Figure 2.3 Specifying a callback

  3. Click on the Hello button.

    Figure 2.4 A dialog displayed by a callback.

    The CAPI provides the function display-message to allow you to pop up a dialog sheet containing a message and a Confirm button. This is one of many pre-defined facilities that the CAPI offers. You can also pop up a dialog window rather than a sheet, using prompt-with-message .

Note: When you develop CAPI applications, your application windows are run in the same Window system event loop as the LispWorks IDE. This - and the fact that in Common Lisp user code exists in the same global namespace as the Common Lisp implementation - means that a CAPI application running in the LispWorks IDE can modify the same values as you can concurrently modify from one of the the LispWorks IDE programming tools.

For example, your CAPI application might have a button that, when pressed, sets a slot in a particular object that you could also set by hand in the Listener. Such introspection can be useful but can also lead to unexpected values and behavior while testing your application code.


LispWorks CAPI User Guide (Macintosh version) - 22 Dec 2009