CLIM mail archive


incremental redisplay documentation example bug


I ran the following testcase on an IBM RS/6000 displaying on a sun3
and wasn't able to reproduce your results.  Note: force-output was
added to get the first list to display.  

Does this work on your configuration?  Hmm.. Maybe this is a server
difference.  What kind of display are you using?


John S. Kern
Lucid, Inc.
Customer Support

(in-package :clim-user)

(defun com-test (&optional (stream (get-frame-pane *application-frame* 'output)))
  (window-clear stream)
  (let* ((list (list 1 2 3 4 5))
	   (clim:updating-output (stream)
	     (do* ((elements list (cdr elements))
		   (count 0 (1+ count))
		   (element (first elements) (first elements)))
		  ((null elements))
	       (clim:updating-output (stream :unique-id count
					     :cache-value element)
		 (format stream "Element ~D" element)
		 (terpri stream))))))
    (force-output stream)
    (sleep 2)
;    (setf (nth 2 list) 17)
;    (setf list (sort list #'(lambda (&rest args)
;			      (zerop (random 2)))))
    (setf (nth 4 list) 1)
    (setf (nth 0 list) 5)
    (clim:redisplay record stream)))

(define-application-frame test
    ((main  :application
	    :incremental-redisplay nil
	    :default-size :rest
	    :display-function 'display-main)
     (output :application
	     :incremental-redisplay t)
     (test-menu  :command-menu)))
     :inherit-from (user-command-table)
     (("EXIT"      :command com-exit)
      ("TEST-COM"  :command com-test)

(defmethod display-main ((frame test) stream)
  (format stream "Hello World")

(defun run (root)
  (let ((frame (make-application-frame 'test
					:parent root
					:left 0
					:top 0
					:right 500
					:bottom 500)))
    (run-frame-top-level frame)

(defun com-exit ()
  (frame-exit *application-frame*)


Main Index | Thread Index