Cheese thoughts

Andreas Raab raab at isgnw.cs.Uni-Magdeburg.DE
Sun Mar 22 17:15:06 UTC 1998


Sorry that I've been so quiet in the discussion about Cheese. In general,
I'd _love_ to have some native window support if the platform supports it.
It makes one feel like being at home ;-) I have had a look at a previous
version of Cheese and I like the general approach of it. There are,
however, still some open questions I would like to raise. Such as for
instance the question, how events should be handled. To give an
example, your OS/2 implementation defines an external callback function
for the window events. While this is a suitable approach, it hides some
significant functionality from the ST side. There may be events one wishes
to process directly (i.e. blocking resizes or other stuff) and not to
leave to the VM. An example for this is, how I intercept the usual ALT-F4
window closing mechanism in the Windows VM of Squeak. There is probably no
easy way of dealing with it, but here is a suggestion: One could try to
"configure" the VM (i.e. the external callback) with actions to be taken,
such as:
* do the default action (this is triggered if the window has not
  registered interest in an event)
* ignore it (don't do anything upon receiving this event)
* do the default action and inform the window that this has happened
  (could be default for actions like window resize etc.)
* ignore it and inform the window of this event
  (could be default for closing a window, when the contents of the window
  needs to be checked for modifications)

Another question is that of drawing graphics. While the modern GUIs
provide us with some high-level widgets for things like scroll bars, lists
or even whole text editors, in a whole lot of applications this is just
not enough. Given that Cheese is not only for "08-15" applications [1]
we need some sort of graphics output device. I could think of using class
Canvas as a base for these operations. It's already in the image and its
functionality seems rather clear and well structured to me. Even more, by
using Canvas as the base, we would immediately have the ability to run any
morphic world in any OS window.

Finally, I would love to see a pure emulation layer in Cheese which is
entirely based on the current Squeak desktop approach. Since Squeak can be
used on machines with virtually no OS there should also be some way of
using Cheese on it. Because then, we could easily use an approach like
"develop on your desktop machine - run it on any handheld device". And I
would love to see Squeak/Cheese on any toaster in this universe ;-)

Just some thoughts,

[1] "08-15" - the standard rifle of the germans in world war I.
    Has become a general synonym for not doing anything besides 
    the main direction (or, with Alan's words, entirely pink stuff).
Linear algebra is your friend - Trigonometry is your enemy.
+===== Andreas Raab ============= (raab at =====+
I Department of Simulation and Graphics      Phone: +49 391 671 8065  I
I University of Magdeburg, Germany           Fax:   +49 391 671 1164  I
+=============< >=============+

More information about the Squeak-dev mailing list