Index: /branches/ide-1.0/ccl/examples/cocoa-defaults.lisp
===================================================================
--- /branches/ide-1.0/ccl/examples/cocoa-defaults.lisp	(revision 6732)
+++ /branches/ide-1.0/ccl/examples/cocoa-defaults.lisp	(revision 6733)
@@ -133,2 +133,17 @@
                (unless (%null-ptr-p newval)
                  (set name (#/retain (#/unarchiveObjectWithData: ns:ns-unarchiver newval))))))))
+
+;;; Return an NSDictionary describing the "default" values of the defaults.
+(defun cocoa-defaults-initial-values ()
+  (let* ((defaults (cocoa-defaults))
+         (dict (make-instance 'ns:ns-mutable-dictionary
+                              :with-capacity (length defaults))))
+    (dolist (d defaults dict)
+      (#/setObject:forKey: dict
+                           (case (cocoa-default-type d)
+                             (:color (#/archivedDataWithRootObject:
+                                      ns:ns-archiver
+                                      (cocoa-default-value d)))
+                             (t
+                              (%make-nsstring (format nil "~a" (cocoa-default-value d)))))
+                           (objc-constant-string-nsstringptr (cocoa-default-string d))))))
