home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / mac / developm / source / oodleutl.cpt / oodles-of-utils / dialog-items / static-text-di.lisp < prev   
Encoding:
Text File  |  1992-03-12  |  2.4 KB  |  79 lines

  1. (in-package :oou)
  2. (oou-provide :static-text-di)
  3. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  4. ;; static-text-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. ;; static text dialog items
  12. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  13.  
  14. (oou-dependencies :static-text-svm)
  15.  
  16. (export '(static-text-di h-text-indent v-text-indent))
  17.  
  18. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  19.  
  20. (defclass static-text-di (static-text-svm dialog-item)
  21.   ((h-text-indent :initarg :h-text-indent
  22.                   :accessor h-text-indent)
  23.    (v-text-indent :initarg :v-text-indent
  24.                   :accessor v-text-indent)
  25.    (text-string   :initarg :dialog-item-text
  26.                   :reader  dialog-item-text))
  27.   (:default-initargs 
  28.     :h-text-indent 1
  29.     :v-text-indent 1
  30.     ))
  31.  
  32.  
  33. #|
  34.  
  35. (defmethod view-draw-contents :before ((di static-text-di))
  36.   (multiple-value-bind (topLeft botRight) (view-corners di)
  37.     (rlet ((r :Rect :topLeft topLeft :bottomRight botRight))
  38.       (#_EraseRect r))))
  39. |#
  40.  
  41. (defmethod text-margins ((di static-text-di))
  42.   (let ((p (make-point (h-text-indent di) (v-text-indent di))))
  43.     (values p p)))
  44.  
  45. (defmethod (setf h-text-indent) :after (new-indent (di static-text-di))
  46.   (declare (ignore new-indent))
  47.   (invalidate-view di t))
  48.  
  49. (defmethod (setf v-text-indent) :after (new-indent (di static-text-di))
  50.   (declare (ignore new-indent))
  51.   (invalidate-view di t))
  52.  
  53. (defmethod set-dialog-item-text ((di static-text-di) string)
  54.   (setf (text-string di) string))
  55.  
  56. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  57.  
  58. #|
  59.  
  60. ;;; a modest example
  61.  
  62. (progn
  63.   (setf *test-w*
  64.         (make-instance 'dialog
  65.                        :window-type :document
  66.                        :view-position :centered
  67.                        :view-size #@(200 100)
  68.                        :window-title "rect-button-dim demo"))
  69.   (add-subviews *test-w* (make-dialog-item 'static-text-di
  70.                                            #@(20 20)
  71.                                            #@(130 42)
  72.                                            "totally awesome static text"
  73.                                            #'(lambda (item) (declare (ignore item)) (ed-beep))
  74.                                            :view-nick-name :butt
  75.                                            )))
  76.  
  77. |#
  78.  
  79.