[mcclim-devel] accepting-values: prompts not clickable, no redraw, improper output recording?

Clemens Fruhwirth clemens at endorphin.org
Mon Dec 5 09:21:54 UTC 2005


The attached test case does produce strange results for accepting-values
calls. In the test case you will find 2 commands. The first one causes
an implicit accepting values to be generated when you click on the menu
button (or type "Implicit AV<ret>" in the interactor pane). In my CVS
checkout (about 12 hours old), the Implicit AV command presents three
prompts, of that only the last one accepts input. Notice, when damaging
the draw area only the last one is repainted, even though not shown
first. Explicit AV also generates three prompts, of that the first and
the last accepts input. Both are redrawn upon X damage.

I also put up a video of this behaviour in case it is not reproducable
for you. They are at 
http://clemens.endorphin.org/strange-clim-artefacts/

(Most of them are MPEG4 provided with four different flavors of
fourcc. The last is in Motion JPEG, but quite huge. I won't give an
off-topic explaination here of what caused the problems seen by those
participating in the IRC discussion of this bug, but when you're
interested http://itdp.fh-biergarten.de/~itdp/html/mplayer-users/2005-03/msg00069.html )

Regards,
-- 
Fruhwirth Clemens - http://clemens.endorphin.org 
for robots: sp4mtrap at endorphin.org
-------------- next part --------------
(eval-when (:compile-toplevel)
  (asdf:oos 'asdf:load-op :clim)
  (asdf:oos 'asdf:load-op :clim-clx))

(in-package :clim-user)

(define-application-frame draw-frame () ()
  (:pane
   (scrolling () (make-pane 'interactor-pane :scroll-bars :both))))
     
(define-draw-frame-command (com-implicit-AV :menu t :name t) ((string 'string) (x 'integer) (y 'integer)) ())

(define-draw-frame-command (com-explicit-AV :menu t :name t) ()
  (let ((input-stream (frame-standard-input *application-frame*)))
    (format t "~A~&" input-stream)                    ; Make sure we got the interactor panes
    (accepting-values (input-stream)
		      (accept 'string :prompt "A string" :stream input-stream )
		      (terpri input-stream)
		      (accept 'integer :prompt "An integer" :stream input-stream )
		      (terpri input-stream)
		      (accept 'integer :prompt "An integer" :stream input-stream ))))


More information about the mcclim-devel mailing list