CLIM mail archive
specializing CLIM windows ...
Date: Fri, 27 Mar 1992 17:31 EST
From: Richard Billington <email@example.com>
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".
Main Index |