Hi, You should make your own Morph subclass, override the #drawOn: method which receives a canvas as its parameter, and use this canvas to make your diagram. Then, if you want it to be inside a window, you can send #openInWindow to your morph instead of #openInWorld. A very simple example is attached. Open it by doing:
ExampleMorph new openInWindow
Best regards, Richo On Tue, Dec 13, 2011 at 1:59 PM, KasperOsterbye <kasper@itu.dk> wrote:
15 years ago I did a lot in Smalltalk, and have done some recreational meta programming along the way. However, I now wanted to do something where I was in need of drawing a diagram with x and y axes on what I presume might be called a Canvas.
I lack a simple tutorial to get me started. I have looked at many, but they seem to presume I want to draw on the world "openInWorld". I should like not to scatter my world with line fragments and points, but keep it inside a "normal" window with borders, a background color (i.e. not a see through window). I have gone dead in two approaches.
First attempt is to use a SystemWindow, and then draw on the canvas I presume is there somewhere. I have just not been able to figure out how to find the canvas of that SystemWindow, nor what method presumeable does the painting.
Second attempt is to use a SystemWindow, and then add (addMorph:) line and circle morphs for my diagram. But it seems something is missing in my understanding there as well.
While it is fun that I can open circles and other stuff in "world", it is not what I need.
Small hits or direct solutions more than welcome.
-- Kasper
-- View this message in context: http://forum.world.st/Old-smalltalker-is-slightly-lost-tp4191137p4191137.htm... Sent from the Pharo Smalltalk mailing list archive at Nabble.com.