home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / mac / developm / source / oodleutl.cpt / oodles-of-utils / dialog-items / cicn-di.lisp < prev    next >
Encoding:
Text File  |  1992-01-30  |  2.4 KB  |  78 lines

  1. (in-package :oou)
  2. (oou-provide :cicn-di)
  3. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  4. ;; cicn-di.Lisp
  5. ;;
  6. ;; Copyright ⌐ 1992 Northwestern University Institute for the Learning Sciences
  7. ;; All Rights Reserved
  8. ;;
  9. ;; author: Michael S. Engber
  10. ;;
  11. ;; cicn and cicn-button dialog items
  12. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  13.  
  14. (oou-dependencies
  15.  :graphic-rsrc-svm
  16.  :disable-dim
  17.  :button-dim)
  18.  
  19. (export '(cicn-di cicn-button-di set-view-cicn))
  20.  
  21. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  22.         
  23. (defclass cicn-di (graphic-rsrc-svm dialog-item)
  24.   ((rsrc-id         :initarg :cicn-id)
  25.    (rsrc-name       :initarg :cicn-name)
  26.    (rsrc-handle     :initarg :cicn-handle)
  27.    (graphic-scaling :initarg :cicn-scaling))
  28.   (:default-initargs
  29.     :rsrc-type "cicn"
  30.     ))
  31.  
  32. (defclass cicn-button-di (disable-dim button-dim cicn-di) ())
  33.  
  34. (defmethod rsrc-get-fn ((di cicn-di) rsrc-type rsrc-id-or-name)
  35.   (declare (ignore rsrc-type))
  36.   (etypecase rsrc-id-or-name
  37.     (fixnum (#_GetCIcon rsrc-id-or-name))
  38.     (string (#_GetCIcon (get-resource-id "cicn" rsrc-id-or-name)))))
  39.  
  40. (defmethod rsrc-dispose-fn ((di cicn-di) rsrc-handle rsrc-handlep)
  41.   (if rsrc-handlep
  42.     (error "Don't know how to dispose of resource 'cicn's")
  43.     (#_DisposCIcon rsrc-handle)))
  44.  
  45. (defmethod graphic-size ((di cicn-di) cicn-handle)
  46.   (declare (ignore di))
  47.   (subtract-points
  48.    (href cicn-handle :CIcon.iconPMap.bounds.botRight)
  49.    (href cicn-handle :CIcon.iconPMap.bounds.topLeft)))
  50.  
  51. (defmethod draw-graphic ((di cicn-di) cicn-handle rect)
  52.   (#_PlotCIcon rect cicn-handle))
  53.  
  54. (defmethod set-view-cicn ((di cicn-di) &key cicn-id cicn-name cicn-handle)
  55.   (set-view-resource di :rsrc-id cicn-id :rsrc-name cicn-name :rsrc-handle cicn-handle))
  56.  
  57. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  58.  
  59. #|
  60.  
  61. (open-res-file "oou:examples;examples.rsrc")
  62.  
  63. (setf *test-w*
  64.       (make-instance 'dialog
  65.         :window-type :document
  66.         :color-p t
  67.         :view-position :centered
  68.         :view-size #@(150 50)
  69.         :window-title "cicn demo"
  70.         :view-subviews (list (make-instance 'cicn-button-di
  71.                                :view-position #@(59 10)
  72.                                :cicn-name "executioner"
  73.                                :dialog-item-action #'(lambda (item) (declare (ignore item)) (ed-beep))
  74.                                :view-nick-name :cicn
  75.                                ))))
  76.  
  77.  
  78. |#