CLIM mail archive

[Prev][Next][Index][Thread]

two clim questions



    Date: Thu, 17 Oct 1991 04:09 EDT
    From:     Rainer Koenig <rkoenig@gate.fzi.de>


    I'm actually using clim1.0 on a symbolics and on allegro

    Here are two clim questions


    1. I have two clim-panes. The first one (view-pane) displays a viewport of the 
    second one (display-pane). On the display-pane I print a frame to show which part
    of the picture is presented in the view-pane (the view-pane has got scrollbars).
    Both panes use incremental-redisplay. 
    The description of the frame is a object. This object contains a mark to detect
    whether the viewport in the view-pane has changed (this is controlled by an after 
    method to the function "window-set-viewport-position*"). The frame will be displayed
    in an updating-output environment with the cache-value "mark". 
    When I change the viewport of the view-pane, the object of the frame will
    change correctly, but the frame in the display-pane don't change.

    What's the way to refresh the display-pane when changing the viewport of the
    view-pane?

    I tried to save the updating-output-record and to use redisplay in the function 
    "window-set-viewport-position*". But this failed too.

I would have to see some code.

    2. I display some text in a window.
    Therefore I open a window with clim:open-window-stream. After some actions I want to
    deexpose this window with the following function:

    (defun my-window-deexpose (stream)
      (let ((whole-stream (frame-top-level-window *proroad*)))
	(format stream
		"string")
	(stream-input-wait whole-stream)
	(clim-lisp:stream-clear-input whole-stream)
	(clim:force-output stream)
	(clim:close stream)
	))

    This works fine on the symbolics but not with allegro

You should use the (poorly named) macro WITH-MENU, which allocate a
"temporary" window from a resource.  Use CLIM::BOUNDING-RECTANGLE-SET-EDGES
(or CLIM::BOUNDING-RECTANGLE-SET-SIZE) to set the edges (or just the
size) of the window.  WITH-MENU will take care of deinitializing the
window for you.  It is an oversight that the two functions are not
exported, so don't worry about it.



0,,


Main Index | Thread Index