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

  1. (in-package :oou)
  2. (oou-provide :ICON-di)
  3. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  4. ;; ICON-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. ;; ICON and ICON-button dialog items
  12. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  13.  
  14. (oou-dependencies
  15.  :graphic-rsrc-svm
  16.  :disable-dim
  17.  :button-dim)
  18.  
  19. (export '(ICON-di ICON-button-di set-view-ICON))
  20.  
  21. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  22.         
  23. (defclass ICON-di (graphic-rsrc-svm dialog-item)
  24.   ((rsrc-id         :initarg :ICON-id)
  25.    (rsrc-name       :initarg :ICON-name)
  26.    (rsrc-handle     :initarg :ICON-handle)
  27.    (graphic-scaling :initarg :ICON-scaling))
  28.   (:default-initargs
  29.     :rsrc-type "ICON"
  30.     ))
  31.  
  32. (defclass ICON-button-di (disable-dim button-dim ICON-di) ())
  33.  
  34. (defmethod rsrc-get-fn ((di ICON-di) rsrc-type rsrc-id-or-name)
  35.   (declare (ignore rsrc-type))
  36.   (etypecase rsrc-id-or-name
  37.     (fixnum (#_GetIcon rsrc-id-or-name))
  38.     (string (#_GetIcon (get-resource-id "ICON" rsrc-id-or-name)))))
  39.  
  40. (defmethod graphic-size ((di ICON-di) ICON-handle)
  41.   (declare (ignore di ICON-handle))
  42.   #@(32 32))
  43.  
  44. (defmethod draw-graphic ((di ICON-di) ICON-handle rect)
  45.   (#_PlotIcon rect ICON-handle))
  46.  
  47. (defmethod set-view-ICON ((di ICON-di) &key ICON-id ICON-name ICON-handle)
  48.   (set-view-resource di :rsrc-id ICON-id :rsrc-name ICON-name :rsrc-handle ICON-handle))
  49.  
  50. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  51.  
  52. #|
  53.  
  54. (open-res-file "oou:examples;examples.rsrc")
  55.  
  56. (setf *test-w*
  57.       (make-instance 'dialog
  58.         :window-type :document
  59.         :color-p t
  60.         :view-position :centered
  61.         :view-size #@(150 50)
  62.         :window-title "ICON demo"
  63.         :view-subviews (list (make-instance 'ICON-button-di
  64.                                :view-position #@(59 10)
  65.                                :ICON-name "executioner"
  66.                                :dialog-item-action #'(lambda (item) (declare (ignore item)) (ed-beep))
  67.                                :view-nick-name :cicn
  68.                                ))))
  69.  
  70. |#