home *** CD-ROM | disk | FTP | other *** search
- (in-package :oou)
- (oou-provide :static-text-di)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; static-text-di.Lisp
- ;;
- ;; Copyright ⌐ 1992 Northwestern University Institute for the Learning Sciences
- ;; All Rights Reserved
- ;;
- ;; author: Michael S. Engber
- ;;
- ;; static text dialog items
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
- (oou-dependencies :static-text-svm)
-
- (export '(static-text-di h-text-indent v-text-indent))
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
- (defclass static-text-di (static-text-svm dialog-item)
- ((h-text-indent :initarg :h-text-indent
- :accessor h-text-indent)
- (v-text-indent :initarg :v-text-indent
- :accessor v-text-indent)
- (text-string :initarg :dialog-item-text
- :reader dialog-item-text))
- (:default-initargs
- :h-text-indent 1
- :v-text-indent 1
- ))
-
-
- #|
-
- (defmethod view-draw-contents :before ((di static-text-di))
- (multiple-value-bind (topLeft botRight) (view-corners di)
- (rlet ((r :Rect :topLeft topLeft :bottomRight botRight))
- (#_EraseRect r))))
- |#
-
- (defmethod text-margins ((di static-text-di))
- (let ((p (make-point (h-text-indent di) (v-text-indent di))))
- (values p p)))
-
- (defmethod (setf h-text-indent) :after (new-indent (di static-text-di))
- (declare (ignore new-indent))
- (invalidate-view di t))
-
- (defmethod (setf v-text-indent) :after (new-indent (di static-text-di))
- (declare (ignore new-indent))
- (invalidate-view di t))
-
- (defmethod set-dialog-item-text ((di static-text-di) string)
- (setf (text-string di) string))
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
- #|
-
- ;;; a modest example
-
- (progn
- (setf *test-w*
- (make-instance 'dialog
- :window-type :document
- :view-position :centered
- :view-size #@(200 100)
- :window-title "rect-button-dim demo"))
- (add-subviews *test-w* (make-dialog-item 'static-text-di
- #@(20 20)
- #@(130 42)
- "totally awesome static text"
- #'(lambda (item) (declare (ignore item)) (ed-beep))
- :view-nick-name :butt
- )))
-
- |#
-
-