Features Download
From: Paul Krueger <plkrueger <at> comcast.net>
Subject: Updated Contrib
Newsgroups: gmane.lisp.openmcl.devel
Date: Tuesday 14th May 2013 19:33:14 UTC (over 5 years ago)

I finally checked in a completely new revision of my contrib:

All code requires OSX 10.7 or higher and CCL 1.9 or higher.

Synopsis of features:
UserInterfaceTutorial.pdf is an extensive description of how to construct
Cocoa user interfaces without having to resort to Xcode or
InterfaceBuilder. It makes heavy use of Cocoa's layout constraint
CCL Cocoa Developer Tools Tutorial.pdf explains how to install and use
application build/test code within the CCL IDE to construct apps that you
can also run within the IDE for testing before creating stand-alone
Lisp-KVO Reference & Tutorial.pdf explains functionality that lets you make
slots in standard Lisp classes be KVO compliant and supports binding
between Objective-C view properties and those slots. 
LispController Reference.pdf describes how to use the lisp-controller class
as a lisp-friendly controller to manage view objects like NSTableView
Code Highlights
Major Functionality
Support for running Lisp apps under the CCL IDE, including swapping of the
main menu
Tools for creating stand-along Lisp apps
Support for binding between Objective-C objects and Lisp slots
Extensive Lisp/Objective-C data conversion support via a coerce-obj method
Conversion of standard-instance objects to a format that can be archived to
disk and restored correctly.
Initialize-instance :after methods for 20 common Objective-C classes that
let you call make-instance for them using typical lisp keyword
initialization syntax with all necessary data conversion done automatically
for you. As a design principle, no default behavior is modified by these
methods unless explicitly requested via a keyword argument. These are
self-documenting via a window that can be invoked from the CCL Tools menu
which shows and lets you search class hierarchies and see permitted
initialization keywords, acceptable keyword values, and allowed binding
Lisp interface for Apple's layout constraint functionality including the
addition of several common layout idioms to make window design easier. See
Appendix B in UserInterfaceTutorial.pdf for a complete description.
Special purpose utility classes and functionality
An N-dimensional sparse associative array
A Lisp attributed string stream class
Date manipulation and formatting utilities
Bundle interface code
NIB interface code
Lisp interface to Cocoa "undo" functionality
Lisp-document class which provides support for saving, loading, undo'ing,
and printing documents defined with lisp data slots
Lisp-window-controller class which supports window "loading" using a lisp
function rather than loading from a NIB file
Lisp interface to the Cocoa notification functionality.
A thread-safe queue implementation
Custom view classes and view-supporting classes
combo-box source class
Support for acting as a data source for NSTableView and NSOutlineView
Menu and menuitem creation functions for both common and custom items
Lisp interface to NSOpenPanel and NSSavePanel
Lisp button class that lets buttons call lisp methods
An organized-box-view that arranges subviews as directed
A resizable-box-view that dynamically rearranges its content views into a
reasonable array as the box size changes
A radio-button box view which calls lisp methods when buttons are selected
A scrolled text view
A scrolled text view which can act as a Lisp output stream
Label view
Labeled text field
A form-view which is an aligned set of text fields with labels

If you run into any problems, please contact me directly and I'll try to
address them. Any suggestions or other comments are welcomed.

CD: 3ms