Changeset 6761


Ignore:
Timestamp:
Jun 18, 2007, 1:42:02 AM (17 years ago)
Author:
Gary Byers
Message:

Hypersspec setup stuff; still not finished.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ide-1.0/ccl/examples/cocoa-prefs.lisp

    r6752 r6761  
    8484    ((self lisp-preferences-window-controller)
    8585     sender)
    86   )
     86  (declare (ignore sender))
     87  (let* ((panel (make-instance 'ns:ns-open-panel))
     88         (values (#/values (#/sharedUserDefaultsController ns:ns-user-defaults-controller))))
     89    (#/setAllowsMultipleSelection: panel nil)
     90    (#/setCanChooseDirectories: panel t)
     91    (#/setCanChooseFiles: panel nil)
     92    (when (eql
     93           (#/runModalForDirectory:file:types:
     94            panel
     95            (#/valueForKey: values #@"hyperspecFileURLString")
     96            +null-ptr+
     97            +null-ptr+)
     98           #$NSOKButton)
     99      (let* ((filename (#/objectAtIndex: (#/filenames panel) 0)))
     100        (#/setValue:forKey: values filename #@"hyperspecFileURLString")))))
     101
    87102
    88103
     
    90105  (cond (*lisp-preferences-panel*)
    91106        (t
    92          (update-cocoa-defaults)
    93          (#/setValueTransformer:forName:
    94           ns:ns-value-transformer
    95           (make-instance 'font-name-transformer)
    96           #@"FontNameTransformer")
    97          (let* ((sdc (#/sharedUserDefaultsController ns:ns-user-defaults-controller)))
    98            (#/setInitialValues: sdc (#/setAppliesImmediately: sdc nil))
    99            (cocoa-defaults-initial-values)
    100            (let* ((controller (make-instance lisp-preferences-window-controller
     107         (let* ((domain (#/standardUserDefaults ns:ns-user-defaults))
     108                (initial-values (cocoa-defaults-initial-values)))
     109           (#/registerDefaults: domain initial-values)
     110           (update-cocoa-defaults)
     111           (#/setValueTransformer:forName:
     112            ns:ns-value-transformer
     113            (make-instance 'font-name-transformer)
     114            #@"FontNameTransformer")
     115           (let* ((sdc (#/sharedUserDefaultsController ns:ns-user-defaults-controller)))
     116             (#/setAppliesImmediately: sdc nil)
     117             (#/setInitialValues: sdc initial-values)
     118             (let* ((controller (make-instance lisp-preferences-window-controller
    101119                                             :with-window-nib-name #@"preferences"))
    102120                  (window (#/window controller)))
    103              (unless (%null-ptr-p window)
    104                (#/setFloatingPanel: window t)
    105                (#/addObserver:selector:name:object:
    106                 (#/defaultCenter ns:ns-notification-center)
    107                 controller
    108                 (@selector #/defaultsChanged:)
    109                 #&NSUserDefaultsDidChangeNotification
    110                 (#/standardUserDefaults ns:ns-user-defaults))
    111                #+debug (#_NSLog #@"sdc = %@" :id sdc)
    112                (setq *lisp-preferences-panel* window)))))))
     121               (unless (%null-ptr-p window)
     122                 (#/setFloatingPanel: window t)
     123                 (#/addObserver:selector:name:object:
     124                  (#/defaultCenter ns:ns-notification-center)
     125                  controller
     126                  (@selector #/defaultsChanged:)
     127                  #&NSUserDefaultsDidChangeNotification
     128                  (#/standardUserDefaults ns:ns-user-defaults))
     129                 (setq *lisp-preferences-panel* window))))))))
    113130
    114131 
     
    121138(objc:defmethod (#/makeKeyAndOrderFront: :void)
    122139    ((self lisp-preferences-panel) sender)
    123   (#/setShowsAlpha: (#/sharedColorPanel ns:ns-color-panel) t)
     140  (#_NSLog #@"panel becoming main")
     141  (let* ((color-panel (#/sharedColorPanel ns:ns-color-panel)))
     142    (#/close color-panel)
     143    (#/setAction: color-panel +null-ptr+)
     144    (#/setShowsAlpha: color-panel t))
    124145  (call-next-method sender))
    125146
Note: See TracChangeset for help on using the changeset viewer.