CLIM mail archive

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

Re: clicking on windows



    Date: Wed, 6 Nov 1991 17:05 EST
    From: Scott McKay <SWM@sapsucker.scrc.symbolics.com>

	Date: Wed, 6 Nov 1991 16:43 EST
	From: neves@ils.nwu.edu (David Neves)

	The platforms are CLOE/CLIM and MCL/CLIM.  

	After sending the message I figured that part of the answer might be to use
	open-window-stream for the large background window and use that window as a
	parent for the other windows that will appear above it.  That way the
	parent wouldn't ever appear on top of the children -- even if it was
	clicked on.  Would that be the cleanest way of doing what we want?  
I haven't had an opportunity to check this under CLOE, but it ought to work, see
below.
    That seems reasonable.

									    If we
	create the windows ourselves then I am not sure what we would use an
	application frame for -- if anything.  What do application frames give you
	-- other than a pane layout and default top level loop for commands?  What
	do we give up if we go to a low level like this?  

    As a general rule, all CLIM applications must be written in the context
    of an application frame.  For example, the command processor and parts
    of the presentation type system depend on this.  I do not recommend
    trying to do anything outside without using DEFINE-APPLICATION-FRAME.
    What you can do is to create a frame with only a single pane, which pane
    is exactly the "large background window" you refer to above.  Make the
    other panes be children of that window, and see if it works.  Be aware
    that you are breaking new ground as far as CLIM 1.0 goes, and that CLIM
    1.0 is not meant to have a coherent model here.  CLIM 2.0 will do much
    better w.r.t. window management.

	Someone here kludged some code that would move and resize frame panes after
	they were initially created from make-application-frame.  That way they got
	all the application frame stuff and also got the panes the way they wanted
	them.
You could try a hybrid of your two approaches -- use the application-frame's top-level-window
as your background window, then resize the contained panes so that they leave some of
the top-level-window in view.  You would then be using the panes in the normal way,
but be treating the top-level-window as an independent stream.
    That is entirely reasonable, too.

0,,

References:

Main Index | Thread Index