Boris G. Chr. Shingarov
usib6tfj at pol.ru
Mon Mar 16 03:56:16 UTC 1998
After Cheese 4 is there, and questions like 'how do I get
callbacks working' seem clear, I afforded to put a little
more thought into design; and I must admit that after a
view from a more general perspective I'm not too happy. I
think the design of Cheese should be enhanced to not break
Squeak portability. I wrote my thoughts on how to do it
in a document I uploaded to create today, the filename is
CheeseDoc.v0.1.ps.gz (gzipped PostScript).
Please share your opinions (good/bad, how to improve, ...)
Here is a short citation from the first page:
Cheese is a work-in-progress to enable Squeak use native
resources of modern GUI systems, while not sacrificing
portability not only among such systems but preserve BitBlt
for systems which require it (like DOS).
To achieve this portability, Cheese introduces an intermediate
layer to the architecture of the system. The protocol provided
by this layer is used by Smalltalk tools like browsers or
workspaces, and may be used by or reside on top of UI frameworks
like Morphic. This variable level of abstraction allows
higher-level code use BitBlt or native windows completely
For example, a SystemBrowser uses the protocol provided by Cheese
to display a window consisting of several panes. On Windows or
Motif, these panes may be native widgets; a WorldMorph is also
a window. On the other hand, on another platform Cheese may
depend on Morphic in its notion about how to display, say, a ListBox.
This document tries to provide a common base for Cheese portability
to GUI platforms of different nature, such as Win32, OS/2 PM,
OSF/Motif, and MacOS.
More information about the Squeak-dev