CLIM mail archive

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

specializing CLIM windows ...



    Date: Fri, 27 Mar 1992 17:31 EST
    From: Richard Billington <buff@cc.gatech.edu>

    The doc. for CLIM:open-window-stream option :window-type says:

	    The name of the clas of window to create. The default
	    is the class normally used by CLIM for the parent win-
	    dow. This argument is provided so that you can special-
	    ize CLIM window classes, but should be used sparingly.

    Ok. Now, if I look at what it opens without this parameter, it's
    CLIM::SHEET-WINDOW-STREAM, which looks like it is composed of CLIM::WINDOW
    STREAM and CLIM::SHEET-IMPLEMENTATION-MIXIN. I (apparently incorrectly)
    assumed that I needed to specialize the CLIM::WINDOW-STREAM class so I could
    remain device independent - I figured that the :PARENT option would make it
    clear that I needed to have the sheet stuff mixed in. Yea, it sounds like
    magic, but I was hoping that I could specialize a CLIM window class that was
    device independent. Is this doable in some way?

No.  CLIM 1.0 is entirely deficient in this area.  CLIM 2.0 breaks up
"window streams" into device-indepedent classes that support generic
"window stream-ness" and device-dependent classes that support generic
operations for each type of display device.

The only thing you can do in CLIM 1.0 is to write a device-independent
class, and then specialize CLIM::SHEET-WINDOW-STREAM for Genera sheets,
CLIM::CLX-WINDOW for X windows, and CLIM::CLOE-WINDOW-STREAM for CLOE.
Sorry this is so bad, it will get much better when CLIM 2.0 is out.

    PS When I created my window (or tried) the debugger told me I had to specify a
    value for :DISPLAY-DEVICE-TYPE, which the manual says is one of those
    "remaining keyword arguments" which "are internal and should not be used".


References:

Main Index | Thread Index