In Squeak, is it possible for a GUI program to have multiple windows? For example, if I am making a painting application, is it possible for the "paint palette" and the "canvas" to be separate windows in the operating system's desktop environment? Or is Squeak limited to the single window of the running image?
Yes, you can open multiple host os windows from Squeak. You can to some extent use host os menus too.
Waaay back in 2004 this was apparently a massive issue and we just Had To Have Host Windows. So John McIntosh & I wrote the the relevant VM code, the low-level supportcode, some examples and... crickets. I have seen some use of the capability but in the end it really doesn’t seem to be that important.
I understand that your question is referring to windows that the operating system or display server provides, not further windows within the Squeak window.
Squeak has support to open further OS windows, called "host windows". Please look at the class DisplayHostWindow
. Read its class comment because it also points to two example methods.
What I do not know is how to run Morphic within such an extra window, rather than drawing directly to it. Maybe another answerer can help.
© 2022 - 2024 — McMap. All rights reserved.