[mcclim-devel] No scrolling in interactor pane

Timothy Moore moore at bricoworks.com
Sat Jul 2 21:40:13 UTC 2005


On Jul 2, 2005, at 10:46 PM, Raymond Toy wrote:

> I've been playing around a bit over the last few days and have kind of 
> hooked up maxima with mcclim, basically cargo-culting the listener 
> app.  The basic interaction works, and the computed expressions are 
> displayed correctly.  (Some random screenshots can be found at 
> http://common-lisp.net/~rtoy.  In particular, maxima-repl-boxed.png 
> shows what the subexpressions should be.)
>
> In this case, the output is computed as a string by maxima, and that 
> is printed to the mcclim's *standard-output*.
>
> However, to be able to present subexpressions (eventually), I changed 
> the way output is done.  I use maxima's capabilities of drawing to a 
> terminal with cursor positioning and thus set the 
> stream-cursor-position as needed.
>
> This also works.  Until I reach the bottom of the interactor pane.  
> The pane never scrolls down and the prompt keeps getting overwritten.
>
> I'm obviously missing something, but I don't know what.
> Anyone have some hints for this clim newbie?
>
This is annoying. If you're outputing a stream of expressions, like in 
a listener, you could try a call to fresh-line after each one. 
Otherwise You can try code like:

(defclass redisplay-frame-mixin ()
   ())

(defmethod redisplay-frame-pane :after
     ((frame redisplay-frame-mixin) (pane application-pane) &key force-p)
   (declare (ignore force-p))
   (change-space-requirements
    pane :height (bounding-rectangle-height (stream-output-history 
pane))))

Tim




More information about the mcclim-devel mailing list