[info-mcl] RMCL editable-text-dialog-item

Glen Foy lisp at clairvaux.org
Tue Jul 14 14:46:17 CDT 2009


On Jul 14, 2009, at 2:09 PM, Terje Norderhaug wrote:

> What about calling set-view-container in an initialize- 
> instance :after method on editable-text-dialog-item?
>
> I haven't tested this at all, but something like this (assuming  
> there isn't already an :after method):
>
> (defmethod initialize-instance :after ((item editable-text-dialog- 
> item) &key view-container)
> 	(set-view-container item view-container))


Good man, Terje.  We can't use :view-container as the keyword  
parameter, but if we call it :container, that will be a decent  
workaround:

(defClass FOO (color-dialog)
   ((editable-text :initform nil :accessor foo-editable-text))
   (:default-initargs
         :window-title "Bug Demo"
         :theme-background t
         :view-size (make-point 200 50)
         :view-position #@(50 50)))

This is new:
(defMethod initialize-instance :after ((item editable-text-dialog- 
item) &key container)
    (when container (set-view-container item container)))

(defMethod ccl::window-make-parts :after ((dialog foo) &rest rest &key)
    (declare (ignore rest))
    (setf (foo-editable-text dialog)
          (make-instance 'editable-text-dialog-item :dialog-item-text  
"Foobar"
                           :view-size #@(100 25)
                           :view-position #@(15 15)
                           ;; just :container here, not :view-container
                           :container dialog)))

;;; (make-instance 'foo)




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://clozure.com/pipermail/info-mcl/attachments/20090714/2bb1cc52/attachment.html>


More information about the info-mcl mailing list