[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